Мое понимание нападений на XSS сосредоточилось на людях, входящих в злонамеренный вход через формы (постоянное нападение XSS).
Однако я пытаюсь понять не постоянный. Это как пример (очевидно, тревогой можно было заменить что-то более зловещее...),
http://localhost/MyProject/action.do?Title=<script>alert('XSS');</script>
Да, в общем, учтите, если вы вошли в систему, то эти скрипты также могут получить доступ к вашим cookies и могут отправить его куда угодно.
Это определенно уязвимость, если ничего другого, вы можете отправить ссылку с XSS-кодом, как это для кого-то.
Одна из проблем с этой ссылкой, однако, <теги>
обычно не разрешены в URL-адресах без их кодирования в первую очередь. Поэтому отправка этой ссылки по почте или ее публикация не принесет вам большой пользы.
Более реалистичной формой URL-адреса было бы ...
http://localhost/MyProject/action.do?Title=%3Cscript%3Ealert%28%27XSS%27%29%3B%3C%2Fscript%3E%
После щелчка по этому URL-адресу, веб-сервер назначения распечатывает значение Title
, и если ...
<script>alert('XSS');</script>
... будет написано как есть без экранирования HTML на страницу, то это абсолютно XSS.
У меня нет репутации, чтобы комментировать ответ Джеффа Этвуда, поэтому я не соглашусь с ним здесь. Подобную ссылку, безусловно, можно разослать по почте и использовать для эксплуатации сайтов, уязвимых для отраженного XSS. Я тестировал его с помощью Gmail и сайта, над которым я контролирую.
Возможно, кодирование выполнялось в фоновом режиме, но, тем не менее, я смог ввести ссылку, отправить ее по электронной почте, а затем щелкнуть ссылку и запустить эксплойт. Кроме того, в каждом браузере, который я пробовал, я мог напрямую вводить полезные данные без кодирования и запускать скрипт.
Так что да, этот код является «действительным XSS», и если ваш сайт запускает этот javascript, то ваш сайт уязвим для отраженной XSS-атаки.