SourceWolf – Linux 中的 CLI Web 爬虫工具
网络爬虫是使用程序或自动化脚本对网页上的数据进行索引的过程,这些自动化脚本或程序有多个名称,包括网络爬虫、蜘蛛、蜘蛛机器人,通常简称为爬虫。如果目标的范围更大,手动爬取会消耗大量时间。 SourceWolf 是一个用Python语言开发的自动化脚本,它从域服务器和状态码中爬取目录。这可以帮助测试人员快速测试响应为 200 或 301 的页面。 SourceWolf 是一个开源和免费使用的工具。 SourceWolf 工具支持用于暴力破解的自定义单词列表。 SourceWolf 的输出特性非常好,输出存储在主目录中,主目录包含子目录,子目录和状态码目录分开。
SourceWolf 能做什么?
- SourceWolf 工具可以抓取响应以识别目标域的隐藏端点。
- SourceWolf 工具可以创建已识别的 JavaScript 源变量的详细列表。
- SourceWolf 工具支持使用自定义单词列表对文件和目录进行暴力破解。
- SourceWolf 工具可以显示在目标服务器上访问的每个导演的状态码。
- SourceWolf 工具为我们提供了在本地抓取响应文件的选项,这样您就不会再次将请求发送到您已经拥有其响应副本的端点。
SourceWolf的3种模式
1.爬取响应模式:在该模式下,隐藏端点被发现并以文本文件格式保存。
python3 sourcewolf.py -l domains.txt -o output/ -c crawl_output
2.蛮力模式:在这种模式下蛮力攻击是为了检测目标域上的文件和目录。单词列表用于蛮力。
python3 sourcewolf.py -b https://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt -s status
3.探测模式:在此模式下,检查目标域的活跃度。在此模式下验证目标主机是否处于活动状态。
python3 sourcewolf.py -l domains.txt -s live
如何将其集成到您的工作流程中?
SourceWolf 工具在我们的工作流程中非常有用。该工具支持过滤活动域。因此,我们可以从 Amass、AssetFinder 和 Sublist3r 工具中枚举子域,并将列表传递给 SourceWolf 工具。 SourceWolf 工具将仅过滤掉响应或实时子域,因此我们可以仅测试实时子域,而不是将时间浪费在非活动子域上。此工具还可用于查找目标域的端点。
命名约定
要在本地爬行文件,我们必须遵循一些命名约定规则。这些约定使 SourceWolf 可以直接识别主机名,从而解析所有端点,包括相关端点。
考虑一个 URL https://geeksforgeeks.org/api/
- 从 URL 中删除 https(协议)和尾部斜杠(//)(如果有)–> geeksforgeeks.org/api
- 将 '/' 替换为 '@' –> geeksforgeeks@api
- 使用上面获得的文件名将响应保存为文本文件。
所以文件最终看起来像 geeksforgeeks@api.txt
注意:确保您的系统上安装了Python ,因为这是一个基于 Python 的工具。点击查看安装过程:Linux上的Python安装步骤
在 Kali Linux 操作系统上安装 SourceWolf Tool
Step 1 : 检查Python Environment 是否已建立,使用以下命令。
python3
第 2 步:打开 Kali Linux 终端并使用以下命令移动到桌面。
cd Desktop
第 3 步:您现在在桌面上使用以下命令创建一个名为 SourceWolf 的新目录。在这个目录中,我们将完成 SourceWolf 工具的安装。
mkdir SourceWolf
第 4 步:现在使用以下命令切换到 SourceWolf 目录。
cd SourceWolf
第 5 步:现在您必须安装该工具。您必须从 GitHub 克隆该工具。
git clone https://github.com/micha3lb3n/SourceWolf.git
第六步:工具已成功下载到SourceWolf目录下。现在使用以下命令列出该工具的内容。
ls
第 7 步:您可以观察到在我们安装工具时已经生成了 SourceWolf 工具的新目录。现在使用以下命令移动到该目录:
cd SourceWolf
第 8 步:再次发现该工具的内容,使用以下命令。
ls
第 9 步:下载运行该工具所需的软件包,使用以下命令。
pip3 install -r requirements.txt
第 10 步:现在我们完成了安装,使用以下命令查看工具的帮助(更好地理解工具)索引。
python3 sourcewolf.py -h
在 Kali Linux 操作系统上使用 SourceWolf 工具
示例 1 :简单用法
python3 sourcewolf.py --url http://geeksforgeeks.org/wp-admin
在此示例中,我们仅测试目标域 geeksforgeeks.org 上的单个目录。我们有 500 作为状态代码,它定义了来自服务器的通用错误响应。
示例 2 :蛮力
python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ
1. 在本例中,我们将在 geeksforgeeks.org 域上对目录进行暴力破解。我们正在使用自定义或默认单词列表进行暴力破解。
2. 在下面的截图中,我们得到了服务器响应状态的结果。
示例 3 :详细
python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -v
1. 在本例中,我们将以更真实或更详细的方式打印结果。我们使用 -v 标签来表示详细模式。
2.在下面的截图中,我们实时得到了结果,所有测试的目录都显示在终端中,并带有服务器返回的状态码。
示例 4 :单词表
python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt
1. 在本例中,我们将使用 -w 标签中指定的自定义单词列表。
2. 在下面的截图中,我们已经指定了使用自定义单词列表的命令。
3. 在下面的截图中,我们得到了模糊测试的结果,我们正在尝试打开状态码为 200 (Ok) 的 http://geeksforgeeks.org/About URL。
4. 在下面的截图中,我们在网络浏览器上打开了关于页面的 URL。
示例 5 :输出
python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt -o ok
1. 在本例中,我们将结果保存在磁盘上以供进一步使用。我们使用 -o 标记以及将保存结果的目录的名称。
2. 在下面的屏幕截图中,我们得到了扫描结果。
3. 在下面的屏幕截图中,使用状态代码的名称创建了新目录。在此目录中,将保存相关的状态码网页信息。
4. 在下面的屏幕截图中,我们打开了 2xx 目录,其中包含所有来自服务器响应为 200 的网页。
5.在下面的截图中,我们打开了状态码为200的文件,所有的HTML、JS代码数据都存储在文件中。