Commix([comm]and [i]njection e[x]ploiter 的缩写)是一款开源渗透测试工具,由 Anastasios Stasinopoulos(@ancst)编写,可自动检测并利用 命令(以及 代码)注入漏洞。

你可以访问截图集,其中展示了 wiki 上的一些功能。
[!IMPORTANT] 本项目正在积极开发中。 不同修订版本之间可能会出现破坏性变更。更新前请查看 变更日志。
Commix 主要设计为作为独立的 CLI 工具使用,它会在所测试的目标上执行操作系统 命令。将 commix 作为服务运行可能会带来安全风险。
建议谨慎使用,并且仅针对你拥有或已获得明确 授权测试的系统使用。
--technique 选择,或通过 --type 按其报告的类型选择 - 参见技术了解每种技术对目标的要求。--oob 证明执行并通过 HTTP/S 或 DNS 携带命令的输出,通过目标恰好拥有的任何客户端到达服务器 - 参见带外客户端了解它尝试的客户端以及如何固定一个。--eval 测试目标作为代码评估的内容,支持 PHP、Python、Ruby、JavaScript、PowerShell、Perl 或 Lua,使用相同的技术。shellshock 模块。--os-shell、内置的 reverse_tcp 和 bind_tcp 可升级为完整的 PTY、文件传输、Windows 注册表读/写,以及枚举直到密码哈希并对其提供字典攻击。stdin - 参见目标选项。--proof(用其自己的实验重新证明任何发现),以及一个用于从其他地方驱动扫描的 REST API。你可以通过克隆官方 Git 仓库在任何平台上下载 commix:
$ git clone https://github.com/commixproject/commix.git commix
或者,你可以下载最新的 tarball 或 zipball。
[!NOTE] 运行 commix 需要 Python(版本 3.7 或更高)。 所有其他依赖项都已捆绑,因此无需额外的安装步骤。
要获取所有选项和开关的列表,请使用:
$ python3 commix.py -h
测试单个可注入参数,然后进入目标上的 shell:
$ python3 commix.py --url="http://commix-testbed/scenarios/regular/GET/classic.php?addr=127.0.0.1" --os-shell
在响应不返回任何内容的情况下,通过带外证明执行:
$ python3 commix.py --url="http://commix-testbed/scenarios/regular/POST/blind.php" --data="addr=127.0.0.1" --oob
[!NOTE] 客户端是根据目标所拥有的来选择的,因此一个被剥离了常见 HTTP 客户端的主机仍然可以触及 - 在其出口已知的情况下,用
--oob-transport固定一个。默认情况下,--oob使用公共的oast.funinteractsh 服务器,因此你目标的交互元数据会离开你的网络;将--oob-server指向自托管实例以将其保留在内部。有关详细指南,请参阅out-of-band-oob-channelwiki 页面。
无人值守地扫描目标列表并将结果写入文件:
$ python3 commix.py -m targets.txt --batch --report-json=results.json
要了解 commix 可用选项、开关和/或如何使用 commix 的基本思路,请查看 usage、usage examples 和 filters bypasses wiki 页面。