Web 目录爆破神器:Dirsearch 保姆级教程
·
一、介绍
dirsearch
是一款用于目录扫描的开源工具,旨在帮助渗透测试人员和安全研究人员发现目标网站上的隐藏目录和文件。与 dirb
类似,它使用字典文件中的单词构建 URL 路径,然后发送 HTTP 请求来检查这些路径是否存在。
以下是 dirsearch
工具的一些特点和基本用法:
特点:
- 多线程扫描:
dirsearch
支持多线程扫描,提高目录扫描的效率。 - 灵活的配置: 用户可以通过配置文件自定义扫描的参数,包括使用代理、设置 User-Agent 等。
- 自定义报告: 支持生成自定义格式的报告,以便更好地整理和分享扫描结果。
- 支持多种扫描方式: 除了常规目录扫描,还支持文件扫描、扩展名扫描等多种扫描方式。
二、安装 Dirsearch
Kail Linux 下输入以下命令即可安装
apt-get install dirsearch
三、使用 Dirsearch
用法: 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 日志文件
更多推荐
已为社区贡献18条内容
所有评论(0)