8 800 550 54 53

Прием звонков: с 09:00 до 21:00 (мск).

Без выходных.

Заказать

Прием заказов:

круглосуточно.

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

Статья создана: , обновлена:

Введение

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

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

Что такое Referer?

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

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

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

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

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

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

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

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

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

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

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

<FORM name="adminF" method="GET"
action="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):

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

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

<FORM name="adminF" method="POST"
action="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):

banner.com/cgi-bin/banneradmin.cgi

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

Заключение

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

Дополнительная информация по теме

История молодых миллионеров Кэтрин и Дейва Кук

История миллионеров Кэтрин и Дейва Кук, которые на одной идеи смогли заработать миллионы на выпуске социальной сети MyYearbook.com

История развития компьютерной техники

Полная история развития компьютерной техники начиная с элементарных вычислительных машин прошлых столетий

История молодого миллионера Джошуа Дзябяка

История миллионера Джошуа Дзябяка, который смог заработать миллионы на продаже хостинга для сайтов

История Клайва Синклера - создателя ZX Spectrum

Данная статья о биографии Клайва Синклера, известного бизнесмена и разработчика одного из самых популярных персональных компьютеров ZX Spectrum

Ссылка для обмена:

Ссылка для форума:

Ссылка для сайта:

Есть вопросы, замечания, дополнения? Пишите в комментариях.
Заказать тексты для сайта (онлайн форма) - цена от 60 рублей, срок 24 часа
crach referer, banneradmin, взлом баннеров

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

Дата публикации: 2011-06-17 13:39. Последние изменения: 2016-05-20 06:42

наверх