elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  [Duda] ReDos(Regular expression Denial of Service) que causa en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda] ReDos(Regular expression Denial of Service) que causa en PHP  (Leído 3,107 veces)
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
[Duda] ReDos(Regular expression Denial of Service) que causa en PHP
« en: 23 Diciembre 2010, 22:32 pm »

Buenas, cuando intento causar Dos en javascript mediante expresiones regulares causa un DoS
Código
  1. var a = '11111111111111111111111111111111111a';
  2. if(/^(\d+)+$/.test(a)){alert(1);}
  3.  

Pero en PHP no causa Dos y estoy tratando de reproducir lo que sirdarckcat escribió y nada
en PHP, PREG va a suspender la ejecucion despues de N iteraciones y alterara la memoria donde esta almacenada la variable de tal forma, que se borraran los ultimos 3 bytes dentro de esta.

Por defecto en PHP el limite de marcha atras es de 100,000
pcre.backtrack_limit

Código
  1. <?php
  2.  
  3. $a = str_repeat(1,16);
  4. $a .= 'a';
  5.  
  6. echo "La longitud es de ".strlen($a). "<br>";
  7. if(preg_match("/^(\d+)+$/",$a));
  8. echo "La longitud es de ".strlen($a). "<br>";
  9.  
  10. if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
  11.    echo 'Se ah exedido el limite<br>';
  12. }
  13. ?>
  14.  
Salida:
Código:
La longitud es de 17
La longitud es de 17
Se ah exedido el limite

La longitud de la variable no se artera ni nada similar...
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
sirdarckcat
Aspirante a supervillano
Moderador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: [Duda] ReDos(Regular expression Denial of Service) que causa en PHP
« Respuesta #1 en: 29 Diciembre 2010, 00:28 am »

era algo especifico de la expresion regular que hacia que php borrara esos ultimos caracteres.. habria que debugear el estado en el que se suspende otra vez.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Duda] ReDos(Regular expression Denial of Service) que causa en PHP
« Respuesta #2 en: 3 Enero 2011, 02:52 am »

Bueno algo eh leído en la documentación oficial de PCRE, de momento me conformo con lo que eh leído...

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: [Duda] ReDos(Regular expression Denial of Service) que causa en PHP
« Respuesta #3 en: 10 Enero 2011, 01:53 am »

yoya, estas leyendo algo en especial sobre el tema? tenes algo por ahi de preferencia en español?
yo estuve leyendo lo de owasp, pero es un tema jodido
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Duda] ReDos(Regular expression Denial of Service) que causa en PHP
« Respuesta #4 en: 10 Enero 2011, 22:12 pm »

http://n3t-datagrams.net/papers/reDOS-n3t-datagrams-by-SH4V.pdf

Esta en español y muy buen explicado, te recomiendo que tomes una hoja y lápiz para entenderlo.

Si tienes dudas ps posteas en este mismo POST.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Denial of Service in RegExp
Bugs y Exploits
SH4V 2 4,081 Último mensaje 13 Mayo 2010, 15:57 pm
por SH4V
[Ayuda] expression Web Error en la licencia , Microsoft expression Studio 4
Desarrollo Web
Graphixx 0 3,124 Último mensaje 21 Noviembre 2014, 20:26 pm
por Graphixx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines