golismero已停止维护,无法检测现代PHP漏洞;推荐dalfox+nuclei组合,并手动验证LFI/RFI及PHP-FPM FastCGI漏洞。

golismero 在 Kali 中已停止维护,别再用它扫 PHP 漏洞
golismero 早在 2016 年就停止更新,其内置的 PHP 漏洞检测规则(如 php_eval_injection、php_remote_file_include)严重过时,无法识别现代框架(Laravel、ThinkPHP)、Composer 依赖漏洞或 PHP 7.4+ 的新利用链。Kali 2023 及之后版本默认已移除 golismero 包,强行从源码安装会因依赖冲突(如旧版 twisted 与 Python 3.9+ 不兼容)导致 ImportError: cannot import name 'HTTPSConnection'。
替代方案:用 dalfox + nuclei 组合做 PHP 漏洞主动探测
真正能打的组合是 dalfox(专注 XSS/SSRF/模板注入)配合 nuclei(覆盖 SQLi、RCE、XXE、LFI 等),两者都支持 PHP 目标且规则持续更新:
-
dalfox能识别类动态拼接、Twig/Blade 模板上下文逃逸,加--skip-bav可绕过基础 WAF 对的拦截 -
nuclei -t nuclei-templates/http/cves/下的CVE-2023-3823(phpMyAdmin RCE)、CVE-2022-23875(Laravel Ignition debug mode)等模板直击真实 PHP 应用漏洞 - 对存在
phpinfo()页面的目标,用nuclei -t http/miscellaneous/phpinfo-disclosure.yaml快速提取 PHP 版本、扩展、open_basedir配置,决定后续是否尝试 LFI 或phar://反序列化
手动验证 PHP LFI/RFI 时必须检查的三个点
自动扫描器常漏掉关键上下文,手动验证更可靠:
- 确认目标是否禁用了
allow_url_include:访问?file=php://filter/read=convert.base64-encode/resource=/etc/passwd,若返回 base64 编码内容说明未禁用,可进一步尝试php://input或data://协议 - 检查
include()/require()调用是否经过basename()或str_replace()过滤:传入?file=../../etc/passwd%00.jpg(注意 URL 编码空字节)可能绕过简单后缀检查 - 观察报错信息是否暴露绝对路径:如
Warning: include(): Failed opening '/var/www/html/inc/../../etc/passwd' for inclusion,说明路径拼接逻辑可被控制,此时尝试?file=phar:///var/www/html/uploads/test.phar/test.txt触发反序列化
别忽略 PHP-FPM 的 FastCGI 协议漏洞
很多“扫不出漏洞”的 PHP 站点实际存在 PHP-FPM 配置错误,可通过 curl 直接利用,无需 WebShell:
立即学习“PHP免费学习笔记(深入)”;
curl -X POST http://target.com/index.php -d "a=system('id');"
这行命令本身不会触发 RCE,但若目标使用 Nginx + PHP-FPM 且 fastcgi_split_path_info 配置不当(常见于旧版 Laravel 配置),构造如下请求可执行任意命令:
curl -v "http://target.com/index.php/.php?a=system('cat%20/etc/passwd')"
关键在于末尾的 /.php —— Nginx 将其识别为 PHP 脚本路径,而 PHP-FPM 会把 /.php 后的内容当作查询参数传递给 index.php,导致 $_GET['a'] 被直接 eval() 执行。这种利用不依赖 allow_url_fopen 或 disable_functions 设置,也绕过大部分 WAF 对 system( 的关键字过滤。











