Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dorkbot — 命令行工具,用于扫描Google搜索结果中的漏洞 | Kitploit
工具/GitHubGitHub/utiso/dorkbot
OSINT (开源情报)侦察漏洞扫描器信息收集Web安全渗透测试
GitHubutiso/dorkbot

dorkbot

命令行工具,用于扫描Google搜索结果中的漏洞

查看仓库
5471053个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Dorkbot 图片

dorkbot

扫描 Google(或其他)搜索结果中的漏洞。

dorkbot 是一个模块化命令行工具,用于对 Google 搜索查询或其他支持来源返回的网页集合执行漏洞扫描。它分为两组模块:

  • 索引器(Indexers) - 返回目标列表的模块
  • 扫描器(Scanners) - 对每个目标执行漏洞扫描的模块

目标在索引时存储在数据库中。扫描后,将生成一个标准的 JSON 报告,其中包含发现的任何漏洞。索引和扫描过程可以单独运行,也可以合并到单个命令中(每种最多一个)。

快速开始

  • 通过开发者控制台创建 Google API 凭据
  • 创建 Google 自定义搜索引擎,并记下搜索引擎 ID,例如 012345678901234567891:abc12defg3h
root@kitploit:~
$ pip3 install dorkbot wapiti3
root@kitploit:~
$ dorkbot -i google_api -o key=your_api_credential_here -o engine=your_engine_id_here -o query="filetype:php inurl:id"
root@kitploit:~
$ dorkbot -s wapiti

帮助

root@kitploit:~
 -h, --help            显示程序(或指定模块)帮助
root@kitploit:~
  --show-defaults       在帮助输出中显示默认值

用法

root@kitploit:~
usage: dorkbot [-c CONFIG] [-r DIRECTORY] [--source [SOURCE]]
               [--show-defaults] [--count COUNT] [--random] [-h] [--log LOG]
               [-v] [-V] [-d DATABASE] [-u] [--drop-tables]
               [--retries RETRIES] [--retry-on RETRY_ON] [--show-stats] [-l]
               [-n] [--list-sources] [--add-target TARGET]
               [--delete-target TARGET] [--flush-targets] [-m] [-e]
               [--list-sources] [--add-target TARGET]
               [--delete-target TARGET] [--flush-targets] [-m] [-e]
               [--list-sources] [--add-target TARGET]
               [--delete-target TARGET] [--flush-targets] [-m] [-e]
               [-i INDEXER] [-o INDEXER_ARG] [-s SCANNER] [-p SCANNER_ARG]
               [-t] [-x] [--mark-unscanned MARK_UNSCANNED] [-g] [-f]
               [--fingerprint-max FINGERPRINT_MAX] [--list-blocklist]
               [--add-blocklist-item ITEM] [--delete-blocklist-item ITEM]
               [--flush-blocklist] [-b EXTERNAL_BLOCKLIST]

options:
  -c, --config CONFIG   配置文件
  -r, --directory DIRECTORY
                        Dorkbot 目录(数据库、工具、报告的默认位置)
  --source [SOURCE]     与目标关联的标签
  --show-defaults       在帮助输出中显示默认值
  -h, --help            显示程序(或指定模块)帮助
  --log LOG             日志文件路径
  -v, --verbose         启用详细日志(可多次使用以增加详细程度)
  -V, --version         打印版本

retrieval:
  --count COUNT         要检索的目标数量(0/未设置 = 全部)
  --random              按随机顺序检索目标

database:
  -d, --database DATABASE
                        数据库文件/URI
  -u, --prune           在不扫描的情况下应用指纹和黑名单
  --drop-tables         删除并重新创建表
  --retries RETRIES     操作失败时的重试次数
  --retry-on RETRY_ON   应触发重试的错误字符串(可多次使用)
  --show-stats          显示总/未扫描目标计数和指纹计数

targets:
  -l, --list-targets    列出数据库中的目标
  -n, --unscanned-only  仅包含未扫描的目标
  --list-sources        列出数据库中的来源
  --add-target TARGET   向目标数据库添加一个 URL
  --delete-target TARGET
                        从目标数据库中删除一个 URL
  --flush-targets       删除所有目标
  -m, --delete-on-match
                        如果目标与黑名单项匹配则删除
  -e, --delete-on-error
                        如果处理目标时遇到错误则删除

indexing:
  -i, --indexer INDEXER
                        要使用的索引器模块
  -o, --indexer-arg INDEXER_ARG
                        向索引器模块传递参数(可多次使用)

scanning:
  -s, --scanner SCANNER
                        要使用的扫描器模块
  -p, --scanner-arg SCANNER_ARG
                        向扫描器模块传递参数(可多次使用)
  -t, --test            获取下一个可扫描目标但不标记为已扫描
  -x, --reset-scanned   重置所有目标的扫描状态
  --mark-unscanned MARK_UNSCANNED
                        重置指定目标的扫描状态

fingerprints:
  -g, --generate-fingerprints
                        为所有目标生成指纹
  -f, --flush-fingerprints
                        删除所有已生成的指纹
  --fingerprint-max FINGERPRINT_MAX
                        在删除新匹配之前每个指纹的最大匹配数

blocklist:
  --list-blocklist      列出内部黑名单条目
  --add-blocklist-item ITEM
                        向内部黑名单添加 IP/主机/正则表达式模式
  --delete-blocklist-item ITEM
                        从内部黑名单删除一个条目
  --flush-blocklist     删除所有内部黑名单条目
  -b, --external-blocklist EXTERNAL_BLOCKLIST
                        补充的外部黑名单文件/数据库(可多次使用)

工具 / 依赖

数据库驱动:

  • psycopg(pip install "psycopg[binary]")(推荐)
  • psycopg2(pip install psycopg2-binary)

扫描器:

  • Wapiti(pip install wapiti3)
  • Spectre Scan
  • Arachni(已弃用)

根据需要,dorkbot 将按以下顺序搜索工具:

  • 通过相关模块选项指定的目录
  • 位于 tools 目录(默认为当前目录内),子目录以工具名称命名
  • 在用户路径中可用(例如系统范围内安装)

文件

所有 SQLite 数据库、工具和报告都保存在 dorkbot 目录中,默认情况下该目录是当前目录。可以使用 --directory 标志强制指定一个目录。此目录内的默认文件路径如下:

  • SQLite 数据库文件: dorkbot.db
  • 外部工具目录: tools/
  • 扫描报告输出目录: reports/

配置文件默认从 ~/.config/dorkbot/(Linux/MacOS)或应用程序数据文件夹(Windows)读取,遵守 $XDG_CONFIG_HOME / %APPDATA%。此目录内的默认文件路径如下:

  • Dorkbot 配置文件: dorkbot.ini

配置文件

配置文件(dorkbot.ini)可用于预填充某些命令行标志。

dorkbot.ini 示例:

root@kitploit:~
[dorkbot]
database=/opt/dorkbot/dorkbot.db
[dorkbot.indexers.wayback]
domain=example.com
[dorkbot.scanners.arachni]
path=/opt/arachni/bin
report_dir=/tmp/reports

数据库

目标数据库存储要扫描的 URL 及其来源。它通过为每个唯一的页面+参数集构建指纹列表,并将新目标与现有指纹进行比较,来跟踪每个 URL 的扫描状态。指纹只需生成一次,并将在需要时按需生成。指纹和扫描状态可以独立重置。

支持的数据库地址:

  • postgresql://[连接字符串]
  • sqlite3:///path/to/sqlite_file.db
  • /path/to/sqlite_file.db
  • :memory:

注意,对于 SQLite 目标数据库,协议是可选的(外部黑名单仍然需要)。此外,可以通过指定数据库地址为 ":memory:" 来完全避免写入磁盘,使用 SQLite 的内存特性。

黑名单

黑名单是一个 IP 地址、主机名或 URL 模式正则表达式的列表,这些模式不应被扫描。如果目标 URL 与该列表中的任何项匹配,则会被跳过并从数据库中删除。内部黑名单维护在 dorkbot 数据库中,但可以通过将适当的文件路径或连接 URI 传递给 --external-blocklist 来指定单独的文件或数据库。目标首先与内部黑名单匹配,然后可选地与任何提供的外部黑名单匹配。

支持的外部黑名单:

  • postgresql://[连接字符串]
  • sqlite3:///path/to/blocklist.db
  • /path/to/blocklist.txt

黑名单项示例:

root@kitploit:~
regex:^[^\?]+$
regex:.*login.*
regex:^https?://[^.]*.example.com/.*
host:www.google.com
ip:127.0.0.1

第一个项将删除任何不包含问号的目标,即任何没有要测试的 GET 参数的 URL。第二个试图排除登录功能,第三个黑名单所有位于 example.com 的目标 URL。第四个排除主机名为 www.google.com 的目标,第五个排除主机解析为 127.0.0.1 的目标。

修剪

修剪标志遍历所有目标,计算指纹,并将后续匹配的目标标记为已扫描。同时也会将黑名单匹配的目标标记为已扫描。结果是数据库中的 --list-targets --unscanned-only 只返回可扫描的 URL。它遵循 random 标志以随机顺序处理指纹,以及 unscanned-only 标志以跳过已扫描的目标(这些目标必然已有指纹)。黑名单检查遵循 --delete-on-match 以删除目标而非标记为已扫描,以及 --delete-on-error 以删除任何无法解析有效主机名或无法将主机名解析为 IP 地址的条目。

通用选项

无论选择哪个模块,以下选项均适用:

root@kitploit:~
  --source [SOURCE]     与目标关联的标签
  --count COUNT         要检索/扫描的 URL 数量,或 -1 表示全部
  --random              按随机顺序检索 URL

此外,与黑名单相关的选项 --delete-on-match / --delete-on-error 将导致匹配或错误的目标被跳过。

索引器模块

通用选项

root@kitploit:~
  http-retries RETRIES     在出错时重试获取结果的次数
  threads THREADS          对 commoncrawl.org 的并发请求数

bing_api

root@kitploit:~
  搜索 bing.com

  key KEY             API 密钥
  query QUERY         搜索查询

commoncrawl

root@kitploit:~
  搜索 commoncrawl.org 的爬取数据

  domain DOMAIN       拉取指定域或子域的所有结果
  index INDEX         搜索特定的索引
  filter FILTER       应用于搜索的查询过滤器
  page-size PAGE_SIZE 每页请求的结果数

google_api

root@kitploit:~
  搜索 google.com

  key KEY             API 密钥
  engine ENGINE       CSE ID
  query QUERY         搜索查询
  domain DOMAIN       将搜索限制到指定域

pywb

root@kitploit:~
  搜索指定 pywb 服务器的爬取数据

  server SERVER       pywb 服务器 URL
  domain DOMAIN       拉取指定域或子域的所有结果
  cdx-api-suffix CDX_API_SUFFIX
                      索引 API 中索引后的后缀
  index INDEX         搜索特定的索引
  field FIELD         要查询的字段(fl)
  filter FILTER       应用于搜索的查询过滤器
  page-size PAGE_SIZE 每页请求的结果数

stdin

root@kitploit:~
  从标准输入接受 URL,每行一个

wayback

root@kitploit:~
  搜索 archive.org 的爬取数据

  domain DOMAIN       拉取指定域或子域的所有结果
  filter FILTER       应用于搜索的查询过滤器
  page-size PAGE_SIZE 每页请求的结果数
  from FROM           开始时间戳
  to TO               结束时间戳

扫描器模块

通用选项

root@kitploit:~
  args ARGS           空格分隔的附加参数列表
  report-dir REPORT_DIR
                      保存报告文件的目录
  report-filename REPORT_FILENAME
                      保存漏洞报告的文件名
  report-append       如果报告文件存在则追加
  report-indent REPORT_INDENT
                      漏洞报告 JSON 的缩进级别
  label LABEL         包含在漏洞报告中的友好名称字段

arachni

root@kitploit:~
  使用 arachni 命令行扫描器进行扫描

  path PATH           扫描器二进制文件路径

scnr

root@kitploit:~
  使用 scnr 命令行扫描器进行扫描

  path PATH           扫描器二进制文件路径

wapiti

root@kitploit:~
  使用 wapiti 命令行扫描器进行扫描

  path PATH           扫描器二进制文件路径
下载工具