基于 Selenium 的 Python 脚本,用于自动化搜索网络中的易受攻击应用。
DorkNet 可以接受单个 dork 或 dork 列表作为参数。传入正确的命令行参数后,脚本将使用 Selenium 和 Geckodriver 查找所需结果,并将结果保存到文本文件中,以便后续使用 SQLmap 或类似工具处理。
git clone https://github.com/NullArray/DorkNet.git
cd DorkNet
python dorknet.py
程序的选项如下。
-h, --help 显示此帮助信息并退出
-d DORK, --dork DORK 指定要使用的 dork
-l LIST, --list LIST 指定包含 dork 列表的文件路径
-v, --verbose 启用详细信息输出
一些示例以便清晰理解。
DorkNet.py -h
DorkNet.py -d inurl:show.php?id= -v
DorkNet.py -l /path/to/list.txt --verbose
代理设置
我添加了根据需要代理 Web 驱动连接的功能。只需在对话框出现时提供代理 IP 和端口,搜索引擎将通过您提供的代理设置访问。
您需要 Mozilla Geckodriver 才能运行。您可以手动安装。不过,我添加了一个 shell 脚本以便自动完成该过程(如果您愿意)。
要使用它,请进入 DorkNet 目录并赋予 shell 脚本执行权限,如下所示。
cd DorkNet
chmod +x gecko-setup.sh
# 使用以下命令执行 shell 脚本。
sudo ./gecko-setup.sh
该 shell 脚本还提供了一个选项,可通过 requirements 文件自动安装其余依赖项,方法是调用以下命令。
sudo -H pip install -r requirements.txt
我添加了一些逻辑,允许用户在 无头模式 下运行 Geckodriver,即不使用传统用户界面。当您有特别长的 dork 列表要处理时,这非常有用。在当前的实现中,用于代理我们到 Google 连接的函数会干扰设置 Geckodriver 选项以启用无头模式的操作。因此,在启用代理的情况下使用 --nogui 标志运行 DorkNet 将无法正常工作。
不过,希望以无头模式运行程序的用户仍然可以。我已将所有相关代码提交到仓库。目前代码只是被注释掉了。移除注释后即可正常工作,不会有问题。请查看此处的 提交历史 以了解受影响的代码行。
如果您真的想在设置 --nogui 时代理您的连接,可以像下面这样使用 ProxyChains 启动 DorkNet:
proxychains python dorknet.py -l /path/to/dorks.list --nogui --verbose
如果您没有 ProxyChains,只需点击上面的链接或使用您的包管理器安装即可。谢谢。
DorkNet 已收录于 BlackArch Linux 渗透测试发行版的 Web 应用工具与自动化分类下,因此该发行版预装了它。有关详细信息,请参阅其各自仓库中的相关 PKGBUILD 文件。
通过使用 Selenium 和 Geckodriver,DorkNet 能有效模拟普通浏览器。通过这种方式,程序大部分时间能够避免验证码。但在少数情况下,Google 仍然会弹出验证码。当手动搜索类似 dork 的字符串时,有时也会发生同样的情况。如果您遇到验证码,只需在 Geckodriver 中填写验证码,DorkNet 将继续正常运行。