Hago por ejemplo 950 peticiones en 1 segundo:
google.com/
google.com/admin
google.com/about
google.com/login
....
Recibo las respuestas, pero no sé a que petición corresponde cada petición.
Con xhr.responseUrl me retorna siempre undefined.
Mirando las cabeceras de respuesta no saco ninguna útil, solo el dominio tls sin directorio.
Si analizo la respuesta, no en todas queda claro de que ruta proceden.
Mi objetivo es listar todos los directorios con respuesta 200, pero no lo consigo.
Código
function Leer() { /* for (var i =0; i < dominios.length; ++i) alert */ req.url = dominios[0].value; alert("Url a buscar\n" + req.url); HacerPeticiones(); /* for (i =0; i < diccionarios.length; ++i) alert (diccionarios[i].value); */ } function ObtenerDiccionario() { req.url = "https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/general/common.txt"; alert("Obteniendo diccionario de\n" + req.url); HacerPeticiones(1); } function HacerPeticiones(retornar) { req.method = "GET"; req.statusCode = 200; request(req); function request(obj) { var url = "https://cors-anywhere.herokuapp.com/" + obj.url; var xhr = new XMLHttpRequest(); xhr.open(obj.method, url, true); xhr.onreadystatechange = function() { alert(xhr.responseUrl); if (xhr.readyState == 4) { alert(xhr.status); if (xhr.status == obj.statusCode) { if (retornar) { dictUrls = xhr.responseText; alert("Obtenidas las siguientes palabras del diccionario\n" + dictUrls); dictUrls = dictUrls.replace(/(\r\n|\n|\r)/gm, " "); alert("Eliminados los espacios de las palabras del diccionario\n" + dictUrls); dictUrls = dictUrls.split(" "); alert("Obteniendo las palabras en un contendor\n" + dictUrls); Leer(); } else { /* urlFound */ /* alert("Urls válida\n" + xhr.responseText); */ alert(xhr.getAllResponseHeaders()); masiveReq(); } } } } xhr.send(); } } function masiveReq() { while(!dictUrls.length) { } alert("Realizando " + dictUrls.length + " peticiones"); var baseUrl = dominios[0].value + "/"; for (var i = 0; i < dictUrls.length; ++i) { req.url = baseUrl + dictUrls[i]; /*alert("Haciendo petición a\n" + req.url);*/ HacerPeticiones(); if (i == (dictUrls.length-1)) alert("Realizando última petición"); } alert(urlFound); }