Телефон: +7 (495) 649-0526

История взлома баннерной сети или охота на Referer

Картинка к странице

Следующая статья:

Содержание

Введение

Порой бывает так, что для проникновения в чужую систему, злоумышленнику вообще не приходиться искать какие-либо уязвимости в ней, так как поистине ценная находка его ожидает в логах собственного web сайта. Прежде чем приступить к повествованию, я хочу предупредить вас, что вся информация, представленная в этой статье, служит чисто в ознакомительных целях. Чтобы указать на возможные недоработки разработчикам web приложений. Автор не несёт никакой ответственности за использование этой информации, в целях, запрещённых Уголовным Кодексом, или какого-либо другого законодательства!!!.

Итак, всё по порядку:

Что такое Referer?

Referer – это URL (интернет адрес) страницы, с которой браузер осуществил переход на текущую страницу. Например, если имеется страница расположенная по адресу site1.com/page1.html и с помощью гиперссылки браузер с неё переходит на страницу site2.com/page2.html, то referer’ом в данном случае окажется адрес первой страницы (site1.com/page1.html).

Зачем нужен referer?

Referer широко используется в системах для подсчёта статистики. Для того, чтобы администратор web сайта мог следить за количеством посетителей, пришедших на его ресурс с того или иного сайта (и/или страницы). Когда referer может быть опасным? Он может быть опасен в тех случаях, когда адрес ссылающейся страницы на сайте содержит в себе критическую информацию, то есть, пароли, хэши паролей, сессии (словом – всё то, что может облегчить жизнь потенциальному взломщику)…

Пример опасного referer’а: http://www.bannerz.com/cgi-bin/banneradmin.cgi?login=admin&passwd=qwerty&url=http://abc.tsi.lv

История взлома баннерной системы

Всё началось с того, что в один прекрасный день (или вечер, уже точно не помню), Вася Пупкин, для привлечения новых посетителей на свой сайт, решил установить баннер. Для достижения намеченной цели, Вася выбрал подходящую баннерную сеть, зарегистрировался, разместил там надлежащим образом свой баннер и добавил код системы на свой сайт. Убедившись, что всё работает как надо, он со спокойной душой продолжил играть в Half-Life 2 =).

Как говорят в таких случаях – «долго ли, коротко ли», но при проверке статистики на следующий день Васю ждал приятный сюрприз. Оказывается пока он спал, на сайт заходил администратор баннерной системы, а самое главное, что в статистике от этого посещения остался «реферер» следующего вида:

http://www.bannerz.com/cgi-bin/banneradmin.cgi?login=admin&passwd=qwerty&url=http://abc.tsi.lv

В данной строке отчётливо виднелся как логин, так и пароль администратора системы! А что ещё нужно было нашему герою для «незначительного» увеличения количества показов своего баннера и других манипуляций с системой?! Правильно - ничего! Вот таким образом и была взломана баннерная сеть.

Как избежать этой ошибки при написании сценариев?

Первое. Для того, чтобы важные данные не попадали в строку адреса, а соответственно и в поле referer, рекомендуется отсылать их с помощью HTTP метода POST, а не GET. Вот примеры «иллюстрирующие» отличия методов GET и POSTHTML форма отсылаемая методом GET:

<FORM name="adminF" method="GET" action="http://www.bannerz.com/cgi-bin/banneradmin.cgi">
<input type="hidden" name="login" value="admin">
<input type="hidden" name="passwd" value="qwerty">
<input type="hidden" name="url" value="http://abc.tsi.lv/">
</FORM>

URL формирующийся в строке браузера после отсылки формы (GET):

http://www.bannerz.com/cgi-bin/banneradmin.cgi?login=admin&passwd=qwerty&url=http://abc.tsi.lv

HTML форма отсылаемая методом POST:

<FORM name="adminF" method="POST"
action="http://www.bannerz.com/cgi-bin/banneradmin.cgi">
<input type="hidden" name="login" value="admin">
<input type="hidden" name="passwd" value="qwerty">
<input type="hidden" name="url" value="http://abc.tsi.lv/">
</FORM>

URL формирующийся в строке браузера после отсылки формы (POST):

http://www.bannerz.com/cgi-bin/banneradmin.cgi

Разница очевидна!

Заключение

И в заключение хочу посоветовать всем программистам web сценариев быть более бдительными при разработке своих проектов. И не допускать критическим данным «просачиваться» в адресную строку. Ведь, referer не является единственным способом получения адресов из строки браузера. Ещё существует массив history, который содержит информацию обо всех ресурсах, к которым пользователь обращался во время текущего сеанса работы с браузером. Но это уже тема отдельной статьи. Поэтому на этом я с вами прощаюсь. До встречи! Пока!

Видео: «Собаки в ресторане»

Занимательное и юмористическое видео с домашними питомцами, собаками, как они ходили в ресторан

Собаки в ресторане
Интересное в интернете: уничтожение тараканов

Статья: История взлома баннерной сети или охота на Referer

Раздел: Безопасность в Интернет

Сайт: SD Company » Все разделы статей

Последнее изменение: 2011.12.25 в 12:16

Теги: crach referer, banneradmin, взлом баннеров, безопасность, интернет

Следующая статья:

История молодых миллионеров Кэтрин и Дейва Кук
История молодых миллионеров Кэтрин и Дейва Кук
История миллионеров Кэтрин и Дейва Кук, которые на одной идеи смогли заработать миллионы всего лишь изобретя одну деталь
История развития компьютерной техники
История развития компьютерной техники
Полная история развития компьютерной техники начиная с элементарных вычислительных машин прошлых столетий
История молодого миллионера Джошуа Дзябяка
История молодого миллионера Джошуа Дзябяка
История миллионера Джошуа Дзябяка, который на одной идеи смог заработать миллионы на обычном деле для всех сеошников как хостинг
История Клайва Синклера - создателя ZX Spectrum
История Клайва Синклера - создателя ZX Spectrum
Данная статья о биографии Клайва Синклера, известного бизнесмена и разработчика одного из самых популярных персональных компьютеров ZX Spectrum
История молодого миллионера Майкла Фурдыка
История молодого миллионера Майкла Фурдыка
История миллионера Майкла Фурдыка, который на одной идеи смог заработать миллионы на обычном сайте, где писал о компьютерах
История молодого миллионера Милана Тешовича
История молодого миллионера Милана Тешовича
История миллионера Милана Тешовича, который на одной идеи смог заработать миллионы на обычном музыкальном сайте
История молодого миллионера Джэйми Мюррей Уэллса
История молодого миллионера Джэйми Мюррей Уэллса
История миллионера Джэйми Мюррей Уэллса, который на одной идеи смог заработать миллионы на предметах которыми мы пользуемся каждый день