Старый 14.06.2017, 21:31   #1
Beched
 
Регистрация: 06.07.2010
Сообщений: 382
Репутация: 118
По умолчанию Hehdirb

Выложил недавно поделие для пайплайн-дирбастинга.
Ссылка: https://github.com/beched/hehdirb/

В силу криворукости правильно обрабатываю не все эксепшны и не очень правильно работаю с gevent, но в таком виде на многих хостах тоже выжимает сильно больше, чем обычный dirbuster.

Тулза может сама бинарным поиском определить максимальное количество пакетов в рамках одной TCP-сессии, далее асинхронно фигачит пачками пакетов.
Проблемы начинаются, например, когда сервер отдаёт 500, и коннект обрывается, бывают ещё таймауты и прочее дерьмо.
Проблема похуже (сейчас не обработана в коде) -- это 405 или 200 с телом в ответ на HEAD.

Вообще, основное применение такой тулзы в теории -- это массовый скан (возможность заложена) с сохранением результатов куда-нибудь (сейчас в MySQL). Дальше можно фильтровать и обрабатывать эти результаты.
Beched вне форума   Ответить с цитированием
Старый 15.06.2017, 00:16   #2
sT1myL
 
Регистрация: 09.07.2014
Сообщений: 12
Репутация: 0
По умолчанию

"Это альтернатива https://github.com/maurosoria/dirsearch
sT1myL вне форума   Ответить с цитированием
Старый 15.06.2017, 01:30   #3
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 88
Репутация: 13
По умолчанию

Цитата:
Сообщение от Beched Посмотреть сообщение
но в таком виде на многих хостах тоже выжимает сильно больше, чем обычный dirbuster.
Больше, в смысле быстрее? Можно пример на пальцах?
crlf на форуме   Ответить с цитированием
Старый 15.06.2017, 01:56   #4
Beched
 
Регистрация: 06.07.2010
Сообщений: 382
Репутация: 118
По умолчанию

Цитата:
Сообщение от sT1myL Посмотреть сообщение
"Это альтернатива https://github.com/maurosoria/dirsearch
Судя по https://github.com/maurosoria/dirsearch/blob/master/lib/connection/Requester.py#L130 -- не совсем. Эта тулза не делает пайплайнинг. Но скорость не тестил. Может, за счёт более правильного кода в остальном, она в итоге и шустра =)

Цитата:
Сообщение от crlf Посмотреть сообщение
Больше, в смысле быстрее? Можно пример на пальцах?
Ага, пример вот:

Код:
$ python hehdirb.py -d tzar2.txt -k 100 -u https://ya.ru/
WARNING:root:Calculated Keep-Alive for https://ya.ru/: 100
WARNING:root:Path https://ya.ru:443/, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/tabs, response code 200, content-length 10426, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?-s=, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?x=&x[]=, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/set, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/portal, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/portal/, response code 403, content-length 12407, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/robots.txt, response code 200, content-length 2561, content-type text/plain; charset=utf-8
WARNING:root:Path https://ya.ru:443/favicon.ico, response code 200, content-length 1150, content-type image/x-icon
WARNING:root:Path https://ya.ru:443/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/white, response code 200, content-length 478, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?__debugger__=yes&cmd=resource&f=style.css, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/debug/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/, response code 200, content-length 10426, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/%2e%2e//google.com, response code 400, content-length 166, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data/files/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/logs/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/%2e%2e//ya.ru, response code 400, content-length 166, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data/backups/, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/tmp/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/black, response code 200, content-length 478, content-type text/html; charset=UTF-8
TOTAL TIME 2.86 sec
TOTAL SPEED 3275.20 rps
В локалке выжимает и по 30-40к рпс, но уверен. что это не предел. Из-за вышеупомянутых и иных косяков и всяких фильтраций и антисканов, при массовых сканах часто тупит. Нужно детектить такие ситуации и обходить их.


Ключевое отличие от других тулз в том, что по максимуму используется окно Keep-Alive без задержек при обрыве и задержек на итеративное чтение.
То есть мы сначала определяем, сколько максимально можно запихнуть HTTP-запросов в одну сессию, потом запихиваем сразу все (обычно 100 или 101), а потом читаем сразу все ответы и начинаем новый коннект (а не читаем поочерёдно и реконнектимся по таймауту, когда закончилась сессия).
Beched вне форума   Ответить с цитированием
Старый 15.06.2017, 03:42   #5
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 88
Репутация: 13
По умолчанию

Понял, спасибо за ответ.

Цитата:
Нужно детектить такие ситуации и обходить их.
Тот ещё гемор, всего не задетектишь
crlf на форуме   Ответить с цитированием
Старый 26.11.2017, 23:11   #6
nicco
 
Регистрация: 01.01.2011
Сообщений: 44
Репутация: 2
По умолчанию

Сканит шустро.
Не хватает скана с добавлением расширений по словарю.
nicco вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot