LiteNet.Ru - Актуально о ПК и ПО. 2006-2019.
СТАТЬИ | НОВОСТИ | ПРОГРАММЫ | ОБРАТНАЯ СВЯЗЬ | КАРТА САЙТА
Сейчас на сайте: 11 пользователей онлайн
Обновления
Материал Установил CentOS 7 как легко и просто настроить ssh доступ? [24.03.24]
Комментарии Спасибо... [17.02.24]
Материал Форма ввода php [08.05.23]
Материал Windows 11 LTSC выйдет во второй половине 2024 года [08.05.23]
Материал Microsoft прекратит выпуск обновлений для Windows 10 [29.04.23]
Комментарии Огромный респект и... [04.10.22]
Комментарии не помогло... [10.07.22]
Комментарии не получается войт... [02.11.21]
Комментарии Да нет в редакторе... [05.10.21]
Комментарии Toshiba Tecra s11 ... [21.07.21]
Комментарии Все получилось, сп... [21.07.21]
Комментарии не сработало... [04.06.21]
Комментарии Доброго времени! У... [27.03.21]
Комментарии У меня этот метод ... [19.03.21]
Комментарии всё испробовал,не ... [17.03.21]
Материал Представлена настоящая зарядка по воздуху Xiaomi Mi Air Charge [31.01.21]
Материал Отныне для запуска WhatsApp на ПК и в браузере требуется биометрия [31.01.21]
Материал Google Chrome 88.0.4324.104 [31.01.21]
Материал Avast Free Antivirus 20.10.5824 [31.01.21]
Материал Яндекс.Браузер 20.12.3.138 [31.01.21]
Материал Maxthon 6.1.1.1000 [31.01.21]
Материал MKVToolnix 53.0.0 [31.01.21]
Материал ProduKey 1.95 [31.01.21]
Комментарии Самый лучший брауз... [17.11.20]

RSS

Последние добавленные статьи

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

Порой бывает так, что для проникновения в чужую систему, злоумышленнику вообще не приходиться искать какие-либо уязвимости в ней, т.к. поистине ценная находка его ожидает в 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:

action=”http://www.bannerz.com/cgi-bin/banneradmin.cgi”>




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

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

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

action=”http://www.bannerz.com/cgi-bin/banneradmin.cgi”>





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

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

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

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

Что еще почитать?


Оставленные комментарии:


Всего 0 комментариев


Введите Ваше имя:


Не используйте HTML и ВВ-коды - не работает. Пользуйтесь смайликами :)
Very HappySmileLaughingCoolWinkSurprised
RazzSleepSadShockedEvil or Very MadRolling Eyes

В этом поле Вы можете ввести текст комментария:


До конца всего осталось символов

Код на БОТливость: Код на БОТливость:
Введите код: