Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: Shell Root en 19 Marzo 2010, 00:01 am



Título: Pequeña duda con ReDoS!
Publicado por: Shell Root en 19 Marzo 2010, 00:01 am
Bueno, mirando el documento que dejo WHK (Que por cierto, hago sino soñar con él, pero nada de sueño gays! =P), sobre Regular Expression Denial of Service (Que raro en Expresion tengo la E en mayuscula y la muestra en minuscula, que raro.). Continuando con mi pregunta, no logro entender bien como seria la denegacion de servicio, para que el retorno de los datos, sea el valor no filtrado por la expresion regular!.

Alguien que tenga un ejemplo de como seria esa denegación de servicio?

Saludos!


Título: Re: Pequeña duda con ReDoS!
Publicado por: Ca0s en 19 Marzo 2010, 00:55 am
Estaba esperando a que alguien que supiese mas contestase y asi resolvia mis dudas de paso XD
A ver, por lo que tengo entendido (vagamente y posiblemente con algun error):
El fallo se provoca porque el motor de expresiones regulares chequea de una forma "recursiva" (va buscando coincidencias caracter a caracter en todas las posibles combinaciones, no?). Entonces si se le mete una cadena muyyyy larga, el motor tarda demasiado en poder probar todas ellas (se elevan de forma exponencial, por una explicacion de SDC que vi por el foro un dia). Se le mete una cadena larga, que sea valida entera menos al final (ahí puede ser que me columpie?) y el motor empieza a currar. Luego si tarda demasiado, finalmente el script pasa de seguir probando y devuelve el valor como si hubiese pasado el test.
¿Estoy en lo correcto? Esa es la idea de ReDos que tenía después de leer la presentacion que puso WHK y los comentarios de la gente, pero de ahí no paso.
A ver si alguien que lo comprenda mejor nos puede aclarar un poco U.U