Я делаю XSS-тест и у меня уже есть работающее решение JS, однако я немного ошибаюсь в том, как нужно правильно кодировать и экранировать скрипты для корректной работы в браузерах.
Предположим, я обнаружил уязвимость, в которой XSS
должен быть заменен JS кодом:
http://vulnerablewebsite.net/?search=<script>XSS</script>
Очевидно, что простой <script>alert(1);<script>
будет работать нормально. Но как насчет более сложного сценария, такого как:
var url = document.body.outerHTML.match(/http:\/\/blabla\.net\/\?token=([a-zA-Z]|[0-9])*/)[0];
var request = new XMLHttpRequest();
request.open("GET", url);
request.setRequestHeader("X-Test","test1");
Я понимаю, что "
и '
необходимо экранировать, чтобы не столкнуться с синтаксической ошибкой PHP, а как с символами новой строки , пробелы et c.?