Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #80, АВГУСТ 2005 г.

Разговорчивый осел

Докучаев Дмитрий aka Forb

Хакер, номер #080, стр. 080-048-2


Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)

Легко видеть, что данном случае у пользователя установлена WinXP, а также шестой IE. Помимо этого в строке агента отчетливо виден русский язык. Если какой-нибудь кардер с подобным HTTP_USER_AGENT’ом попробует провести незаконную транзакцию, то он будет легко вычислен антифродом.

Смотрим далее. Переменная HTTP_REFERER так же может выдать взломщика с потрохами. Если скрипт залогирует, что якобы американский кардхолдер зашел в инет-магазин с сайта mail.ru, то у службы безопасности е-шопа возникнет очень много вопросов.

И, наконец, пришло время поговорить об IP-адресе. Если юзер будет использовать прокси, то в переменную REMOTE_ADDR запишется айпишник проксика. Но не стоит радоваться раньше времени. Способы обнаружения прокси-серверов есть и активно применяются на многих порталах (например, на том же Яндексе).

Обрати внимание на шестую строчку скрипта, который я приводил выше. Там записываются две переменные: X_FORWARDED_FOR и HTTP_VIA. В случае, если пользователь юзает обычный прокси-сервер, в первой переменной находится его родной IP-адрес, а во второй – айпишник и порт, на котором расположен проксик. Причем даже в случае полной анонимности прокси-сервера, переменная HTTP_VIA может быть не пустой. Очень важно проверить это, прежде чем использовать proxy в незаконных целях. Некоторые электронные ресурсы просто не обслуживают клиентов, которые посещают сайт через прокси.

[javascript – враг народа]

Ты никогда не задумывался, почему многие пользователи не доверяют JavaScript-приложениям и выключают поддержку этой технологии в своих браузерах? На самом деле с помощью JavaScript можно утащить некоторые конфиденциальные сведения о машине пользователя. Я расскажу, например, о том, как узнать максимальное и текущее разрешение экрана, время, а также тип процессора:

<script language="javascript">

document.write ("You are using: " + navigator.appName)

document.write ("CPU type: " + navigator.cpuClass)

document.write ("Screen Resolution: " + screen.width + "x" + screen.height)

document.write ("Available Screen Resolution: " + screen.availWidth + "x" + screen.availHeight)

document.write ("Screen Color Depth: " + screen.colorDepth)

today = new Date()

document.writeln("Date & time on your computer and time zone is: " + today)

document.writeln("Date & time in your locale format: " + today.toLocaleString())

</script>

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

Назад на стр. 080-048-1  Содержание  Вперед на стр. 080-048-3