Otra vez PHP-NUKE..

Escrito el 27 febrero, 2001 – 3:47 | por storm | 1.313 lecturas

Aunque no lo crean, otra vulnerabilidad en PHP-NUKE ha sido descubierta,
el famoso programa para hacer sitios web hecho integramente en este lenguaje.

Este bug, tambien nos permite entre tantas otras cosas ver el /etc/passwd o
bien cambiar el password del administrador (de PHP-NUKE), de esta forma,
con un poco de creatividad podemos correr comandos con el privilegio de
quien este corriendo el webserver.

FIX: la version 4.4.1 de PHP-NUKE ya esta disponible, la cual arregla el
problema. (‘supuestamente’)

URL: http://www.phpnuke.org/download.php?op=mydown&did=1

El problema en si, es que PHP en algunas funciones, ignora todo lo que
venga detras de un caracter nulo.
El PHP-NUKE no filtra estos caracteres, de esta manera, vemos en el codigo
que es vulnerable:


if ($user) {
$user = base64_decode($user);
$userdata = explode(":", $user);
}

if ($userdata[9] != '') $themes = "themes/$userdata[9]/theme.php";
else $themes = "themes/$Default_Theme/theme.php";

include ("$themes");

Simple forma de ver el /etc/passwd en una version vulnerable:


/bin/echo -e
"1:1:1:1:1:1:1:1:1:../../../../../etc/passwd

Conclusiones

El Hook es un metodo elegante para validar documentos, alcanza con incluir el tag Hook al comienzo de los mismos
y los programas "Hook enabled" pueden usarlo para determinar la validez del documento. El lenguaje permite construir
validadores sencillos ya que las reglas son faciles de entender para una maquina. Una iniciativa interesante.

Referencias: The Hook
(cache)

Copyright (C) 2001 Rick Jelliffe. The name Hook comes from a supposed hook shape of drawing this on a parse tree tracing previous-sibling then up the descendents.

You must be logged in to post a comment.

Buscar: