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

WEB-наводнение

Александр Любимов aka Sashiks

Хакер, номер #081, стр. 081-070-1


( real_sshx@mail.ru )

Учимся флудить неприятельские форумы

Неотъемлемой частью «защиты информации» является защита web-контента. Поэтому вебмастеры должны не только уметь грамотно управлять сайтом, но и уметь его защищать от разной нечисти вроде скриптиддисов и флудеров, которых сейчас развелось полным полно в Сети. Сегодня мы побудем в роли плохих парней. Вместе мы рассмотрим основы процесса зафлуживания web-приложений. Узнаем тонкости автоматизации «наводнения» на примере самопального форумного движка и напишем для него свой полнофункциональный флудер. Итак, приступим!

[первые шаги]

Давай для начала разберемся, как работает, к примеру, элементарная гостевая книга. Чтобы не говорить слишком абстрактно, я рассмотрю стандартный прототип гостевухи, который состоит из следующих частей:

1) Скрипт для отображения сообщений (gb/index.php)

2) Форма для отправления сообщений в книгу (gb/from.html)

3) Скрипт для записи нового сообщения в гостевую (gb/script.php)

То есть, если ты хочешь оставить свою запись в чьей-нибудь гостевой книге, то поочередно обращаешься к следующим документам: form.html (забиваем наши данные) -> add_mess.php (наши данные передаются скрипту для записи в БД или файл) -> index.php (теперь здесь будет отображаться наш коммент к гостевой книге).

Чтобы понять, каким образом можно засыпать приложение левыми сообщениями, давай посмотрим, как выглядит стандартная форма для отправки сообщения:

[среднестатистическая форма для отправки сообщения]

<form action=script.php method=POST>

Имя:<br>

<input type=text name="your_name" ></><br>

Адрес e-mail:<br>

<input type=text name="email" ></><br>

Твой комментарий:<br>

<textarea name="text" rows=10 cols=65 >

</textarea><br><br>

<input type=Submit >

</form>

Как только ты нажмешь на кнопку Submit, данные тут же передадутся серверному приложению при помощи POST-запроса, внутри сценария создадутся переменные $_POST[your_name], $_POST[email], $_POST[text] и эти данные запишутся в базу данных или текстовый файл.

А теперь представь на секунду, что будет, если начать методично нажимать ctrl+r, отправляя на сервер все новые и новые сообщения, заполнив таким образом за пару минут гостевую книгу десятками сообщений. Чтобы не допустить такого поворота событий, сейчас все скрипты оборудованы той или иной защитой от флуда и такая элементарная атака не проходит.

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

[собираем паучка]

Допустим, ты хотел заполнить гостевуху своего недруга сотней-другой веселых и полезных сообщений. Разумеется, этот процесс было бы неплохо поставить на конвейер. Для этого нам нужно наколбасить перловый сценарий, который будет сам заходить на страницу и оставлять сообщение. Perl-скрипт может работать с web через сокеты, но намного легче использовать специально заточенный для этих целей модуль LWP (library WWW for Perl). Он должен быть прикручен к перлу по умолчанию. Вот как будет выглядеть примитивный флудер для нашей многострадальной гостевой:

Содержание  Вперед на стр. 081-070-2