У меня есть веб-приложение, написанное на PHP. Шаблонный движок SMARTY. Мой вопрос очень прост, но ответ не должен быть таким простым, потому что я безуспешно искал его.
Когда я подключаюсь к порту 80 и запускаю следующую команду:
GET /some_directory_on_my_server/?""><SCRIPT>alert(123)</SCRIPT>
Серверы отвечают обратно HTML-страницей. Когда я сохраняю эту HTML-страницу и открываю ее в браузере, в верхней части страницы отображается предупреждение (123), что означает, что сайт уязвим для межсайтовых сценариев (XSS).
Мой вопрос: как мне получить доступ к фактическому URL , введенному пользователем, для его очистки? Когда дело доходит до санации пользовательского ввода для форм или запросов к базе данных , сценарий выглядит намного проще, потому что у вас на самом деле есть переменная, которой можно манипулировать, но в случае фактический URL , введенный пользователем в браузере, как я могу получить сам url для его очистки?
К вашему сведению, я уже прочитал все модули, которые предоставляют библиотечные функции для XSS Prevention, но ни один не дает мне пример того, как бороться с фактическим URL XSS Attack. Кстати, мой magic_quote_gpc
в моей конфигурации php уже выключен. Что мне теперь делать? Есть мысли?