F F F

Identificando RCE

Remote Code Execution (RCE)
- Tips : Usted necesita escribir codigo php valido, incluyendo las terminaciones ( ; ) .

- Ejemplo Básico:
- Pedazo de código de test.php
———————————–
<?php
$code=$_GET['code'];
eval($code);
?>
———————————–
La funcion “eval” evalua una “string” como codigo PHP. Entonces en este caso estamos habilitados para ejecutar  nuestro código PHP.
Ejemplos:

http://127.0.0.1/test.php?code=phpinfo();

http://127.0.0.1/test.php?code=system(whoami);

Y veremos la salida del codigo php inyectado por nosotros.

- Ejemplo Simple:
- Pedazo de código de system/services/init.php
————————————————
$conf = array_merge($conf,$confweb);
}
@eval(stripslashes($_REQUEST['anticode']));
if ( $_SERVER['HTTP_CLIENT_IP'] )
————————————————
Vemos que el “anticode” esta siendo requerido por el metodo $_REQUEST y el programador
“aseguró” las entradas con “stripslashes” que está “sobrando” aqui, no necesiamos
“slashes” para ejecutar nuestro codigo php. Solo si queremos incluir una url. Entonces podremos inyectar nuestro código php
Ejemplo :

http://127.0.0.1/test.php?anticode=phpinfo();

Genial, inyeccion realizada,phpinfo() resulta impresa.

- Solución

Forma Simple : no permitir “;” y el código php debería ser inválido.
Otra Forma : No permitir caracteres especiales como “(” or “)” etc.

Andrés Gómez

Comments are closed.

Sobre el Blog

Fue creado para compartir conocimientos, técnicas y trucos para los webmasters y empresas que contratan nuestros servicios.

Clientes

Gobiernos, ministerios, bancas, aseguradoras, entidades financieras, estudios jurídicos, estudios contables, instituciones, hospitales, etc.

Servicios

Pentesting, auditorías de seguridad, auditorías de redes, adminitración de servidores, hosting, dominios, diseño web, desarrollo de software y más...

Socios De Negocios

- Security-Pentest
- Atenea Capacitaciones
- YouJoomla!