WebInspect 不能直接扫描 PHP 源码漏洞,它是黑盒扫描器,仅通过 HTTP 请求/响应行为推测运行时漏洞,不解析 PHP 语法或语义。
不能。WebInspect 是黑盒扫描器,它不读取、不分析你的 php 文件源码,只通过 HTTP 请求和响应行为推测漏洞(比如 SQL 注入点、XSS 反射位置、路径遍历响应)。它不会像 php -l 或 phpstan 那样做静态分析,也不会解析 include、eval、$_GET 的上下文语义。
如果你手上有 PHP 源码,想做代码审计,得换工具或手动看;WebInspect 的作用是模拟攻击者访问你已部署的 PHP 网站,看它“运行时”是否暴露可利用的入口。
WebInspect 不是 Kali 自带工具,它由 Acunetix 开发,需单独下载安装(Windows 主流,Linux 无原生版)。Kali 上只能通过以下方式间接使用:
dvwa、bwapp 或自建 PHP 服务),再从 Windows 主机运行 WebInspect 扫描该靶机 IP 和端口
virt-manager 或 VirtualBox 跑 Windows 虚拟机,装 WebInspect,再扫本地网络中的 PHP 服务
burpsuite + acu-connector 插件(非官方)转发请求给 WebInspect 的 API —— 但该接口不稳定,且新版 WebInspect 已移除公开 API 支持别试 wine 运行 WebInspect:它依赖 .NET Framework 4.8+ 和大量 Windows COM 组件,wine 兼容性极差,启动即报错 System.IO.FileNotFoundException 或 COMException。
WebInspect 默认配置对 PHP 友好度低,不改会漏掉大量常见漏洞:
index.php?PHPSESSID=xxx,默认会被跳过?id=1&cat=2&lang=zh 类似参数组合,爬虫深度不够会漏路径另外,如果目标用了 mod_rewrite(如 /user/123 映射到 index.php?id=123),记得在 WebInspect 中开启 “Parse rewritten URLs” 并指定重写规则文件(如 .htaccess 内容粘贴进配置框),否则它只会当普通路径处理,不触发参数审计。
报告里真正属于 PHP 特有漏洞的条目其实不多,重点盯这几个分类:
PHP File Inclusion:显示为 “Detected local file inclusion via parameter ‘file’”,对应代码里类似 include($_GET['file']);
PHP Code Injection:提示 “Execution of PHP code detected”,通常出现在 eval()、assert() 或 create_function() 的上下文中Remote Code Execution (RCE):不是所有 RCE 都是 PHP 引起的,但若 HTTP 响应里返回了 phpinfo() 输出或 system('id') 结果,基本可判定后端是 PHP 且被绕过了过滤注意:WebInspect 报的 SQL Injection 或 XSS 不区分语言,只是说明输入点存在,具体是不是 PHP 实现、有没有 magic_quotes_gpc(旧版)或 mysqli_real_escape_string 误用,得人工验证响应包和源码。
最常被忽略的是扫描范围 —— WebInspect 默认不递归测试 POST 表单里的隐藏字段(如 ),而很多 PHP 后台逻辑靠这个字段分发,必须在 “Crawl Settings” 里勾选 “Include hidden fields in forms”。