Estoy tratando de aprender las pruebas de penetración y he descargado una aplicación vulnerable llamada "Bodgeit Store". He terminado casi todos los desafíos, excepto uno que consiste en ejecutar un ataque de secuencias de comandos entre sitios. Revisé el código fuente de la aplicación y encontré el siguiente código Java:
if (request.getMethod().equals("POST") && comments != null)
{
anticsrf = request.getParameter("anticsrf");
if (anticsrf != null && anticsrf.equals(request.getSession().getAttribute("anticsrf")))
{
// Strip script tags, because that will make everything alright...
comments = comments.replace("<script>", "");
comments = comments.replace("</script>", "");
// And double quotes, just to make sure
comments = comments.replace("\"", "");
.................
}
}
El desafío dice:
"Mostrar una ventana emergente usando:
<script>alert("XSS")</script>
"
pero mirando la fuente, encontramos que las etiquetas <script>
y </script>
son reemplazadas por caracteres nulos. Tampoco puedo realizar una solicitud GET porque el código también verifica si la solicitud es POST o no.
He intentado y he tenido éxito en la ejecución de un cuadro de alerta utilizando otros métodos como el uso de un archivo .js externo y así, pero realmente quiero descubrir cómo se podría completar este desafío. Por favor, dame algunas sugerencias sobre cómo resolver este problema.