Масштабное сканирование за две минуты!

Пишем сканер дырявых сервисов

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

Xakep, номер #055, стр. 055-056-5


ХХХ ЗАГОЛОВОК ХХХ

Ложка дегтя в бочке меда

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

Вообще, портированный под винды интерпретатор ведет себя как-то неестественно. Я был крайне удивлен, когда увидел, что Perl попросту игнорирует таймаут на сокеты (возможно из-за этого и медлительность в работе). Наплодить потомков в отдельной процедуре также не удавалось. Это можно сделать только в главном модуле, иначе вылезет ошибка о странном типе (Bizarre type). Но как сказал мой хороший знакомый, винду в качестве полигона для perl-скриптов использовать недопустимо, так что моей вины здесь нет :).

А теперь о самом интересном. Подражая великим программистам, которые пишут хорошие 0day программы, я умышленно сделал защиту от дурака. В скрипте есть одна маленькая недоработка, которая даже не детектится обычной проверкой на синтаксис. Если не исправить эту багу, сканер будет неполноценным. Даже человек, плохо знающий Perl, обязательно ее найдет. Тем самым я предоставлю скрипт лишь тем, кому он действительно нужен.

ХХХ ЗАГОЛОВОК ХХХ

И в заключение...

Моя задача была научить тебя основным понятиям языка Perl. В данном случае - работе с fork. Если ты уяснил хотя бы 50% из вышеописанного - можешь прыгать от радости, так как лично мне межпроцессное взаимодействие давалось с боем... Работа с сигналами и процессами - довольно сложный материал. Когда-нибудь я расскажу о правильной обработке сигналов, и если ты в этом разберешься, то все твои приложения будут работать идеально.

Мой сканер ты можешь взять по адресу http://kamensk.net.ru/forb/1/x/bannerscan.tar.gz или на нашем диске. Все отзывы, жалобы и пожелания с удовольствием приму на мыло. Только не проси меня дать халявный шелл или ткнуть пальцем в ошибку скрипта - я знаю, что с этим ты справишься самостоятельно :).

Назад на стр. 055-056-4  Содержание