===> Toolza 1.0 <=== (*Nix/Windows/Mac) Last update - 25.06.2011 SQL injection DB supported: Mysql, Mssql, Sybase, Postgresql, Access, Oracle, Firebird/Interbase SQLi supported in: $_GET $_POST Headers(include COOKIE) include Blind Mysql injection (with ANY QUERY MODE - no spaces, no "<" or ">", for experts , and Blind READ FILES through LOAD_FILE(some_file) and Blind BRUTE LOAD_FILE log/conf files (file_priv = Y)) + alternative methods Other functions: - LFI/Reader/Loade_file() bruter - Scan site for folders & files - FTP checker - FTP bruter - Proxy checker - Proxy grabber Post/Get/Proxy/SOCKS4-5/Cookies/Timeout/Multithread/HTTPS+Authorization supported include video instructions for all modes Для всех режимов работы: - Выбор POST или GET - Поддержка прокси (файл proxy.txt) - авточекинг, работает с первой рабочей - Поддержка SOCKS4-5 (файл socks.txt) - авточекинг, автоопределение типа носка(4-5), без авторизации, работает с первой рабочей - Выбор таймаута соединения - Возможность вставить cookies формат: $cookie ="__utma=115146457;__utmz=115146457;PHPSID=201301df5788f6f187342cdfe45abea0a"; - Возможность изменить user agent - Возможность изменить реферер - Возможность выбора HTTP-протокола ( 0 - HTTP/1.0; 1 - HTTP/1.1; Default - 1) MySql=>5: 1. Многопоточный (можно вручную менять кол-во потоков, оптимально на практике 10) 2. Вывод на монитор + логирование в файл (имя_хоста.txt) 3. Нормальная поддержка UNHEX(HEX(SQL)) 4. Нормальная поддержка AES_DECRYPT(AES_ENCRYPT(SQL,aes_key),aes_key) 5. Выбор пробелов (+,/**/,%20 и etc.) 6. Выбор лимитов (no limit; limit+0,1; limit+1,1) 7. Выбор фильтров (/*,--+,# и etc) 8. Выбор паузы между пачкой запросов в секундах (антиддос сканируемого сайта) 9. Предварительный вывод на экран вашего URL со всеми вашими настройками 10. Возможность выбора дампа таблиц из information_schema - все или с "номер_записи" по "номер_записи" 11. Возможность выбора дампа данных из выбранной таблицы - все или с "номер_записи" по "номер_записи" 12. Возможность вставить свое условие при дампе данных из таблицы - where ID=1, чтобы не дампить, ну например, всех пользователей какого-нибудь форума и сразу получить данные админа. Или админов, т.к. они могут не находится рядом в таблице и алгоритм "с ... по..." тут не подойдет. Поддерживаются как числовые так и mix условия (автоопределение, авто- HEX). 13. Автопроверка на file_priv 14. Скрипт полностью интерактивный, поддерживается ввод данных пользователем с клавиатуры. MySql4 bruter - таблицы и колонки: - Многопоточный - Возможность добавлять префикс для таблиц и префикс для колонок(PHPBB_, IPB_ & etc.) - Словарь таблиц - 3434 - Словарь колонок - 760 Site scanner for folders & files: - Многопоточный - Словарь 3455 позиций - Возможность редактировать ошибки при ответе сайта на запрос при не существующем URL (файл scaner_errors_list.txt) - Возможность пополнять словарь (файл scaner_folder_list.txt, новая позиция с новой строки без слеша в начале) LFI/READER/Load_file() bruter: Многопоточный, поддержка GET | POST, прокси (не для всех режимов) 6 режимов работы: [1] LFI/Reader - visual error when wrong query [2] LFI/Reader - unvisual error when wrong query [3] Mysql load_file - visual error when wrong query, magic_quotes=OFF [4] Mysql load_file - unvisual error when wrong query, magic_quotes=OFF [5] Mysql load_file - visual error when wrong query, magic_quotes=ON [6] Mysql load_file - unvisual error when wrong query, magic_quotes=ON 2-4-6 режимы к сожалению только GET и без прокси, т.к. там идет получение содержимого страниц и пришлось выбирать - либо многопоточность, либо так. + записал видео для новой фичи: 1. LFI, ошибки ВИДНЫ при неправильном запросе (классика) 2. LFI, ошибки НЕ ВИДНЫ при неправильном запросе 3. LOAD_FILE, magic_quotes=on, ошибки НЕ ВИДНЫ при неправильном запросе т.е. классический вариант и два "фактически безнадежных" с первого взгляда Blind Mysql injection: - Многопоточный - POST/GET/Прокси/Куки и прочее - Полный цикл - от системной информации до получения значений из таблицы (явки-пароли) - Брут для Blind MySql4 таблиц и колонок с возможностью добавить свой префикс - В общем все возможности, что в секции обычных скулей, только чуть подольше подождать - Normal MODE брута (диапазон 0-255) - неграниченное кол-во записей, универсальный, вывод ошибок необязателен - Fast MODE брута - (диапазон 0-255) - кол-во записей <= 10, универсальный, вывод ошибок необязателен - TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 0-255) - универсальный, вывод ошибок необязателен - MD5-TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 48-102) - универсальный, вывод ошибок необязателен [1] Blind System information [2] Blind inj get DB-names from information_schema.schemata [3] Blind inj get tables from DB-name [4] <<< Blind ANY QUERY >>> [5] Blind inj get column_name from tables from DB-name [6] Blind inj get LOAD_FILE (file_priv = Y) [7] Blind BRUTE LOAD_FILE log/conf files (file_priv = Y) [8] Blind Get tables from information_schema (current DB) [9] Blind Get column_name from table (current DB) [10] Blind Get data from columns [11] Blind Brute MySql4 for tables & columns [12] Main menu предварительно определяется размер файла и есть возможность выбирать, читать весь файл или часть файла (начиная и заканчивая любым байтом), весь процесс чтения виден на мониторе. Видео прилагается. MySql inj bruter кол-ва колонок: - Многопоточный - Post/Get/Cookies/Proxy & etc. - Метод union+select - Возможность менять максимальное кол-во колонок - по умолчанию 100 - Возможность менять фильтр - Возможность менять знак пробела - Определение правильности запроса по наличию или отсутствию уникального текста на странице - автоопрделениe limit (без лимита, limit+0,1, limit+1,1) - определение принтабельной колонки - Алгоритм работы: 1) сначала прогоняется по 20 колонок без лимита, с limit+0,1, c limit+1,1, затем, если не нашлось кол-во колонок, прогоняется от 21 до максимально выставленного кол-ва колонок (100 - default) также без лимита, с limit+0,1, c limit+1,1 2) после нахождения кол-ва колонок ищется принтабельная колонка также без лимита, с limit+0,1, c limit+1,1 в видео рассмотрен нестандартный случай - правильное кол-во колонок определяется без лимита, принтабельная колонка появляется только с limit+1,1 MySql inj NAME_CONST: - Многопоточный - Post/Get/Cookies/Proxy & etc. - Все те же возможности, что и при обычной скуле + та же скорость - просто заменить два раза "version()" на "^" (shift+6), т.е. было: Code: *http://site.com/index.php?site=profile&id=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((version()),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((version()),14)e)b)a)/**/and/**/'1'='1/* * стало: Code: *http://site.com/index.php?site=profile&id=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((^),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((^),14)e)b)a)/**/and/**/'1'='1/* * Отдельный риспект хотелось бы выразить Qwazar и jokester за эту тему. PS: Видео прилагается MySql inj floor(rand()): - Многопоточный - Post/Get/Cookies/Proxy & etc. - Все те же возможности, что и при обычной скуле + та же скорость скуля: Code: *http://example.com/?id=1+or(1,2)=(select+count(*),concat((select+version()+from+information_schema.tables+limit+0,1),0x3a,floor(rand()*2))+from+information_schema.tables+group+by+2+limit+0,1)--+ * переменные в скрипте: Code: *$f_table = "information_schema.tables"; # *default 'information_schema.tables' if MySQL>=5 and if MySQL<5 - you must brute table_name before and print here *$f_url = "http://example.com/?id=1+or(1,2)="; # url *$f_plus = "+"; # %20,%2b & etc. *$f_filtr = "--+"; # close SQL * скуля: Code: *http://example.com/?id=(select+1+from+(select+count(*),concat((select+version()+from+information_schema.tables+limit+0,1),0x3a,floor(rand()*2))+from+information_schema.tables+group+by+2+limit+0,1)a)--+ * переменные в скрипте: Code: *$f_table = "information_schema.tables"; # *default 'information_schema.tables' if MySQL>=5 and if MySQL<5 - you must brute table_name before and print here *$f_url = "http://example.com/?id=(select+1+from+"; # url *$f_plus = "+"; # %20,%2b & etc. *$f_filtr = "a)--+"; # close SQL * MSSQL inj: - Многопоточный - Post/Get/Cookies/Proxy & etc. - Определение кол-ва колонок и принтабельной колонки не требуется - авто-CHAR всех данных Вывод на экран и сохранение в файл. Видео прилагается PostgreSQL injection: 1. UNION+SELECT method: - Многопоточный - Post/Get/Cookies/Proxy & etc. - Возможность задавать в настройках data type принтабельного поля ("text" - default) - Авто CHR(data)|| - Остальное все тоже самое, что и в mysql 2. SUBQUERY method: - Многопоточный - Post/Get/Cookies/Proxy & etc. - Возможность задавать в настройках тип конвертации данных для вызова ошибки - Авто CHR(data)|| - Остальное все тоже самое, что и в mysql Пример метода UNION+SELECT: Code: *http://site.com/index.phtml?pid=7+union+select+null,version(),null-- * *Настройки в скрипте: * *$p_union_select_url = "http://site.com/index.phtml?pid=7+union+select+null,^,null"; # url UNION+SELECT method *$p_subquery_url = ""; # url SUBQUERY method *$p_method = 0; # 0 - UNION+SELECT method, 1 - SUBQUERY method *$p_filtr = "--"; # close SQL *$p_plus = "+"; # %20,%2b & etc. *$p_convert = "text"; # convert data type(text,int ... etc.) * Пример метода SUBQUERY: Code: *http://site.com/index.php?id=1+and+1=cast(select+version()+as+int) * *или * *http://site.com/index.php?id=1+and+1=version()::int * *что тоже самое * *Настройки в скрипте: * *$p_union_select_url = ""; # url UNION+SELECT method *$p_subquery_url = "http://site.com/index.php?id=1+and+1="; # url SUBQUERY method *$p_method = 1; # 0 - UNION+SELECT method, 1 - SUBQUERY method *$p_filtr = ""; # close SQL *$p_plus = "+"; # %20,%2b & etc. *$p_convert = "int"; # convert data type(text,int ... etc.) * Вывод на экран и сохранение в файл. Видео прилагается Sybase SQL injection: - Пока в один поток (специфика sybase sql inj) - Post/Get/Cookies/Proxy & etc. - Не требуется подбор кол-ва колонок и поиск принтабельной - Возможность задавать тип конвертации данных для вызова ошибки (numeric, integer & etc) - Авто hex(data)|| - Дампит все БД, все таблицы (плюс ID), все колонки из выбранной таблицы (плюс ID) + данные из таблиц - Автоопределение типов данных при дампе 1 . UNION SELECT method: Code: http://site.com/index.phtml?pid=7+union+select+null,@@version,null Настройки в скрипте: $s_union_select_url = "http://site.com/index.phtml?pid=7+union+select+null,^,null"; # url UNION+SELECT method $s_subquery_url = ""; # url SUBQUERY method $s_method = 0; # 0 - UNION+SELECT method, 1 - SUBQUERY method $s_filtr = "--"; # close SQL $s_plus = "+"; # %20,%2b & etc. $s_convert = "numeric"; # default type to convert - numeric (for subquery method) 1 . SUBQUERY method: Code: http://site.com/index.phtml?pid=-7+or+1=convert(numeric,(select+@@version))--+ Настройки в скрипте: $s_union_select_url = ""; # url UNION+SELECT method $s_subquery_url = "http://site.com/index.phtml?pid=-7+or+1="; # url SUBQUERY method $s_method = 1; # 0 - UNION+SELECT method, 1 - SUBQUERY method $s_filtr = "--+"; # close SQL $s_plus = "+"; # %20,%2b & etc. $s_convert = "numeric"; # default type to convert - numeric (for subquery method) + системные данные: Code: @@version user_name() @@boottime @@errorlog @@language @@servername db_name() Вывод на экран и сохранение в файл. Видео прилагается Ms Access SQL injection: - POST/GET/Cookie/Proxy & etc. - Возможности: 1. Определение кол-ва столбцов через order+by (надо указать ошибку, когда кол-во столбцов больше) - multithread 2. Брут имен таблиц - возможно добавлять префикс - tbl,tbl_, site_name & etc (multithread) 3. Брут имен колонок - возможно добавлять префикс - tbl,tbl_, site_name & etc (multithread) 4. Автоопределение принтабельной колонки 5. Дамп данных из таблицы (1 thread - специфика access) 6. Автоопределение типов данных при дампе (независимо от того, дампятся данные из одной колонки или нескольких и независимо от порядка их расстановки, т.е. дампите как обычно - id,name,email...) Вывод на экран и запись в файл. Видео прилагается Oracle SQL injection: - Многопоточный - POST/GET/Cookie/Proxy & etc. - Возможность задать тип конвертации для принтабельного поля - Авто CHR(data)|| - Остальное как в обычной скуле mysql просто замените принтабельное поле на "^" (shift+6) Вывод на экран и запись в файл. Видео прилагается Firebird/Interbase SQL injection: - Многопоточный - POST/GET/Cookie/Proxy & etc. - Возможность задать тип конвертации для выводимых данных - Авто ascii_char(data)|| Исходная ссылка: Code: *http://example.com/image.php?operator=2)+and+1=user-- * *или * *http://example.com/image.php?operator=2)+and+1=cast(user+as+char(777))-- * В скрипте: Code: *$fi_source_sql = "http://example.com/image.php?operator=2)+and+1="; *$fi_filtr = "--"; # close SQL *$fi_plus = "+"; # %20,%2b & etc. *$fi_convert = "char(777)"; # default data type - char(777) * Вывод на экран и запись в файл. Видео прилагается FTP checker: - Многопоточный (50 потоков checked) - Сохраняет проверенные ftp в файл - Поддерживаемые форматы: 1) ftp://login : pass@host 2) ftp://login : pass@host : port каждый с новой строки - если порт не указан, выставляется дефолтный (можно менять в настроках - по умолчанию 21) - возможны пробелы между строками(автоопределение) - возможны любые символы в начале и в конце строки (автоопределение) FTP bruter: - Многопоточный (50 потоков checked) - Три режима работы: 1) Брут login : password (любой делиметр, задается в настройках, по умолчанию ":") 2) Известен логин, брут паролей 3) Известен пароль, брут логинов п. 3 может пригодиться, если вы желаете проверить найденный Вами пароль от SSH или phpmyadmin или просто от админки - вдруг подойдет и на FTP В видео рассмотрены все три режима работы, словарь паролей взят из mil-dic.txt (83641 записей) PS: Не забывайте, на некоторых хостах надо задавать обязательную паузу между попытками входа, например на ftp.narod.ru (5 сек) - выставляется в глобальных настройках скрипта PROXY checker: - Многопоточный - Сохраняет хорошие proxy в файл - формат ip : port - каждый с новой строки PROXY grabber: - Многопоточный - Кроме SOCKS4 и SOCKS5 - 16 актуальных сайтов с проксями - Возможность грабить прокси через POST|GET|cookie и даже через proxy - Возможность добавлять свои сайты для грабинга (никакого выбора "порт/страна/диапазон ip" - или сразу список или зря потерянное Ваше время, ищите сразу рабочую ссылку со списком проксей) - Маска простейшая, на абсолютную корректность не проверяется (на то есть таймаут и ваш AI): /([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\:[0-9]+)/g (пример: 127.0.0.1:8080 ) ибо если не придерживаются стандарта - ну и ну их Выложена видеодемонстрация: - грабим прокси - сразу чекаем на валидность (после того, как обошли и пропарсили все сайты из списка в режиме POST + 10 потоков - хотите больше - эксперементируйте, чем больше таймаут - тем корректней результат, но тем больше вероятность, что прокси фиговая) ----------------------------------------------------------------- Работа скрипта в любом режиме реализована на сокетах, никаких дополнительных модулей не требуется PS: какие-то маньяки закачали всё видео по использованию сюда: video: Кому интересно - куча какого-то видео по тулзе, кто автор - хз https://www.ashiyane.org/forums/showthread.php?t=19185 вроде как пользоваться на риал сайтах http://www.youtube.com/watch?v=Kn_Vxh_rlH4 http://www.video.xaknet.ru/upload/files/Zalivka_shella_v_phpmyadmin.rar ===> Toolza 1.0 <=== (*Nix/Windows/Mac)
ненавижу задавать опции в командной строке. Тут дружелюбней на этот счет. А так да, тот круче, наверное, не видел просто той темы. И потом писать надо самому, чтобы понять суть процесса. Плюс т.е. sql-inj тут не приоритет, смысл сделать одну бол-мен полезную штуку, чтобы не собирать потом другие полезные штуки по всем компу. Потому Toolza MySQl4_bruter уже завтра встрою PS: такого пока вообще нигде не видел, а иногда только это от скули и надо, вернее в 90% случаев, т.е тут ориентация больше на удобство и быстроту PS: Плюс тот, извините, однопоточный, несерьезно
за старние +, но sqlsus в своем роде лучший mysql-экстрактор, что в нем привлекает это скорость. За один запрос снимает по 80 записей используя подзапросы. Пару сек и таблицы и колонки на ладони
творение, на которое затрачены автором часы изучения темы и воплощения. позитив, в 15 минут такое не оценивается.
почитай функционал и покажи мне хоть одну прогу, где: 1. Можно сразу вводить таблу, из которой нужно выцепить данные (ну знаю я например, что там есть phpbb_users сразу) 2. п. 11 и п.12 Объясню еще раз - скрипт ориентирован на удобство, на рутину, на мегафункционал не претендует сразу, для тех, кто не в танке, для тех, кто знает, для чего он ломает сайт, в какой таблице админ и моментально достать именно его, а не дампить никому не нужные мыла и прочую инфо еще о 1985-ти юзерах - для тех, кто специализируется на проникновение в админку и последующее залитие шеллов из админки, не на спамеров и прочих колекционеров дампов. PS: Смотрите видео, там все показано, уникальные пункты не стал выделять жирным и желтым из своей природной скромности, попробуйте в конце концов скрипт
Правда? Вот взять, просто вставить туда урл с уже найденной инъекцией и СРАЗУ ввести название таблицы для дампа из нее значений с where? Ну-ну При всем моем уважении к SIPT4 и к её создателю SQLHACK - прога давно морально устарела. Не пользусь ей уже года полттора. Заманало. Не хочу никому доказывать, что скуля есть, если знаешь, что она есть, и даже таблы уже все знаешь, и даже знаешь ID админа + в один поток - о чем мы вообще говорим, в sipt4 даже нет поддержки unhex(hex(data)), а в Toolza для aes_decrypt(aes_encrypt(),ключ),ключ) ключ можно свой задавать, он знаете ли периодически не только 0x71 Возьмем даже просто последнюю ссылку из раздела "Уязвимости"-"SQL-инъекции" - Code: https://forum.antichat.ru/showpost.php?p=1603653&postcount=10996 где 5-я ветка, SIPT4 там не видит скули - всё, парсить ручками? SQLHACK-у вечный почет и слава, в своё время прога была лучшей в своем роде, но без поддержки все рано или поздно устаревает
Для тех кто в танке, читай внимательно описание Электа к Antichat Databases_Dumper_MSSQL(MySQL-5.*) v.1.1.1 Вот твои хваленые пункты 11 и 12. В любом случае, пока программа работает только через GET - её ценность равна нулю, никому не надо срать в логах, и более менее грамотный человек использовать твою тулзу не будет... =\
собственно пока скрипт не конкурент сипту, как добавишь все что задумал посмотрим. Вообще нужно было с другой стороны начинать, и критики было бы меньше
Эээ? Зачем? Ты уверен, что понимаешь зачем вообще используют эти функции? В мускуле нет такого "--" комментария. Только с пробелом. Это не критика, а советы по улучшению, если ты планируешь её дорабатывать. Ведутся, но не по дефолту а при установке доп. модулей и конечно гораздо реже чем ГЕТовые Но юзать скули через POST можно только если скрипт это позволяет, как тут уже заметили, но конечно поддержку надо включать, если планируются апдейты
update: добавлен сканер сайтов на файлы и папки, с возможностью выбора GET или POST запроса, также многопоточный, в словаре для брута 548 позиций. Обновления в первом посте темы.