joomscan仅适用于Joomla CMS,不能扫描通用PHP漏洞;它依赖Joomla特有路径、文件和函数,不解析PHP代码逻辑,也不支持WordPress等其他PHP站点。

别用 joomscan 挖 PHP 漏洞 —— 它只针对 Joomla,不是通用 PHP 漏洞扫描器。
为什么 joomscan 和“PHP 漏洞”根本不是一回事
joomscan 是专为 Joomla CMS 设计的指纹识别与漏洞探测工具,底层依赖 Joomla 特定的路径(如 /administrator/manifests/files/joomla.xml)、扩展名(.xml 清单文件)、核心函数(JFactory::getApplication())和已知 Joomla 插件/模板的 CVE 列表。它不会解析 PHP 代码逻辑、不检测 SQLi/XSS/反序列化等通用 PHP 层漏洞,也不支持对非 Joomla 的 PHP 站点(比如自写 PHP、WordPress、ThinkPHP、Laravel)做有效扫描。
常见误操作包括:对一个 index.php 页面直接跑 joomscan -u http://target.com/index.php,结果返回 [!] Target is not a Joomla! site 后就放弃 —— 这不是工具问题,是目标类型错配。
真正该用什么工具挖 PHP 站点的漏洞
根据目标形态选工具,不是硬套 joomscan:
立即学习“PHP免费学习笔记(深入)”;
- 如果是 Joomla 站点:用
joomscan或更新的joomlavs(支持 Joomla 4.x),配合手动验证/administrator/登录页、/plugins/目录遍历、已知 CVE 如 CVE-2015-8562(RCE)或 CVE-2018-8045(SQLi) - 如果是通用 PHP 站点(无明确 CMS):优先用
gau+gf提取参数,再喂给dalfox(XSS)、sqlmap(SQLi)、ffuf(路径爆破);例如:echo "http://target.com/" | gau | grep "?" | gf xss | dalfox pipe - 如果怀疑存在 PHP 反序列化:抓包看是否含
unserialize(、__wakeup、phar://,用phpggc生成 payload,配合curl手动触发 - 想快速看 PHP 配置风险:访问
/phpinfo.php或常见泄露路径(/info.php,/test.php),检查display_errors=On、allow_url_include=On、expose_php=On
joomscan 实际使用中三个高频翻车点
就算确认是 Joomla 站,joomscan 也容易因配置不当漏报或卡死:
-
--random-agent必须加,否则很多 Joomla 站(尤其启用了 Cloudflare 或 mod_security)会直接 403;不加这个参数时joomscan默认用固定 UA,极易被 WAF 拦 - 别依赖默认线程(
-t 10),Joomla 后台常有登录锁机制,高并发扫/administrator/index.php会触发 IP 封禁;建议先-t 1测通路,再逐步加到-t 3 - 插件扫描(
-e)默认只查 top 10,但真实环境中关键漏洞常在冷门插件里(如com_jce,com_fabrik);得手动加-e com_jce,com_fabrik指定扩展名,否则 CVE-2013-7091(JCE 文件上传)这种高危项直接跳过
真正的难点不在工具命令怎么敲,而在于判断「这到底是不是 Joomla」——看 HTTP 响应头有没有 X-Powered-By: Joomla,源码里搜 jQuery.noConflict(); 后面是否跟 Joomla 字符串,或者用 whatweb 先做指纹:whatweb -v http://target.com。没确认 CMS 类型就开扫,等于蒙眼打靶。











