Если текущий URL не отредактирован, вы можете быть предметом
- XSS (кража печенья, инъекция
сценарии)
- Разделение заголовка ответа
и т.д.
Если вы знаете, что текущий URL-адрес является константой и не имеет параметров, это не так рискованно. Как только вы добавляете параметры или создаете URL-адрес на основе пользовательского ввода, возникает хитрость.
Тривиальный пример XSS:
Допустим, в вашем URL-адресе может быть введена строка запроса с помощью пользовательского ввода. затем
что мешает им сказать
redirectUrl = "yoursite.jsp somevariable =?" Предупреждение ( 'вредоносных') ");
или же
redirectUrl = "yoursite.jsp somevariable =" тревога (document.cookies) ");
И кража ваших куки или выполнение другого злого сценария Java.
Расщепление ответов сложнее. По сути, если вы можете вводить CRLF, вы можете делать очень странные вещи.
Википедия имеет приличное объяснение этой уязвимости - есть и другие, которые вы можете найти, прибегнув к поиску ответов http.
Я пропустил наиболее очевидную атаку, которая заключается в том, что если пользователь может контролировать URL-адрес, по которому он может перейти на сайт, похожий на ваш, и убедить пользователя ввести кредитные карты, учетные данные и т. Д. Например, если вы являетесь банком, и кто-то может ввести
redirectURL = "http://myfakebank.com"
и копирует вашу страницу, черт возьми, пользователь с радостью скажет: «Конечно, я снова введу свои учетные данные»