
HTTP/2를 사용하는 스레드 기반 재귀적 웹 디렉토리 무차별 대입 스캐너.
hyper를 사용하는 HTTP/2 기반의 빠르고, 스레드 방식이며, 재귀적인 웹 디렉토리 무차별 대입 스캐너입니다. Gobuster에서 영감을 받았습니다.
Python 3.6이 필요합니다.
하나의 의존성만 설치하면 됩니다. hyper가 없다면 다음을 실행하세요:
pip3 install -r requirements.txt
usage: h2buster.py [-h] -w wordlist -u target [-c connections=8]
[-t threads=20] [-m http_method=HEAD]
[-r directory_depth=2] [-hd header_list]
[-x extension_list] [-b http_code_list] [-l] [-vr] [-wc]
[-rb] [-nc]
h2buster: an HTTP/2 web directory brute-force scanner.
arguments:
-h, --help show this help message and exit
-w wordlist Directory wordlist
-u target Target URL/IP address ([scheme://]host[:port]).
Default port is 443 and HTTPS enabled. To specify
otherwise, use ':port' and/or 'http://' (port will
default to 80 then).
-c connections=8 Number of HTTP/2 connections.
-t threads=20 Number of threads per connection.
-m http_method=HEAD HTTP request method. Allowed values are GET, HEAD.
-r directory_depth=2 Maximum recursive directory depth. Minimum is 1,
unlimited is 0.
-hd header_list List of headers in the format
'header->value|header->value...'. For example: -hd
'user-agent->Mozilla/5.0|accept-encoding->gzip,
deflate, br'.
-x extension_list List of file extensions to check separated by a
vertical bar (|). For example, -x '.php|.js|blank|/'.
The 'blank' keyword signifies no file extension.
Default extensions are '/', 'blank', '.html', '.php'
-b http_code_list List of blacklisted response codes separated by a
vertical bar (|). Directories with these response
codes will not be shown in the output. Default is 404.
-l Flag: show response length in output. This overrides
the request method to GET.
-vr Flag: force TLS certificate verification.
-wc Flag: request a random path and analyze response to
detect false positives (wildcard processing).
-rb Flag: scan for a robots.txt file. If found, a prompt
will be displayed asking whether to use the results.
-nc Flag: disable colored output text.
$ python3 h2buster.py -w test/small.txt -u www.google.com -c4 -t15 -m GET -x 'blank|/' -r1 -hd 'user-agent->h2buster' -b '404|301'
이 명령은 www.google.com을 스캔하며, 4개의 연결과 각 연결당 15개의 스레드를 사용하고, 입력된 단어 목록 small.txt에 대해 GET 요청을 수행합니다. 단어 목록의 각 항목은 그대로 전송되며, 슬래시(/)가 추가된 형태로도 전송됩니다. 발견된 디렉토리는 재귀적으로 스캔되지 않습니다(깊이 1). h2buster 문자열이 사용자 에이전트로 전송됩니다. 응답 코드 404와 301은 출력에 표시되지 않습니다.
작업이 필요한 기능 목록은 TODO 파일을 확인하세요.