WEB-наводнение Александр Любимов aka Sashiks Хакер, номер #081, стр. 081-070-3 Так, скорее всего, и было (причем я заметил, что хэш генерировался каждый раз новый и не от чего не зависел). То есть при генерировании web-формы для ответа на пост в нее вставляется сгенеренный хэш, и как только мы жмем кнопку Post, то скрипт, которому передаются параметры, сравнивает значение, переданное ему в $token, с тем, что было вставлено в форму. Если же значения не совпадают, то ответ просто-напросто не записывается. Немного почесав репу, я понял, что для создания флудера под форум, этих данных будет мало. Мне нужно было знать все значения (в том числе и в скрытых полях), которые передавались из формы. Для этого мне нужно было сохранить форму на себе на винт и в html-коде исправить: <form onSubmit="submitonce(this)" action="/addReply.html" method="POST" enctype="multipart/form-data"> на <form onSubmit="submitonce(this)" action="http://www.linuxsucks.org/addReply.html" method="GET" enctype="multipart/form-data"> То есть в action я прописал полный путь к скрипту, а метод передачи заменил на GET. Теперь, нажав на Post, страница начнет передавать на сервер данные, но теперь методом GET, поэтому в адресной строке браузера я смогу увидеть все параметры. Вот как выглядела эта строка: www.linuxsucks.org/addReply.html?xtitle=название_нашего ответа&postid=это_номер топика&topictitle=название_самого_топика&xmsg=наш_ответ&Post=Post&token=это_md5_хэш&mode=Submit. Параметры post и mode не менялись в зависимости от топика. Теперь, получив все необходимые сведения, я уже мог начинать писать флудер. [перловые забавы] Перед тем, как приступить непосредственно к написанию, нужно определиться с тем, какие действия и в каком порядке должна выполнять наша программа: 1)Аутентификация на сайте (логин+пароль) 2)Получение Cookies 3)Получение страницы с формой (парсинг параметров) 4)Составление запроса (плюс Cookies) 5)Отправка запроса Сейчас мы разберем каждый пункт. Первое, что нам нужно сделать - пройти авторизацию с помощью пары «логин:пароль». Если этого не сделать, то при запросе страницы с формой нас все равно перебросит на пагу login.html. Благо авторизация выполнена крайне просто в виде двух полей, поэтому, чтобы нас впустили, достаточно проделать следующие: |