
기존 및/또는 숨겨진 파일이나 디렉토리를 무차별 대입하는 강력한 변형 가능한 웹 디렉토리 퍼저
██╗ ██╗██████╗ ██╗ ██████╗ ██╗ ██╗███████╗████████╗███████╗██████╗
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗
██║ ██║██████╔╝██║ ██████╔╝██║ ██║███████╗ ██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║╚════██║ ██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║███████╗██████╔╝╚██████╔╝███████║ ██║ ███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
기존 또는 숨겨진 파일/디렉터리를 찾는 강력한 웹 디렉터리 퍼저입니다.
dirb 또는 gobuster와 유사하지만, 다양한 변형 옵션을 제공합니다.
pip install urlbuster
사용법: urlbuster [옵션] -w <str>/-W <file> BASE_URL
urlbuster -V, --help
urlbuster -h, --version
URL 무차별 대입기: 기존 또는 숨겨진 파일/디렉터리를 찾습니다.
dirb 또는 gobuster와 유사하지만, 여러 HTTP 요청 메서드, 여러 User-Agent, 여러 Host 헤더 값에 대해 반복 실행 가능합니다.
위치 인자:
BASE_URL 스캔할 기본 URL.
필수 인자:
-w str, --word str 사용할 단어.
-W f, --wordlist f 사용할 단어 목록 파일 경로.
선택적 전역 인자:
-n, --new 모든 요청에 새 연결 사용.
지정하지 않으면 모든 요청에 대해 지속적 HTTP 연결을 사용합니다.
참고: 새 연결을 사용하면 성능이 저하되지만, 모든 요청에서 깨끗한 상태를 보장합니다.
반면 지속적 연결은 이전 요청에서 받은 추가 쿠키 값을 사용합니다.
-f, --follow 리디렉션을 따라갑니다.
-k, --insecure TLS 인증서를 검증하지 않습니다.
-v, --verbose 놓친 URL도 표시합니다.
--code str [str ...] 성공으로 처리할 HTTP 상태 코드.
'.' (와일드카드)를 사용할 수 있습니다.
기본값: 2.. 3.. 403 407 411 426 429 500 505 511
--payload p [p ...] 모든 요청에 대한 POST, PUT, PATCH 페이로드.
참고: 여러 페이로드를 위해 여러 값을 지정할 수 있습니다.
참고: 중복이 지정되면 마지막 값이 덮어씁니다.
변형은 --mpayload를 참조하십시오.
형식: <key>=<val> [<key>=<val>]
--header h [h ...] 모든 요청에 추가할 사용자 지정 HTTP 헤더 문자열.
참고: 여러 헤더를 위해 여러 값을 지정할 수 있습니다.
참고: 중복이 지정되면 마지막 값이 덮어씁니다.
변형은 --mheaders를 참조하십시오.
형식: <key>:<val> [<key>:<val>]
--cookie c [c ...] 모든 요청에 추가할 쿠키 문자열.
형식: <key>=<val> [<key>=<val>]
--proxy str 모든 요청에 프록시 사용.
형식: http://<host>:<port>
형식: http://<user>:<pass>@<host>:<port>
형식: https://<host>:<port>
형식: https://<user>:<pass>@<host>:<port>
형식: socks5://<host>:<port>
형식: socks5://<user>:<pass>@<host>:<port>
--auth-basic str 모든 요청에 기본 인증 사용.
형식: <user>:<pass>
--auth-digest str 모든 요청에 다이제스트 인증 사용.
형식: <user>:<pass>
--timeout sec 각 요청의 연결 제한 시간(초).
기본값: 5.0
--retry num 요청당 연결 재시도 횟수.
기본값: 3
--delay sec 서버에 과부하를 방지하기 위한 요청 간 지연 시간.
--output file 결과를 저장할 출력 파일.
선택적 변형 인자:
다음 인자는 다양한 변형을 적용하여 각 변형을 별도의 요청으로 테스트하므로 총 요청 수가 증가합니다.
--method m [m ...] 각 요청에 대해 테스트할 HTTP 메서드 목록.
참고: 메서드 하나당 요청 수가 두 배로 증가합니다.
지원 메서드: GET POST PUT DELETE PATCH HEAD OPTIONS
기본값: GET
--mpayload p [p ...] 모든 요청을 변형할 POST, PUT, PATCH 페이로드.
참고: 여러 페이로드를 위해 여러 값을 지정할 수 있습니다.
형식: <key>=<val> [<key>=<val>]
--mheader h [h ...] 모든 요청을 변형할 사용자 지정 HTTP 헤더 문자열.
참고: 여러 헤더를 위해 여러 값을 지정할 수 있습니다.
형식: <key>:<val> [<key>:<val>]
--ext ext [ext ...] 단어에 추가할 파일 확장자 목록 (테스트용).
참고: 확장자 하나당 요청 수가 두 배로 증가합니다.
형식: .zip [.pem]
--slash str URL에 후행 슬래시를 추가하거나 생략합니다.
참고: 확장자가 지정된 경우 슬래시는 확장자 뒤에 추가됩니다.
참고: 'both'를 사용하면 요청 수가 두 배로 증가합니다.
옵션: both, yes, no
기본값: no
기타 인자:
-h, --help 이 도움말 메시지를 표시하고 종료
-V, --version 버전 정보를 표시하고 종료
예시
urlbuster -W /path/to/words http://example.com/
urlbuster -W /path/to/words http://example.com:8000/
urlbuster -k -W /path/to/words https://example.com:10000/
일부 웹사이트는 동일한 경로에 대해 User-Agent에 따라 다르게 동작합니다.
$ urlbuster \
-W /usr/share/dirb/wordlists/common.txt \
--mheader 'User-Agent:Googlebot/2.1 (+http://www.googlebot.com/bot.html)' \
--method 'POST,GET,DELETE,PUT,PATCH' \
http://www.domain.tld/
██╗ ██╗██████╗ ██╗ ██████╗ ██╗ ██╗███████╗████████╗███████╗██████╗
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗
██║ ██║██████╔╝██║ ██████╔╝██║ ██║███████╗ ██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║╚════██║ ██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║███████╗██████╔╝╚██████╔╝███████║ ██║ ███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
0.5.1 by cytopia
SETTINGS
Base URL: https://www.everythingcli.org/
Valid codes: 2.., 3.., 403, 407, 411, 426, 429, 500, 505, 511
Connection: Non-persistent
Redirects: Don't follow
Payloads: None
Timeout: 5.0s
Retries: 3
Delay: None
MUTATIONS
Mutating headers: 2
Mutating payloads: 0 (POST)
Methods: 5 (POST, GET, DELETE, PUT, PATCH)
Slashes: no
Extensions: 1 (empty extension)
Words: 4614
TOTAL REQUESTS: 46140
START TIME: 2020-01-29 08:52:12
--------------------------------------------------------------------------------
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.22.0
[301] [GET] http://domain.tld/robots.txt
--------------------------------------------------------------------------------
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Googlebot/2.1 (+http://www.googlebot.com/bot.html)
[200] [GET] http://domain.tld/robots.txt
[301] [POST] http://domain.tld/robots.txt
[301] [GET] http://domain.tld/robots.txt
[301] [DELETE] http://domain.tld/robots.txt
[301] [PUT] http://domain.tld/robots.txt
[301] [PATCH] http://domain.tld/robots.txt
$ urlbuster \
-W /path/to/wordlist.txt \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--proxy 'http://localhost:8080' \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--output out.txt \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--auth-basic 'user:pass' \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--cookie 'PHPSESSID=a79b00e7-035a-2bb4-352a-439d855feabf' \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--code 200 301 302 \
--ext .zip .tar .tar.gz .gz .rar \
http://www.domain.tld/
$ urlbuster \
-W /path/to/wordlist.txt \
--code 200 301 302 \
--ext .zip .tar .tar.gz .gz .rar \
http://www.domain.tld/wp-content/
$ urlbuster \
-W /path/to/wordlist.txt \
--method GET \
--code 200 301 302 \
http://www.domain.tld/search?q=
$ urlbuster \
-W /path/to/wordlist.txt \
--code 200 301 302 \
--method POST \
--payload \
'user=somename' \
'pass=somepass' \
'[email protected]' \
'submit=yes' \
http://www.domain.tld/
$ urlbuster \
-w index.php \
--code 200 301 302 \
--method POST \
--mpayload \
'user=somename1' \
'user=somename2' \
'user=somename3' \
'pass=somepass1' \
'pass=somepass2' \
'pass=somepass3' \
'[email protected]' \
'[email protected]' \
'[email protected]' \
'submit=yes' \
http://www.domain.tld/wp-admin/
$ urlbuster \
-W /path/to/wordlist.txt \
--code 5.. \
--method GET POST \
--mheader \
"User-Agent: ;" \
"User-Agent: ' or \"" \
"User-Agent: -- or #" \
"User-Agent: ' OR '1" \
"User-Agent: ' OR 1 -- -" \
"User-Agent: \" OR 1 = 1 -- -" \
"User-Agent: '='" \
"User-Agent: 'LIKE'" \
"User-Agent: '=0--+" \
"User-Agent: OR 1=1" \
"User-Agent: ' OR 'x'='x" \
"User-Agent: ' AND id IS NULL; --" \
http://www.domain.tld/
$ urlbuster \
-w / \
--method GET POST \
--mheader \
"Host: internal1.lan" \
"Host: internal2.lan" \
"Host: internal3.lan" \
"Host: internal4.lan" \
"Host: internal5.lan" \
"Host: internal6.lan" \
http://10.0.0.1
다음은 제가 관리하는 보안 도구 및 문서 목록입니다.
이 프로젝트 개선에 도움을 주시려면 기여 가이드라인 을 참조하세요.
이 도구는 법적 목적으로만 사용해야 합니다. 사용자는 이 도구를 사용하여 수행된 모든 행동에 대해 전적인 책임을 집니다. 저자는 이 도구로 인해 발생한 손해에 대해 책임을 지지 않습니다. 이 조건에 동의하지 않으면 이 도구를 사용하지 마십시오.
Copyright (c) 2020 cytopia
| 이름 | 카테고리 | 언어 | 설명 |
|---|
| offsec | 문서 | Markdown | Offsec 체크리스트, 도구 및 예제 |
| header-fuzz | 열거 | Bash | HTTP 헤더 퍼징 |
| smtp-user-enum | 열거 | Python 2+3 | SMTP 사용자 열거 도구 |
| urlbuster | 열거 | Python 2+3 | 변형 가능한 웹 디렉터리 퍼저 |
| netcat | 피벗 | Python 2+3 | 크로스 플랫폼 netcat |
| badchars | 역공학 | Python 2+3 | Badchar 생성기 |
| fuzza | 역공학 | Python 2+3 | TCP 퍼징 도구 |