dirsearch(目录扫描工具)常用命令

1、下载安装

1.1、windows上使用下载安装:

dirsearch下载地址: GitHub - maurosoria/dirsearch: Web path scanner

1.2、kali上使用下载安装:

Kail Linux 下输入以下命令即可安装

apt-get install dirsearch 

 


2、查看帮助:

>python dirsearch.py -h

用法: dirsearch.py [-u|--url] 目标 [-e|--extensions] 扩展名 [选项]
 
选项:
  --version             显示程序版本号并退出
  -h, --help            显示帮助信息并退出
 
  必填项:
    -u URL, --url=URL   目标 URL(s),可以使用多个标志
    -l PATH, --url-file=PATH
                        URL 列表文件
    --stdin             从 STDIN 读取 URL(s)
    --cidr=CIDR         目标 CIDR
    --raw=PATH          从文件加载原始 HTTP 请求(使用 '--scheme' 标志设置协议)
    -s SESSION_FILE, --session=SESSION_FILE
                        会话文件
    --config=PATH       配置文件的路径(默认使用 'DIRSEARCH_CONFIG' 环境变量,否则使用 'config.ini')
 
  字典设置:
    -w WORDLISTS, --wordlists=WORDLISTS
                        自定义字典(用逗号分隔)
    -e EXTENSIONS, --extensions=EXTENSIONS
                        用逗号分隔的扩展名列表(例如 php,asp)
    -f, --force-extensions
                        在每个字典条目的末尾添加扩展名。默认情况下,dirsearch 只用扩展名替换 %EXT% 关键字
    -O, --overwrite-extensions
                        使用您的扩展名(通过 `-e` 选择)覆盖字典中的其他扩展名
    --exclude-extensions=EXTENSIONS
                        用逗号分隔的扩展名列表排除(例如 asp,jsp)
    --remove-extensions
                        移除所有路径中的扩展名(例如 admin.php -> admin)
    --prefixes=PREFIXES
                        添加自定义前缀到所有字典条目(用逗号分隔)
    --suffixes=SUFFIXES
                        添加自定义后缀到所有字典条目,忽略目录(用逗号分隔)
    -U, --uppercase     字典转为大写
    -L, --lowercase     字典转为小写
    -C, --capital       字典首字母大写
 
  通用设置:
    -t THREADS, --threads=THREADS
                        线程数
    -r, --recursive     递归爆破
    --deep-recursive    对每个目录深度执行递归扫描(例如 api/users -> api/)
    --force-recursive   对每个找到的路径执行递归爆破,不仅限于目录
    -R DEPTH, --max-recursion-depth=DEPTH
                        最大递归深度
    --recursion-status=CODES
                        递归扫描的有效状态代码,支持范围(用逗号分隔)
    --subdirs=SUBDIRS   扫描给定 URL[s]的子目录(用逗号分隔)
    --exclude-subdirs=SUBDIRS
                        在递归扫描期间排除以下子目录(用逗号分隔)
    -i CODES, --include-status=CODES
                        包括状态代码,用逗号分隔,支持范围(例如 200,300-399)
    -x CODES, --exclude-status=CODES
                        排除状态代码,用逗号分隔,支持范围(例如 301,500-599)
    --exclude-sizes=SIZES
                        通过大小(用逗号分隔)排除响应(例如 0B,4KB)
    --exclude-text=TEXTS
                        通过文本排除响应,可以使用多个标志
    --exclude-regex=REGEX
                        通过正则表达式排除响应
    --exclude-redirect=STRING
                        如果正则表达式(或文本)与重定向 URL 匹配,则排除响应(例如 '/index.html')
    --exclude-response=PATH
                        排除类似于此页面响应的响应,以路径为输入(例如 404.html)
    --skip-on-status=CODES
                        每当命中其中一个状态代码时跳过目标,用逗号分隔,支持范围
    --min-response-size=LENGTH
                        最小响应长度
    --max-response-size=LENGTH
                        最大响应长度
    --max-time=SECONDS  扫描的最大运行时间
    --exit-on-error     每当发生错误时退出
 
  请求设置:
    -m METHOD, --http-method=METHOD
                        HTTP 方法(默认: GET)
    -d DATA, --data=DATA
                        HTTP 请求数据
    --data-file=PATH    包含 HTTP 请求数据的文件
    -H HEADERS, --header=HEADERS
                        HTTP 请求头,可以使用多个标志
    --header-file=PATH  包含 HTTP 请求头的文件
    -F, --follow-redirects
                        跟随 HTTP 重定向
    --random-agent      为每个请求选择随机 User-Agent
    --auth=CREDENTIAL   身份验证凭证(例如 user:password 或 bearer token)
    --auth-type=TYPE    身份验证类型(basic, digest, bearer, ntlm, jwt, oauth2)
    --cert-file=PATH    包含客户端证书的文件
    --key-file=PATH     包含客户端证书私钥的文件(未加密)
    --user-agent=USER_AGENT
    --cookie=COOKIE
 
  连接设置:
    --timeout=TIMEOUT   连接超时
    --delay=DELAY       请求之间的延迟
    --proxy=PROXY       代理 URL(HTTP/SOCKS),可以使用多个标志
    --proxy-file=PATH   包含代理服务器的文件
    --proxy-auth=CREDENTIAL
                        代理身份验证凭证
    --replay-proxy=PROXY
                        重放找到的路径时使用的代理
    --tor               使用 Tor 网络作为代理
    --scheme=SCHEME     原始请求的协议或 URL 中没有协议时使用的协议(默认: 自动检测)
    --max-rate=RATE     每秒的最大请求数
    --retries=RETRIES   失败请求的重试次数
    --ip=IP             服务器 IP 地址
    --interface=NETWORK_INTERFACE
                        要使用的网络接口
 
  高级设置:
    --crawl             在响应中爬取新路径
 
  显示设置:
    --full-url          在输出中显示完整的 URL(在安静模式下自动启用)
    --redirects-history
                        显示重定向历史
    --no-color          无彩色输出
    -q, --quiet-mode    安静模式
 
  输出设置:
    -o PATH, --output=PATH
                        输出文件
    --format=FORMAT     报告格式(可用: simple, plain, json, xml, md, csv, html, sqlite)
    --log=PATH          日志文件

3、常用语法:

python dirsearch.py -u http://xxx.com          日常使用

python dirsearch.py -u http://xxx.com -r           递归扫描,不过容易被检测

python dirsearch.py -u http://xxx.com -r -t 30          线程控制请求速率

python dirsearch.py -u http://xxx.com -r -t 30 --proxy 127.0.0.1:8080         使用代理
python dirsearch.py -e php,html,js -u http://xxx.com            指定文件扩展名

python dirsearch.py -e php,html,js -u http://xxx.com -w /path/to/wordlist    使用自定义的字典


1.扫描单个URL,并限制线程数和扩展名:

python dirsearch.py -u http://xxx.com -t 10 -e php,asp --exclude-extensions=html


该命令将对 http://example.com 进行目录扫描,使用最多 10 个线程并仅检查扩展名为 php 和 asp 的路径,同时排除扩展名为 html 的路径。

2.从URL列表文件中批量扫描:

python dirsearch.py -l urls.txt -t 5 -e php


该命令将从 urls.txt 文件中读取目标URL列表,并使用最多 5 个线程对每个URL进行目录扫描,仅检查扩展名为 php 的路径。

3.使用自定义字典和深度递归扫描:

python dirsearch.py -u http://xxx.com -w custom-wordlist.txt -r --deep-recursive


该命令将对 http://example.com 进行目录扫描,使用自定义的单词列表文件 custom-wordlist.txt,并启用深度递归扫描,即在每个目录的所有深度上执行递归扫描。

4.在请求中使用自定义HTTP头:

python dirsearch.py -u http://xxx.com -H "X-Custom-Header: Value" -H "Authorization: Bearer token"


该命令将对 http://example.com 进行目录扫描,并在每个请求中包含自定义的HTTP头,如 X-Custom-Header 和 Authorization。

5.指定线程数和延迟时间:

python dirsearch.py -u http://xxx.com -t 20 --delay 0.5


上述命令将使用20个线程并设置每个请求之间的延迟为0.5秒。

6.使用自定义的请求头和超时时间:

python dirsearch.py -u http://xxx.com -H "Custom-Header: value" --timeout 10


这个命令将在每个请求中添加一个自定义的请求头 “Custom-Header: value”,并将超时时间设置为10秒。

7.包含和排除特定状态码:

python dirsearch.py -u http://xxx.com -i 200,302 -x 404,500


上述命令将只包含状态码为200和302的响应,并排除状态码为404和500的响应。

8.使用代理进行扫描:

python dirsearch.py -u http://xxx.com -p http://127.0.0.1:8080


这个命令将通过指定的HTTP代理(例如Burp Suite)对目标URL进行扫描。

9.保存输出到文件中:

python dirsearch.py -u http://xxx.com -o output.txt


上述命令将扫描结果输出到指定的文件 output.txt。

10.使用代理链进行扫描:

python dirsearch.py -u http://xxx.com -p http://proxy1:8080 -p http://proxy2:8080


上述命令将通过两个代理服务器 proxy1 和 proxy2 进行目标URL的扫描。

11.从标准输入读取URL:

cat urls.txt | python dirsearch.py --stdin -t 10


这个命令通过管道从 urls.txt 中读取URL,并使用最多 10 个线程对每个URL进行目录扫描。

12.启用递归扫描和重定向跟随:

python dirsearch.py -u http://xxx.com -r -F


上述命令将启用目录的递归扫描,并且在扫描时跟随HTTP重定向。

13.排除指定大小范围的响应:

python dirsearch.py -u http://xxx.com --exclude-sizes 0-100B,500KB-1MB


该命令将排除大小在 0 到 100 字节以及 500千字节到 1 兆字节范围内的响应。

14.设定最大运行时间和最大重试次数:

python dirsearch.py -u http://xxx.com --max-time 300 --retries 5


上述命令将设置最长运行时间为 300 秒,并允许失败请求最多重试 5 次。

15.指定自定义的User-Agent头:

python dirsearch.py -u http://xxx.com --user-agent "Custom User Agent"


上述命令将在HTTP请求中指定自定义的User-Agent头。

16.使用代理认证进行扫描:

python dirsearch.py -u http://xxx.com -p http://proxy.example.com --proxy-auth "username:password"


这个命令将使用指定的代理服务器 proxy.example.com 进行扫描,并提供代理认证的用户名和密码。

17.启用递归扫描并限制最大递归深度:

python dirsearch.py -u http://xxx.com -r -R 5


上述命令将启用递归目录扫描,并限制最大递归深度为5层。

18.排除特定文本出现的响应:

python dirsearch.py -u http://xxx.com --exclude-text "Not Found" --exclude-text "Error"


该命令将排除响应中包含指定文本(如 “Not Found” 和 “Error”)的路径。

19.设置最小和最大响应长度:

python dirsearch.py -u http://xxx.com --min-response-size 1000 --max-response-size 50000


上述命令将只包含响应长度在1000到50000字节之间的路径。


4、以不同格式保存输出

以简单格式保存输出

dirsearch.py​​ -u http://xxx.com/ --simple-report=report

我们可以清楚地看到,我的简单格式结果已成功创建。 我们可以轻松地分析我们的结果。

以 JSON 格式保存输出

dirsearch.py​​ -u http://xxx.com/ --json-report=report

以 XML 格式保存输出

dirsearch.py​​ -u http://xxx.com/ --xml-report=report

以 Markdown 格式保存输出

dirsearch.py​​ -u http://xxx.com/ --markdown-report=report

以 CSV 格式保存输出

dirsearch.py​​ -u http://xxx.com/ --csv-report=report

以普通格式保存输出

dirsearch.py​​ -u http://xxx.com/ --plain-text-report=report

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xlbb.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值