- 1401 Просмотр
- Обсудить
Подмена содержимого (Content Spoofing)
Наверное, многие из читателей встречались с выражением «дефейс сайта». Так вот, дефейс – это грубая подмена содержимого. Однако это не есть самое интересное. В отличие от дефейса, следующий способ подмены не преследует цели обескуражить посетивших сайт нецензурными выражениями. Его задачи другие. Используя определенную технику подмены содержимого, злоумышленник заставляет пользователя поверить, что страницы сгенерированы веб‑сервером, а не переданы из внешнего источника. Как это происходит?
Некоторые веб‑страницы создаются с использованием динамических источников HTML‑кода. К примеру, расположение фрейма <frame src="http://foo. example/file.html"> может передаваться в следующем параметре URL:
httр://foo.example/page?frame_src=http://foo.example/file.html
Атакующий может заменить исходное значение параметра framesrc на frame_ src= http://attacker.example/spoof.html.
Когда будет отображаться результирующая страница, в строке адреса браузера пользователя начнет отображаться адрес сервера (foo.example), но на странице также будет присутствовать внешнее содержимое, загруженное с сервера атакующего (attacker.example), замаскированное под легальный контент. Получается довольно оригинальная ситуация. Пользователь может и не подозревать, что вводит секретные данные, становящиеся достоянием того, кто умело подделал оригинальную страницу. Задача злонамеренного пользователя, как вы уже догадались, сводится к тому, чтобы он перенаправился по специально созданной ссылке. Последняя в виде спама может быть прислана по электронной почте, системе моментального обмена сообщениями, опубликована на доске сообщений или открыта в браузере пользователя с применением межсайтового выполнения сценариев. В качестве примера реализации данной атаки с успехом подойдет создание ложного пресс‑релиза. Предположим, что веб‑сервер динамически генерирует фреймы на странице с пресс‑релизами компании. Когда пользователь перейдет по ссылке http://foo.exampLe/pr?pg=http://foo.exampLe/pr/01012003.htmL,в его браузер загрузится страница следующего содержания (листинг 1.7).
Листинг 1.7. Код, перенаправляющий пользователя на подложную страницу
<HTML>
<FRAMESET COLS="100, *">
<FRAME NAME="pr_menu" SRC="menu.html">
<FRAME NAME="pr_content" SRC=" http://foo.example/pr/01012003.html>
</FRAMESET>
</HTML>
Приложение pr создает страницу с меню и динамически генерируемым значением тега FRAME SRC. Фрейм pr_content отображает страницу, указанную в параметре pg HTTP‑запроса. Но поскольку атакующий изменил нормальный URL на значениеhttр://foo.example/pr?pg=http://attacker.example/spoofed press_release.html и сервер не проводит проверки параметра pg, результирующий HTML‑код будет иметь следующий вид (листинг 1.8).
Листинг 1.8. Результирующий HTML‑код
<HTML>
<FRAMESET COLS="100, *">
<FRAME NAME="pr_menu" SRC="menu.html">
<FRAME NAME="pr_content"
SRC=" http://attacker.example/spoofed_press_release.html">
</FRAMESET>
</HTML>В результате attacker.example будет выглядеть так, как будто это страница сервера foo.example.
Никто не решился оставить свой комментарий.
Будь-те первым, поделитесь мнением с остальными.
Будь-те первым, поделитесь мнением с остальными.