xnLinkFinder-扫描工具
2023-1-13 09:42:4 Author: Ots安全(查看原文) 阅读量:46 收藏

点击蓝字,关注我们

xnLinkFinder这是用于发现给定目标的端点(和潜在参数)的工具。它可以通过以下方式找到它们:

  • 抓取目标(传递域/URL)

  • 抓取多个目标(传递域/URL 文件)

  • 在给定目录中搜索文件(传递目录名)

  • 从 Burp 项目中获取它们(通过 Burp XML 文件的位置)

  • 从 OWASP ZAP 项目中获取它们(传递 ZAP ASCII 消息文件的位置)

  • 处理waymore结果目录(从中搜索存档的响应文件,waymore -mode R并从中请求 URLwaymore.txt和原始 URL index.txt- 请参阅waymore README.md)

python 脚本基于我的 Burp 扩展GAP的链接查找功能。作为起点,我使用了 Gerben Javado 的神奇工具LinkFinder,并使用 Regex 查找链接,但进行了额外的改进以查找更多链接。

安装

$ git clone https://github.com/xnl-h4ck3r/xnLinkFinder.git$cd xnLinkFinder$ sudo python setup.py install

配置文件

该config.yml文件包含可以根据您的需要进行更新的密钥:

  • linkExclude.css,.jpg,.jpeg-检查所有链接的逗号分隔字符串列表(例如等)。如果链接包含任何字符串,则它将从输出中排除。如果输入是一个目录,则文件名将根据此列表进行检查。

  • contentExclude- 以逗号分隔的字符串列表(例如text/css,image/jpeg,image/jpg,等),所有响应Content-Type标头都会根据该列表进行检查。任何具有这些内容类型的响应都将被排除并且不会检查链接。

  • fileExtExclude- 以逗号分隔的字符串列表(例如.zip,.gz,.tar,等),目录模式下的所有文件都会根据该列表进行检查。如果文件具有这些扩展名之一,则不会搜索链接。

  • regexFiles- 由管道字符分隔的文件类型列表(例如php|php3|php5等)。当发现不是明显的链接但您想要挑选出有趣的文件类型时,这些在链接查找正则表达式中使用。如果添加到此列表,请确保转义任何点以确保正确的正则表达式,例如js\.map

  • respParamLinksFound† - 是否从响应中找到的链接获取潜在参数:True或False

  • respParamPathWords† - 是否在检索到的链接中添加路径词作为潜在参数:True或False

  • respParamJSON† - 如果响应的 MIME 类型包含 JSON,是否添加 JSON Key 值作为潜在参数:True或False

  • respParamJSVars† - javascript 变量是否设置为var,let或const添加为潜在参数:True或False

  • respParamXML† - 如果响应的 MIME 类型包含 XML,是否添加 XML 属性值作为潜在参数:True或False

  • respParamInputField† - 如果响应的 MIME 类型包含 HTML,是否添加任何 INPUT 字段的 NAME 和 ID 属性作为潜在参数:True或False

  • respParamMetaName† - 如果响应的 MIME 类型包含 HTML,是否添加任何 META 标签的 NAME 属性作为潜在参数:True或False

† 如果在配置文件中找不到它们,它们将默认为True

》》》》》》》例子:

从特定目标查找链接 - 基本

python3 xnLinkFinder.py -i target.com

从特定目标查找链接 - 详细

理想情况下,为主域(包括架构)提供范围前缀 ( -sp),并提供范围过滤器 ( -sf) 以仅将结果过滤到相关域(可以是文件或范围域)。此外,您可以传递 cookie 和客户标头以确保您找到仅对授权用户可用的链接。指定用户代理 ( -u desktop mobile) 将首先使用桌面用户代理搜索所有链接,然后使用移动用户代理再次尝试。可能存在与给定的用户代理相关的特定端点。给出深度值 ( -d) 将继续向在先前的深度搜索中找到的链接发送请求以查找更多链接。

python3 xnLinkFinder.py -i target.com -sp target_prefix.txt -sf target_scope.txt -spo -inc -vv -H 'Authorization: Bearer XXXXXXXXXXXXXX' -c 'SessionId=MYSESSIONID' -u desktop mobile -d 10

从 URL 列表中查找链接 - 基本

例如,如果您有一个 JS 文件 URL 文件,您可以在其中查找链接:

python3 xnLinkFinder.py -i target_js.txt

从目录中的文件中查找链接 - 基本

如果您有文件,例如 JS 文件、HTTP 响应等,您可以在这些文件中查找链接:

python3 xnLinkFinder.py -i ~/Tools/waymore/results/target.com

注意:子目录也被检查。可以指定该-mfs选项以跳过特定大小的文件。

从 Burp 项目中查找链接 - 基本

在 Burp 中,通过突出显示范围来选择要搜索的项目,例如,右键单击并选择Save selected items. 确保base64-encode requests and responses在保存之前选中选项选项。要从文件中获取所有链接(即使文件很大,您也可以获取所有链接):

python3 xnLinkFinder.py -i target_burp.xml

注意:xnLinkFinder 假设如果传递的文件的第一行以-i开头,<?xml那么您正在尝试处理 Burp 文件。

从 Burp 项目中查找链接 - 详细

理想情况下,为主域(包括架构)提供范围前缀 ( -sp),并提供范围过滤器 ( -sf) 以仅将结果过滤到相关域。

python3 xnLinkFinder.py -i target_burp.xml -o target_burp.txt -sp https://www.target.com -sf target.* -ow -spo -inc -vv

从 OWASP ZAP 项目中查找链接 - 基本

在 ZAP 中,通过突出显示历史记录来选择要搜索的项目,例如,单击菜单Export并选择Export Messages to File...。这将允许您保存所有要搜索的请求和响应的 ASCII 文本文件。要从文件中获取所有链接(即使文件很大,您也可以获取所有链接):

python3 xnLinkFinder.py -i target_zap.txt

注意:xnLinkFinder 假设如果传递的文件的第一行是(v2.11.1) 或(v2.12)-i格式,那么您正在尝试处理 OWASP ZAP ASCII 文本文件。==== 99 =============99 ==========

从 Waymore 结果目录中查找链接

waymore工具可用于从各种第三方 API 获取 URL,还可以从 archive.org(Wayback Machine)下载存档响应。将 waymore 结果目录传递给 xnLinKFinder 将搜索存档响应的内容,并从这些响应中请求 URLwaymore.txt和存档 URL,index.txt并从这些响应中获取更多链接。

python3 xnLinkFinder.py -i ~/Tools/waymore/results/target.com

注意:它作为普通目录传递,但 xnLinkFinder 将确定它是一个 waymore 结果目录和进程。

管道连接到其他工具

您可以将 xnLinkFinder 通过管道传输到其他工具。任何错误都会发送到stderr,找到的任何链接都会发送到stdout。除了通过管道传输到下一个程序的链接之外,仍然会创建输出文件。但是,潜在参数不会通过管道传输到下一个程序,但它们仍会写入文件。例如:

python3 xnLinkFinder.py -i redbull.com -sp https://redbull.com -sf rebbull.* -d 3 | unfurl keys | sort -u

您也可以通过stdin而不是传递输入-i。

cat redbull_subs.txt | python3 xnLinkFinder.py -sp https://redbull.com -sf rebbull.* -d 3

注意:您不能通过管道输入 Burp 或 ZAP 文件,这些文件必须使用-i.

示例输出

域的活动链接查找:

管道输入和输出:

项目地址:https://github.com/xnl-h4ck3r/xnLinkFinder

今日安全动态推荐:
  • 披露 JWT Secret Poisoning 中的一个新漏洞 (CVE-2022-23529)

https://unit42.paloaltonetworks.com/jsonwebtoken-vulnerability-cve-2022-23529/#post-126421-_e5mnowq02vg4

  • Zyxel 管理界面中无用的路径遍历 (CVE-2022-2030)

https://security.humanativaspa.it/useless-path-traversals-in-zyxel-admin-interface-cve-2022-2030/

  • CVE-2023-0210:Linux 内核中的缺陷允许未经身份验证的远程 DOS 攻击

https://securityonline.info/cve-2023-0210-flaw-in-linux-kernel-allows-unauthenticated-remote-dos-attacks/


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247496399&idx=2&sn=e29ea480af74e4f7d392ab94ac0fdb81&chksm=9badbb84acda329212a85e1b14f1a82bbd1dd704cb878aeec09b21077bb69f7bbd75284f2f11#rd
如有侵权请联系:admin#unsafe.sh