ALERTA: los caracteres ASCII-NUL no están permitidos dentro de las variables de solicitud

2

En un sitio de Drupal, recibo este error en el syslog de mi Debian:

  

suhosin [9413]: ALERT - No se permiten los caracteres ASCII-NUL dentro de la solicitud   variables: variable caída 'nombre' (atacante 'x.x.x.x', archivo   '/path/to/index.php')

Me pregunto si indica un ataque y, de ser así, ¿cómo evitarlo?

    
pregunta hnn 25.03.2013 - 09:06
fuente

1 respuesta

5

Esto podría ser evidencia de un intento de Poison NULL Byte Attack . PHP y Perl no usan cadenas terminadas en NULL , pero la mayoría de los sistemas subyacentes (cualquier cosa basada en C) sí lo hacen.

Esto puede llevar a una cierta clase de ataque donde el atacante construye una cadena que el programador pretende que sea imposible. Por ejemplo, si estaba usando una biblioteca de C para incluir contenido de archivos locales en una página web, en su PHP podría hacer algo como:

grabLocalFile($_GET['file_name'] . ".php");

Al agregar manualmente ".php" , puede parecer que se ofrece cierta seguridad, ya que solo se pueden incluir los nombres de archivo que terminan con .php . Sin embargo, si un atacante puede enviar una solicitud como:

example.com/index.php?file_name=/etc/passwd
grabLocalFile("/etc/passwd
str_replace(chr(0), '', $string);
.php");

El byte nulo .php será tratado como parte de la cadena por php, que termina llamando;

grabLocalFile($_GET['file_name'] . ".php");

Cuando esta cadena llegue al sistema subyacente, el byte NULO se tratará como un terminador de cadena y se ignorará el /etc/passwd . Ahora el atacante ha incluido %code% en la página web que está viendo, a pesar del intento del desarrollador de imponer la inclusión solo de los archivos que terminan en ".php"

Para mitigar este tipo de ataques, puedes eliminar el byte NULL al hacer algo como esto

example.com/index.php?file_name=/etc/passwd
grabLocalFile("/etc/passwd
str_replace(chr(0), '', $string);
.php");

En cualquier caso, parece que suhosin está configurado correctamente para defenderse contra esta clase de ataque.

    
respondido por el lynks 25.03.2013 - 12:22
fuente

Lea otras preguntas en las etiquetas