这是一个用于发现端点、发现潜在参数、生成目标特定字典并查找给定目标秘密的工具。它可以通过以下方式找到它们:
waymore -mode R 的存档响应文件,以及从 waymore.txt 和 waymore_index.txt 中的原始 URL 请求 URL - 参见 waymore README.md)该 Python 脚本基于我的 Burp 扩展 GAP 的链接发现功能。 作为起点,我采用了 Gerben Javado 的出色工具 LinkFinder,并使用其正则表达式来查找链接,但进行了额外改进以发现更多。
xnLinkFinder 支持 Python 3。
在默认(全局)Python 环境中安装 xnLinkFinder。```bash
pip install xnLinkFinder
或```bash
pip install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git -v
您可以通过升级```bash pip install --upgrade xnLinkFinder
### pipx
使用[pipx](https://pypa.github.io/pipx/)在隔离的 Python 环境中快速设置```bash
pipx install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git
注意:要从PDF文件中提取链接,你可以在系统上安装pdftotext。在Linux上可以使用sudo apt install -y poppler-utils安装,在macOS上使用brew install poppler安装。如果没有安装pdftotext,xnLinkFinder将回退使用pypdf Python库。如果未找到文本(例如扫描的PDF),它将尝试使用ocrmypdf(如果已安装,例如sudo apt install -y ocrmypdf)。使用pdftotext和ocrmypdf通常比单独使用pypdf效果更好。
| ----------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -i | --input | 输入:一个 URL、URL 文本文件、要搜索的文件目录、Burp XML 输出文件、ZAP 输出文件、Caido CSV 文件、HAR JSON 文件或要搜索内容的单个文件。 |
| -o | --output | 保存链接输出的文件,可选路径(默认:output.txt)。如果设置为 cli,则仅输出到 STDOUT。如果文件已存在,则会追加内容(并去重),除非传递了 -ow 选项。 |
| -op | --output-params | 保存潜在参数输出的文件,可选路径(默认:parameters.txt)。如果设置为 cli,则仅输出到 STDOUT(但不会通过管道传递给其他程序)。如果文件已存在,则会追加内容(并去重),除非传递了 -ow 选项。 |
| -owl | --output-wordlist | 保存目标特定词表输出的文件,可选路径(默认:不输出词表)。如果设置为 cli,则仅输出到 STDOUT(但不会通过管道传递给其他程序)。如果文件已存在,则会追加内容(并去重),除非传递了 -ow 选项。 |
| -oo | --output-oos | 保存范围外链接输出的文件,可选路径(默认:不输出 OOS)。如果设置为 cli,则仅输出到 STDOUT(但不会通过管道传递给其他程序)。如果文件已存在,则会追加内容(并去重),除非传递了 -ow 选项。 |
| -os | --output-secrets | 保存响应中发现的秘密信息的文件(JSON 格式),可选路径(默认:不输出秘密信息)。如果文件已存在,则会合并秘密信息,除非传递了 -ow 选项。秘密信息按类型和值分组,并附带每个来源的数组。 |
| -ow | --output-overwrite | 如果输出文件已存在,则覆盖而非追加。 |
| -sp | --scope-prefix | 任何以 / 开头的链接将在输出中附加作用域域名,而不是原始链接。如果传递的值是有效文件名,则使用该文件;否则使用字符串字面量。 |
| -spo | --scope-prefix-original | 如果传递了 -sp 参数,则决定以 / 开头的原始链接是否也包含在输出中(默认:false) |
| -spkf | --scope-prefix-keep-failed | 如果传递了 -spkf 参数,则决定当响应为 404 或发生 RequestException 时,是否仍保留带前缀的链接在输出中(默认:false) |
| -sf | --scope-filter | 将过滤输出链接,仅当链接的域名属于指定作用域时才包含。如果传递的值是有效文件名,则使用该文件;否则使用字符串字面量。如果输入是域名/URL(或域名/URL 文件),此参数现在是必需的,以防止爬取不在作用域内的网站并避免误导性结果。 |
| -c | --cookies † | 添加 HTTP 请求附带的 Cookie。传递格式:'name1=value1; name2=value2;' |
| -H | --headers † | 添加 HTTP 请求附带的自定义 Header。传递格式:'Header1: value1; Header2: value2;' |