内容管理系统(CMS)负责创建和修改数字内容。它通常支持在协作环境中多用户操作。一些著名的例子包括:WordPress、Joomla、Drupal 等。
- Version 1.1.3 [25-07-2020]
- Version 1.1.2 [19-05-2019]
- Version 1.1.1 [01-02-2019]
- Version 1.1.0 [28-08-2018]
- Version 1.0.9 [21-08-2018]
- Version 1.0.8 [14-08-2018]
- Version 1.0.7 [07-08-2018]
...
CMSeeK 使用 python3 构建,因此运行此工具需要 python3,目前与 基于 Unix 的系统 兼容。Windows 支持将在后续添加。CMSeeK 依赖 git 进行自动更新,请确保已安装 git。
使用 CMSeeK 非常简单,只需确保已安装 python3 和 git(仅用于克隆仓库),然后执行以下命令:
https://github.com/Tuhinshubhra/CMSeeK引导式扫描:
否则:
程序帮助菜单:
使用方法:
python3 cmseek.py (引导式扫描)或
python3 cmseek.py [选项] <目标规范>
指定目标:
-u URL, --url URL 目标 URL
-l LIST, --list LIST 包含站点列表的文件路径
用于多站点扫描(逗号分隔或每行一个)
操纵扫描:
-i cms, --ignore--cms cms 指定要跳过的 CMS ID,以避免误报。用逗号 "," 分隔
--strict-cms cms 仅对提供的 CMS ID 列表进行目标检测。用逗号 "," 分隔
--skip-scanned 如果目标的 CMS 先前已被检测到,则跳过该目标。
重定向:
--follow-redirect 跟随所有/任何重定向
--no-redirect 跳过所有重定向,直接测试输入的目标
用户代理:
-r, --random-agent 使用随机用户代理
--googlebot 使用 Google 机器人用户代理
--user-agent USER_AGENT 指定自定义用户代理
输出:
-v, --verbose 增加输出详细程度
版本与更新:
--update 更新 CMSeeK(需要 git)
--version 显示 CMSeeK 版本并退出
帮助与其他:
-h, --help 显示此帮助信息并退出
--clear-result 删除所有扫描结果
--batch 扫描列表中每个站点后不再提示按回车键
使用示例:
python3 cmseek.py -u example.com # 扫描 example.com
python3 cmseek.py -l /home/user/target.txt # 扫描 target.txt 中指定的站点(逗号分隔)
python3 cmseek.py -u example.com --user-agent Mozilla 5.0 # 使用自定义用户代理 Mozilla 5.0 扫描 example.com
python3 cmseek.py -u example.com --random-agent # 使用随机用户代理扫描 example.com
python3 cmseek.py -v -u example.com # 扫描 example.com 时启用详细输出
你可以通过主菜单检查更新,或使用 python3 cmseek.py --update 检查并自动更新。
P.S:请确保已安装 git,CMSeeK 使用 git 进行自动更新。
CMSeek 通过以下方式检测 CMS:
CMSeeK 目前可以检测 170 多种 CMS。相关列表请查看 cmseekdb 目录下的 cmss.py 文件。
所有 CMS 的存储方式如下:
cmsID = {
'name':'CMS 名称',
'url':'CMS 官方网址',
'vd':'版本检测(0 表示否,1 表示是)',
'deeps':'深度扫描(0 表示否,1 表示是)'
}
所有扫描结果都保存在一个名为 cms.json 的 JSON 文件中,你可以在 Result\<目标站点> 目录下找到日志。暴力破解结果也同样存储在站点结果目录下的 txt 文件中。
以下是 JSON 报告日志的示例:

CMSeeK 拥有模块化的暴力破解系统,这意味着你可以添加自定义的暴力破解模块使其与 CMSeek 一起工作。有关创建模块的详细文档将很快发布,但如果你已经知道如何操作(分析预制模块后非常容易),你只需执行以下操作:
添加一个注释,格式如下:# <CMS 名称> 暴力破解模块。这将帮助 CMSeeK 通过正则表达式识别 CMS 的名称
添加另一个注释 ### cmseekbruteforcemodule,这将帮助 CMSeeK 识别这是一个模块
将模块复制粘贴到 CMSeek 目录下的 brutecms 文件夹中
打开 CMSeeK,并在第一个菜单中选择 R 重建缓存
如果一切正确,你将看到类似下面的内容(参考下方截图),你的模块将列在下次打开 CMSeeK 时的暴力破解菜单中
即使没有其他原因,你也可以享受退出 CMSeeK 的乐趣(请不要这样做),它会用各种语言的随机告别信息向你道别。
另外,你还可以尝试阅读代码中的注释,那些注释相当随机和奇怪!!!
主菜单
扫描结果
WordPress 扫描结果
请在提交新的 Issue 时附上以下信息:
缺少这些信息的 Issue 可能不会得到回复!
未经事先相互同意,使用 CMSeeK 测试或利用网站可能被视为非法行为。最终用户有责任遵守所有适用的地方、州和联邦法律。作者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。
CMSeeK 根据 GNU General Public License v3.0 许可。