Семантическая URL-атака - Semantic URL attack

В семантическая URL-атака, а клиент вручную регулирует параметры своего запроса, поддерживая URL с синтаксис но изменяя его семантический смысл. Эта атака в основном используется против CGI управляемые веб-сайты.

Аналогичная атака с участием веб-браузера печенье обычно называют отравление печеньем.

Пример

Рассмотрим веб-приложение электронной почты, в котором пользователи могут сбросить свой пароль, правильно ответив на секретный вопрос, и позволяет пользователям отправлять пароль на адрес электронной почты по своему выбору. После того, как они ответят на секретный вопрос правильно, веб-страница перейдет к следующему веб-форма где пользователи могут ввести свой альтернативный адрес электронной почты:

<форма действие="resetpassword.php" метод="ПОЛУЧАТЬ">  <Вход тип="скрытый" имя="имя пользователя" ценить="user001" />  <п>Пожалуйста, введите свой альтернативный адрес электронной почты:</п>  <Вход тип="текст" имя="altemail" /><br />  <Вход тип="Разместить" ценить="Представлять на рассмотрение" /></форма>

На принимающей странице resetpassword.php есть вся информация, необходимая для отправки пароля на новый адрес электронной почты. Скрытая переменная username содержит значение user001, которое является именем пользователя учетной записи электронной почты.

Поскольку эта веб-форма использует ПОЛУЧАТЬ data, когда пользователь отправляет [email protected] в качестве адреса электронной почты, на который пользователь хочет отправить пароль, пользователь затем переходит по следующему URL-адресу:

http://semanticurlattackexample.com/resetpassword.php?username=user001&altemail=alternative%40emailexample.com

Этот URL-адрес отображается в адресной строке браузера, поэтому пользователь может определить имя пользователя и адрес электронной почты с помощью параметров URL-адреса. Пользователь может решить украсть адрес электронной почты других людей (user002), посетив в качестве эксперимента следующий URL:

http://semanticurlattackexample.com/resetpassword.php?username=user002&altemail=alternative%40emailexample.com

Если resetpassword.php принимает эти значения, он уязвим для семантической атаки URL. Новый пароль для адреса электронной почты пользователя 002 будет сгенерирован и отправлен на адрес [email protected], что приведет к краже учетной записи электронной почты пользователя 002.

Один из методов предотвращения семантических URL-атак - использование сессия переменные.[1] Однако переменные сеанса могут быть уязвимы для других типов атак, таких как захват сеанса и межсайтовый скриптинг.

Рекомендации

Смотрите также