kali怎么挖php漏洞_借助acunetix webinspect扫php洞【步骤】

WebInspect 不能直接扫描 PHP 源码漏洞,它是黑盒扫描器,仅通过 HTTP 请求/响应行为推测运行时漏洞,不解析 PHP 语法或语义。

Acunetix WebInspect 能不能直接扫 PHP 源码漏洞

不能。WebInspect 是黑盒扫描器,它不读取、不分析你的 php 文件源码,只通过 HTTP 请求和响应行为推测漏洞(比如 SQL 注入点、XSS 反射位置、路径遍历响应)。它不会像 php -lphpstan 那样做静态分析,也不会解析 includeeval$_GET 的上下文语义。

如果你手上有 PHP 源码,想做代码审计,得换工具或手动看;WebInspect 的作用是模拟攻击者访问你已部署的 PHP 网站,看它“运行时”是否暴露可利用的入口。

在 Kali 上配置 WebInspect 扫描 PHP 网站的关键步骤

WebInspect 不是 Kali 自带工具,它由 Acunetix 开发,需单独下载安装(Windows 主流,Linux 无原生版)。Kali 上只能通过以下方式间接使用:

  • 用 Kali 启动靶机(如 dvwabwapp 或自建 PHP 服务),再从 Windows 主机运行 WebInspect 扫描该靶机 IP 和端口
  • 在 Kali 中通过 virt-managerVirtualBox 跑 Windows 虚拟机,装 WebInspect,再扫本地网络中的 PHP 服务
  • 用 Kali 的 burpsuite + acu-connector 插件(非官方)转发请求给 WebInspect 的 API —— 但该接口不稳定,且新版 WebInspect 已移除公开 API 支持

别试 wine 运行 WebInspect:它依赖 .NET Framework 4.8+ 和大量 Windows COM 组件,wine 兼容性极差,启动即报错 System.IO.FileNotFoundExceptionCOMException

立即学习“PHP免费学习笔记(深入)”;

扫 PHP 网站前必须调好的三个设置

WebInspect 默认配置对 PHP 友好度低,不改会漏掉大量常见漏洞:

  • 关闭 “Skip URLs with query string parameters that look like session IDs”:PHP 常用 index.php?PHPSESSID=xxx,默认会被跳过
  • 在 “Scan Policy” → “Audit” 中启用 “PHP Code Injection” 和 “

    PHP File Inclusion” 规则组
    :这两个规则默认禁用,因为误报高,但 PHP 目标必须手动打开
  • 把 “Crawl Depth” 设为 5+,“Max URLs per folder” 提到 500:PHP 网站常有大量 ?id=1&cat=2&lang=zh 类似参数组合,爬虫深度不够会漏路径

另外,如果目标用了 mod_rewrite(如 /user/123 映射到 index.php?id=123),记得在 WebInspect 中开启 “Parse rewritten URLs” 并指定重写规则文件(如 .htaccess 内容粘贴进配置框),否则它只会当普通路径处理,不触发参数审计。

扫完怎么看 PHP 相关漏洞结果

报告里真正属于 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 InjectionXSS 不区分语言,只是说明输入点存在,具体是不是 PHP 实现、有没有 magic_quotes_gpc(旧版)或 mysqli_real_escape_string 误用,得人工验证响应包和源码。

最常被忽略的是扫描范围 —— WebInspect 默认不递归测试 POST 表单里的隐藏字段(如 ),而很多 PHP 后台逻辑靠这个字段分发,必须在 “Crawl Settings” 里勾选 “Include hidden fields in forms”。