История взлома баннерной сети или охота на referer’ы
История взлома баннерной сети или охота на referer’ы
Автор: Михаил Чернов
http://www.abc-it.lv/
Порой бывает так, что для проникновения в чужую систему, злоумышленнику вообще не приходиться искать какие-либо уязвимости в ней, т. к. поистине ценная находка его ожидает в log`ах собственного веб-сайта. Прежде чем приступить к повествованию, я хочу предупредить вас, что вся информация, представленная в этой статье, служит чисто в ознакомительных целях. Чтобы указать на возможные недоработки разработчикам web-приложений. Автор не несёт никакой ответственности за использование этой информации, в целях, запрещённых Уголовным Кодексом, или какого-либо другого законодательства!!!.
Итак, всё по порядку:
Что такое referer?
referer — это url (интернет адрес) страницы, с которой браузер осуществил переход на текущую страницу. Например, если имеется страница расположенная по адресу "http://www.site1.com/page1.html " и с помощью гиперссылки браузер с неё переходит на страницу "http://www.site2.com/page2.html", то referer’ом в данном случае окажется адрес первой страницы (http://www.site1.com/page1.html).
Зачем нужен referer?
referer широко используется в системах для подсчёта статистики. Для того, чтобы администратор веб-сайта мог следить за количеством посетителей, пришедших на его ресурс с того или иного сайта (и/или страницы). Когда 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 В данной строке отчётливо виднелся как логин, так и пароль администратора системы! А что ещё нужно было нашему герою для «незначительного» увеличения количества показов своего баннера и других манипуляций с системой?! Правильно — ничего! Вот таким образом и была взломана баннерная сеть.
Как избежать этой ошибки при написании сценариев?
1) Для того, чтобы важные данные не попадали в строку адреса, а соответственно и в поле referer, рекомендуется отсылать их с помощью http метода post, а не get.
Вот примеры «иллюстрирующие» отличия методов get и post
html форма отсылаемая методом 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
Разница очевидна!
Заключение
И в заключение хочу посоветовать всем программистам веб-сценариев быть более бдительными при разработке своих проектов. И не допускать критическим данным «просачиваться» в адресную строку. Ведь, referer не является единственным способом получения адресов из строки браузера. Ещё существует массив history, который содержит информацию обо всех ресурсах, к которым пользователь обращался во время текущего сеанса работы с браузером. Но это уже тема отдельной статьи. Поэтому на этом я с вами прощаюсь. До встречи! Пока!
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
14.9. Определение взлома
14.9. Определение взлома Для эффективной защиты сервера очень важно вовремя определить, что сервер был взломан. Чем раньше вы узнаете о проникновении в систему хакера, тем скорее сможете отреагировать и предотвратить печальные последствия. Помните, взломы бывают всегда и
Действия при обнаружении факта взлома системы
Действия при обнаружении факта взлома системы При выявлении факта вторжения в систему рекомендуется выполнить следующие действия.• Отключить компьютер от сети. Компьютер, который подвергся атаке, может представлять собой угрозу для других узлов. Если на этом
19.2 История WWW
19.2 История WWW Идея WWW возникла среди физиков. Теоретические основы были заложены Тимом Бернерс-Ли (Tim Berners-Lee) из швейцарского центра физических исследований
Как защитить компьютер от взлома техническими средствами
Как защитить компьютер от взлома техническими средствами Надо сказать, что сами хакеры признают: взлом техническими средствами часто бывает затруднителен. Это связано с тем обстоятельством, что производители программного обеспечения и «железа» непрерывно отслеживают
Охота на рекламодателя
Охота на рекламодателя Этот способ заработка подойдет для коммуникабельных и изобретательных блогеров, уже имеющих определенную популярность. Суть метода заключается в следующем: блогер сам активно ищет рекламодателей для своего блога, предлагает пути и форматы
История создания книги, «плюсы» и «минусы» покупок в сети
История создания книги, «плюсы» и «минусы» покупок в сети Долгое время я делала покупки только в российских интернет-магазинах, сначала стала покупать вещи, книги, диски, в России прошлась по детским отделам, по магазинам с товарами для дома, спортивным маркетам, по
История
История История CVS началась с нескольких скриптов, написанных Диком Грюном (Dick Grune) в декабре 1986 года. Хотя, пожалуй, ни строчки оригинального кода не сохранилось, довольно большая часть алгоритма разрешения конфликтов восходит к тому времени. В апреле 1989 Брайн Берлинер
Охота на лис
Охота на лис Исходный файл: Huntafoxfa Одна из самых устойчиво популярных долгие годы игр – "Охота на оленей". В этой игре вы часами сидите, наблюдая пейзаж, пока не покажется олень, которого можно будет застрелить. Несмотря на то, что продано миллионы копий этой игры, она
Использовать программы обнаружения взлома
Использовать программы обнаружения взлома Программы-детекторы не могут со 100-процентной вероятностью обнаруживать взломщика, но они являются хорошим началом. Программы-детекторы могут дать вам лучшее представление о масштабе угрозы, с которой вы столкнулись. В течение
Мыслеобмен и охота к перемене мест Василий Щепетнёв
Мыслеобмен и охота к перемене мест Василий Щепетнёв Опубликовано 18 августа 2013 Железнодорожное сообщение между Санкт-Петербургом и Москвой намеревались установить и раньше, но эксперты в области внутренних дел настойчиво отговаривали государя.
Как хакеры используют QR-коды для взлома систем Олег Нечай
Как хакеры используют QR-коды для взлома систем Олег Нечай Опубликовано 31 марта 2014 В последние годы двумерные (матричные) QR-коды (от английского Quick Response, то есть «быстрый отклик») получили самое широкое распространение: их нередко используют в
Охота на таланты, или Одинокий бамбук посреди пустыни Василий Щепетнёв
Охота на таланты, или Одинокий бамбук посреди пустыни Василий Щепетнёв Опубликовано 12 апреля 2013 Удивительно, но за всё время пребывания в школе, да и институте, я ни разу не столкнулся с вербовщиками. Только читал, что открылась-де в тридевятом
Получение пароля BBS без взлома
Получение пароля BBS без взлома Рассмотренные выше способы взлома BBS предполагают наличие у пользователя базовых знаний о системе. Теперь немного о том, как можно достать пароль еще проще. Практически на каждой BBS существуют неопытные пользователи, имеющие высокий уровень
Охота на инопланетные баги: почему космические компьютеры непохожи на обычные Олег Парамонов
Охота на инопланетные баги: почему космические компьютеры непохожи на обычные Олег Парамонов Опубликовано 28 марта 2013Как сделать компьютер, который способен работать десятилетиями без техобслуживания и апгрейда? Это не праздный вопрос. Если в космическом аппарате,