Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 64187
Модуль Forms 63914
Пример работы с... 60877
ТЕХНОЛОГИИ ДОСТ... 60786
Имитационное мо... 56312
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,080
новичок: setan
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы ЭВМ на GPSS + Пояснительная записка
Моделирование процесса обеспечивающего надежность функционирования АСУ Т...
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
IP адрес, его определение и скрытие
IP адрес, его определение и скрытие.

Как известно, Internet основана на семействе протоколов tcp/ip, определяющих,
каким образом осуществляется взаимодействие между подключенными к сети
компьютерами. Идентификация этих компьютеров осуществляется с помощью так
называемых IP-адресов, каждый из которых представляет собой уникальный 32-битный
идентификатор, обычно записываемый в виде четырех десятичных чисел, напрмер,
192.168.0.1. И с точки зрения адресации сервер, обрабатывающий ежесекундно
тысячи запросов практически ничем не отличается от вашего компьютера,
подключаемого к сети по dial-up. Единственная разница - домашний пользователь,
как правило, получает так называемый динамический ip-адрес, меняющийся от
подключения к подключению.


В то время как адрес сервера должен быть
доступен всем клиентам, желающим воспользоваться его услугами, клиент вовсе не
обязан афишировать свой адрес на каждом углу. Более того, обнародование
ip-адреса может привести к весьма серьезным последствиям.


Что можно сделать с человеком, зная его
ip-адрес ? Ну, например, если на его машине с Windows'95 живет NetBIOS over IP,
и разделены для доступа по сети, да еще и без паролей, некоторые диски, то
довольно много :) (для заинтересовавшихся - помочь здесь могут nbtstat, lmhosts
и net use). Правда это не слишком часто встречается у dial-up пользователей.
Другой пример - в прошлом году были найдены дыры в IE и NN, позволяющие получить
доступ к файлам клиента. Дырки те, правда, уже прикрыли, но кто знает, сколько
их еще осталось.


До сих пор пользуются популярностью в
определенных кругах программы, объединяемые общим названием (восходящего к
первой программе этого класса - Winnuke), которые осуществляют атаки типа Denial
of Service, приводящие к зависанию или отключению от сети атакуемого компьютера.


Нежно любимая миллионами пользователей ICQ (http://www.icq.com)
тоже оказалась не без греха. На странице Fyodor's Exploit world (http://www.dhp.com/~fyodor/sploits.html)
помимо прочего приведена информация о слабостях ICQ-шного протокола (http://www.dhp.com/~fyodor/sploits/icq.spoof.overflow.seq.html),
которые уже позволили создать многочисленные программы, делающие жизнь
пользователя ICQ не слишком пресной. Так, например, на странице ICQ Snoofer Team
(http://const.ricor.ru/~icq/) предлагается опробовать программу, позволяющую
слать сообщения по ICQ с чужого UIN. Snoofer существует в двух вариантах - в
виде скрипта, доступного со страницы, и в виде программы, которую обещают
рассылать по почте. Для его использования достаточно знать ip-адрес адресата,
номер порта, на котором висит ICQ, и UIN отправителя. Инструкция прилагается.


Впрочем, все эти веселые программы пригодны в
основном для деструктивной деятельности, особого смысла в которой я не вижу
(кстати, запущенное на нашем сервере голосование по поводу "нюков" показало, что
большинство посетителей со мной солидарно).


Посмотрим, какие действия можно предпринять
для определения и скрытия ip-адреса.


Абсолютных рецептов конечно не существует,
можно говорить лишь о наиболее распространенных случаях. Вообще говоря, ваш
IP-адрес может засветиться в огромном количестве мест. Другое дело - как его
потом оттуда вытащить. Скажем, ваш любимый броузер при заходе на любую страницу
сообщает о себе достоточно много информации.


В качестве простой демонстрации приведу скрипт
на Perl'е, выводящий основную информацию о посетителе страницы:


Листинг 1. showuser.pl


#!/usr/bin/perl

print ("Content-type: text/html\n\n");

@ee=(

"CHARSET",

"HTTP_USER_AGENT",

"HTTP_REFERER",

"REMOTE_ADDR",

"REMOTE_HOST"

);

foreach $e(@ee)

{

print "$e: $ENV{$e}

\n";

}


Вообще-то это самый безобидный случай
обнародования ip-адреса (разве что если допустить злой умысел веб-мастера,
установившего скрипт, атакующий посетителя, но вероятность целенаправленной
атаки ничтожно мала).


IP-адрес отправителя можно вытащить из
заголовка полученной электронной почты (Скорее всего, он будет лежать в
последнем поле Received:, в отличие от поля From: его подделать чуть сложнее).
Если у вас динамически выделяемый адрес, то подобная ситуация не слишком опасна.
Хуже, если адрес постоянный, что, правда, встречается пореже.


Самыми опасными с точки зрения обнародования
ip-адреса оказываются всевозможные системы для интерактивного общения - IRC
(командой /whois), InternetPhone, ICQ и т.д. Справедливости ради надо заметить,
что некоторые из них пытаются прикрыть адрес пользователя (скажем, в MS Comic
Chat показывается только часть адреса, в ICQ'98 появилась возможность скрытия
своего адреса, не слишком правда хорошо работающая при общении со старыми
версиями), но в большинстве систем адрес лежит совершенно открыто. Что же
касается html-чатов, здесь все зависит от желания разработчика, принципиальная
возможность показа ip-адреса существует, как это было продемонстрировано чуть
выше.


Идея следующая: если в чате разрешен ввод тегов
html, никто не помешает вставить в свое сообщение что-то типа В итоге все
присутствующие в чате (даже не зарегистрировавшиеся) будут, сами того не ведая,
вызывать скрипт sniffer.cgi. Ну а остальное уже дело техники, реализация
подобного скрипта на Perl'е, ведущего лог всех обращений, займет несколько
строчек. Демонстрационный вариант этого скрипта доступен на http://www.hackzone.ru/cgi-bin/sniffer.cgi.


Способ применения очень прост - вы вставляете в
свое сообщение текст наподобие следующего:


, где id - идентификатор канала (помогает не
запутаться при использовании скрипта на разных чатах разными людьми).


Если этот чат поддерживает вставку html-тегов,
то скорее всего вы увидите анимированный логотип HackZone. Все, что теперь
осталось - просмотреть лог (http://www.hackzone.ru/files/snifflog.txt), в
который пишется дата обращения к скрипту, ip-адрес и идентификатор id.


Речь идет о демонстрации, в логе хранятся
только 30 последних записей.


#!/usr/bin/perl


$log = "/local/path/on/your/server/snifflog.txt";


$now_string
= localtime;


@thetime =
split(/ +/,$now_string);


@theclock =
split(/:/,$thetime[3]);


$ampm = 'am';


if ($theclock[0]
> 11)


{ $ampm = 'pm';
}


if ($theclock[0]
== 0)


{ $theclock[0]
= 12; }


if ($theclock[0]
> 12)


{ $theclock[0]
-= 12; }


else


{ $theclock[0]
+= 0; }


$lnum=$ENV{'QUERY_STRING'};


open (DB, "$log")
|| die "Can't Open $log: $!\n";


flock(DB,
2);


@line=;


flock(DB,
8);


close(DB);


$line0="[$thetime[0]
$theclock[0]\:$theclock[1]$ampm] (".$lnum.") ". $ENV{REMOTE_ADDR}." ".$ENV{REMOTE_HOST};


$maxline=@line;


$maxline=30
if ($maxline>30);


open (DB,
">$log") || die "Can't Open $log: $!\n";


flock(DB,
2);


print DB
("$line0\n");


for ($i=0; $i<$maxline;
$i++)


{ print DB
("$line[$i]");


}


flock(DB,
8);


close(DB);


print "Location:
http://www.hackzone.ru/images/hz_animated.gif\n\n";


Теперь немного о том, как же защититься от
всего этого безобразия. Самый простой способ прикрыться при прогулках по Web -
воспользоваться proxy либо службой наподобие Anonymizer, Inc. (http://sol.infonex.com/).
Принцип их работы аналогичен - вы напрямую общаетесь только с proxy-сервером, а
черную работу по заходу на сайты он делает за вас.


Если вас все-таки волнует проблема с
обнаружением своего ip-адреса при использовании e-mail, вы можете
воспользоваться службой того же Anonymizer'а для отправления писем через web (https://www.anonymizer.com/),
либо каким-нибудь анонимным ремэйлером (http://www.replay.com/remailer/).


Хуже всего дело обстоит с чатами. Проблема в
том, что если найти какой-нибудь левый прокси для www достаточно легко, подобный
сервис для irc, icq и иже с ними встречается, мягко говоря, очень редко и для
простого dialup-пользователя практически недоступен. Именно поэтому большая
часть средств для атаки по ip заточена под всевозможные irc-клиенты. Так что
бороться тут можно лишь двумя способами. Самый надежный - не использовать их
вообще :) Более реалистичный - бороться не с причиной, а со следствиями -
разыскать свежайшие заплаты и надеяться, что против вашей брони еще не изобрели
подходящей пушки.

Опубликовал Kest October 26 2008 16:42:33 · 0 Комментариев · 8445 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
IMtale
Assistant
Простой текстовый...
Библия хакера 2 К...
PDJ_Anima
Мод "проверочный ...
SMExport
ЯЗЫК ПРОГРАММИРОВ...
Visual Studio 200...
WAP версия сайта
JanReplace
DCAVI
Создание фракталов
Assembler. Практикум
Page Promoter 7.7...
CS:Source - монит...
Иллюстрированный ...
Plasma
Мониторинг сервер...
Язык программиров...

Топ загрузок
Приложение Клие... 100455
Delphi 7 Enterp... 86146
Converter AMR<-... 20071
GPSS World Stud... 12523
Borland C++Buil... 11611
Borland Delphi ... 8524
Turbo Pascal fo... 7035
Visual Studio 2... 4992
Калькулятор [Ис... 4744
FreeSMS v1.3.1 3539
Случайные статьи
ФАНТОМНЫЕ ФАЙЛЫ
INLINE error
Аутентификация або...
INFORMATION_SCHEMA
Обработка результатов
Компоненты доступа...
• Раскрытие циклов...
Технология, исполь...
Создание дополните...
Планируется замени...
Дорожно-транспортн...
Возможности имитац...
Принципы обработки...
Ordinal type expected
Однополярное кодир...
точке, а два бранд...
Ввод двух символьн...
Солнечные батареи ...
Реагирование на со...
Cобытийное моделир...
Аннотация
Новый клиент Outlo...
Новостройки Тюмени
Индексирование мас...
Гипотезы - подцели
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?