elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:39  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  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 994 veces)
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



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

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

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
<?php
 
$a = str_repeat(1,16);
$a .= 'a';
 
echo "La longitud es de ".strlen($a). "<br>";
if(preg_match("/^(\d+)+$/",$a));
echo "La longitud es de ".strlen($a). "<br>";
 
if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
   echo 'Se ah exedido el limite<br>';
}
?>
 
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

sirdarckcat
Troll Buena Onda y
Moderador
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


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

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: 954



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

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

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.187



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

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: 954



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

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Denial Of Service, Como?
Hacking Básico
elvaAgoO 3 1,510 Último mensaje 7 Febrero 2004, 01:52
por Azielito
Emule 0.42e Denial of Service
Bugs y Exploits
Rojodos 13 1,481 Último mensaje 27 Junio 2004, 12:51
por gachon
Denial of Service
Hacking Avanzado
Gangrel 5 1,773 Último mensaje 29 Septiembre 2005, 21:16
por -sagitari-
Sendmail Denial of Service (> 8.9.2)
Bugs y Exploits
mousehack 0 667 Último mensaje 25 Noviembre 2005, 16:55
por mousehack
Firefox 1.5.0.2 Denial of Service...
Bugs y Exploits
mousehack 4 1,833 Último mensaje 26 Abril 2006, 19:07
por el-brujo
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines