Как можно использовать эту уязвимость XSS? - PullRequest
0 голосов
/ 11 октября 2019

Я изучаю XSS-атаки и способы их предотвращения.

Я уже знаю, что должен следовать шпаргалке OWASP XSS Prevention - я согласен и не хочу задавать вопросы по этому поводу.

Что я действительно хочу понять, так это то, как можно использовать уязвимость XSS.

Например, учитывая следующий код:

<script>
    var param = "{{unsecure_data}}";
</script>

Тогда, если

unsecure_data = "; alert('xss'); var x = "

, предыдущий сценарий становится

<script>
    var param = ""; alert('xss'); var x = "";
</script>

и предупреждение('xss') выполняется;

Но если у меня есть следующий код:

// throw exception if validated_data contains the character " (double quote)
validate(validated_data); 

<script>
    var param = "{{validated_data}}";
</script>

, где моя логика проверки гарантирует, что validated_data не может иметь символ "(двойная кавычка) внутри него,

тогда как этот код может быть взломан?

РЕДАКТИРОВАТЬ: как показывает Габор, код может быть взломан с использованием

validated_data = </script><script>alert(1)</script>

Но если я улучшу логику проверки доубедитесь, что на вводе нет символов <или>?

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...