Разговорчивый осел Докучаев Дмитрий aka Forb Хакер, номер #080, стр. 080-048-1 (forb@real.xakep.ru) Узнай, что ты рассказываешь о себе, работая в Сети Проблема анонимности возникла вместе с появлением Сети и год от года становиться все более актуальной. Куча людей платят увесистые суммы за свежие прокси-листы, доступ к VPN-шлюзам и очень сильно запариваются над собственной анонимностью. Однако они даже и не догадываются, что существует множество несложных приемов, позволяющих получить доступ к информации, которую они так тщательно скрывают. Узнать реальный IP, параметры компьютера, месторасположение пользователя, используемый proxy, — никаких проблем! Сейчас я научу тебя основам электронного шпионажа. [большой брат] Методы защиты от посторонних глаз бывают разными. Самый примитивный способ – использовать при работе в Сети proxy-сервера. Однако ни для кого не секрет, что не все проксики обеспечивают своим клиентам анонимность. Некоторые из них светят реальный IP в директиве X_FORWARDED_FOR, другие пишут подробные логи, которые по первому запросу из МВД попадут на стол к Петру Васильевичу с тремя звездочками на погонах. На практике оказывается, что все сервера, информация о которых публично доступна, — настоящее палево и пользоваться ими не следует. Конечно, вместо левого проксика можно заюзать быстрый сокс, поднять туннель или VPN. Однако даже сидя под тремя VPN-соединениями, взломщика можно вычислить. Делается это с применением технологий web-шпионажа. Ты никогда не посещал ресурсы, где тебе предлагают провериться на анонимность? Уверен, что посещал. Подобные технологии позволят узнать, насколько совершенна твоя безопасность. И обычно после тестирования пользователь видит большие изъяны в анонимности. Настало время поговорить о работе подобных скриптов тестирования. [коварные переменные] Почти все браузеры при обращении к web-сервису передают в запросе массу любопытной информации о клиенте, которая имеет посредственное отношение к запрашиваемому документу. В самом деле, абсолютно все современные обозреватели, помимо обязательных полей, определяемых спецификацией HTTP, передают кучу необязательных данных в полях вроде REMOTE_ADDR и HTTP_USER_AGENT. Разумеется, если для web-серфинга ты используешь telnet.exe, то никаких проблем перед тобой не стоит: GET /file.html и никакого палева. А вот если ты предпочитаешь IE, то стоит задуматься над проблемой. Ведь передаваемая web-серверу информация может быть проигнорирована, а может быть и записана в лог-файл, генерируемый специальным сценарием. Скрипт может вызываться как через SSI, так и любым другим способом. В шпионском сценарии не будет замороченного кода, он просто запишет важные сведения о клиенте. Например, таким образом: [шпионский код для создания логов] #!/usr/bin/perl print "Content-type: text/html\n\n"; open(LOG, ">>/var/log/clients"); print LOG "Client: $ENV{REMOTE_ADDR}, $ENV{HTTP_USER_AGENT}, $ENV{HTTP_REFERER}\n"; print LOG "Proxy: $ENV{HTTP_FORWARDED_FOR} $ENV{HTTP_VIA}\n"; close(LOG); Что делает этот сценарий? В первой его части происходит логирование базовых переменных окружения: IP-адреса клиента, информации о браузере, а также URL’а, откуда посетитель пришел на данную страницу. Казалось бы, что тут такого? На самом деле, с помощью подобного журналирования можно узнать массу полезной информации о пользователе. В частности, по такому логу можно легко определить, из какой страны юзер и какая у него операционная система. Не веришь? Зря, приятель. При составлении запроса твой браузер записывает в поле User-Agent строку следующего вида: |