Creando aplicación Vulnerable a Os comanding

Iniciado por Oggy, Noviembre 16, 2012, 05:04:34 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 16, 2012, 05:04:34 PM Ultima modificación: Agosto 08, 2014, 09:33:08 PM por Expermicid
Segun la owasp Os comanding es:
Un comando del sistema operativo ataque de inyección se produce cuando un atacante intenta ejecutar comandos a nivel de sistema a través de una aplicación vulnerable. Las solicitudes se consideran vulnerables a los ataques de inyección de comandos OS si utilizan la entrada del usuario en un comando de nivel de sistema.

Mi imaginación no Fue la mas Genial, y pues no tenia muchas ideas para inplantar en este tema, Hací que perdon Si no fui el mas listo Creando una aplicación Vulnerable.

tenemos Un archivo en php el Cual compete de un formulario con un input De el tipo oculto, Osea este no se vera a ojos del usuario & tendra un Valor predeterminado, el cual lo que hara es resolver una Dns con el comando nslookup.
Como Dige anteriormente este comando está oculto, lo que haremos es Cambiar el comando que enviemos De dos formas.

1. Con un repetidor De Cabeceras Cambiaremos los datos pasados por Post ejecutando Código arbitrario.

esta pequeña "aplicación" Ejecutara El comando nslookup Con la funcion system de php, Luego esta pasara por parametros a el Modulo os en python que ejecuta comandos de el systema, y el parametro es "nslookup No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" & lo que haria al clickar el Boton seria Resolver las dns de Underc0de.

veamos.



Ok sin problemas.
pero que pasa si Con un repetidor de Cabeceras Cambiamos el contenido que Se envia Gracias a el input Oculto? (Hidden).


forma2.
Editando el contenido que se enviara antes de Darle click a el boton.


Espero que les haya servido para entender el funcionamiento de esta Grave vuln y pues Disculpas por las pocas Ideas que tuve para la aplicación xD...!

Códigos Usados:
test.php
Código: php
<!Doctype html>
<html>
<form action="test.php" method="post">
<input type="hidden" name="oggy" value="python test.py nslookup http://underc0de.org"/>
<input type="submit" value="Fire"/>
</form>
</html>
<?php
error_reporting(NULL);
$respuesta = system(@$_POST["oggy"]);

echo $respuesta;

?>

test.py
Código: php
import os
varsita = os.system("nslookup underc0de.org")
print varsita