Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: Castg! en 3 Febrero 2010, 23:21 pm



Título: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 3 Febrero 2010, 23:21 pm
bueno, hace ya unos dias estoy tratando de pensar como carajo sdc encontro la vulnerabilidad xss en la expresion regular de smf:
Código
  1. $data = preg_replace(array('~(?<=[\s>\.(;\'"]|^)((?:http|https|ftp|ftps)://[\w\-_%@:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:/[\w\-_\~%\.@,\?&;=#+:\'\\\\]*|[\(\{][\w\-_\~%\.@,\?&;=#(){}+:\'\\\\]*)*[/\w\-_\~%@\?;=#}\\\\]?)~i', '~(?<=[\s>(\'<]|^)(www(?:\.[\w\-_]+)+(?::\d+)?(?:/[\w\-_\~%\.@,\?&;=#+:\'\\\\]*|[\(\{][\w\-_\~%\.@,\?&;=#(){}+:\'\\\\]*)*[/\w\-_\~%@\?;=#}\\\\])~i'), array('[url]$1[/url]', '[url=http://$1]$1[/url]'), $data);

estuve primero averiguando sobre expresiones regulares obvio xD! y una base se, ahora esto ya es avanzado.. pero como lo hiciste!?!?!?


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: kamsky en 4 Febrero 2010, 00:14 am
no se muy bien a que vulnerabilidad te refieres, pero a mi se me ocurre  que una posible forma de explotar patrones o expr. regulares es introducir una cadena que haga que él patrón siempre se cumpla de forma que se entre en una especie de bucle infinito y se pete el asunto


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 4 Febrero 2010, 00:33 am
apa!! como es eso? que siemple se cumpla? como seria?? esa cadena que puse anteriormente es de un bug de smf, se hizo una competencia de "Hackea a elhacker.net". no se si te acordas...


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: WHK en 4 Febrero 2010, 09:09 am
eso se llama ReDoS (Regular Denial of Service)
por ahi anda un tuto, mañana lo busco que ya me voy a dormir :P


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 4 Febrero 2010, 17:34 pm
jajajaj oka, pero deja yaq con el nombre yo lo busco...


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: isseu en 4 Febrero 2010, 17:42 pm
pero tengo entendido que redos causa un dos ¿o no? y lo que quieren causar es un xss
(paper redos http://www.checkmarx.com/CxDownloadRequest.aspx?id=9 (http://www.checkmarx.com/CxDownloadRequest.aspx?id=9))


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 4 Febrero 2010, 17:53 pm
haciendo un redos, se descuaranguija todo pudiendo despues inyectar comillas :D


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: isseu en 4 Febrero 2010, 17:57 pm
descuaranguija?? jejeje q palabra tran tecnica
ok ya entendi


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 4 Febrero 2010, 18:21 pm
jejeje pasa que dije que lobuscaba, pero no lo encuentro xD! pero hay uno por el foro???


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: tragantras en 4 Febrero 2010, 21:26 pm
un redos segun tengo entendido es algo así como que el tiempo de cómputo para determinar si la expresion es "valida" excede unos límites razonables, dándose por váilida la cadena entera, permitiendose así la inyección de caracteres especiales



segun entendí cuando lo pusieron por aqui... xD


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: WHK en 5 Febrero 2010, 18:03 pm
Lo que pasa es que php tiene un sistema de protección que cuando intentas causar una denegación de servicio atraves de una expresión regular entonces lo detiene y como se detiene retorna el valor no filtrado.

http://www.checkmarx.com/Upload/Documents/PDF/Checkmarx_OWASP_IL_2009_ReDoS.pdf



Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: Castg! en 5 Febrero 2010, 20:00 pm
Gracias!!!! un saludo grande whk!


Título: Re: Vulnerabilidades en Expresiones Regulares, ¿cómo?
Publicado por: sirdarckcat en 8 Febrero 2010, 02:24 am
Citar
descuaranguija
;-)