登录
首页 >  文章 >  php教程

Kali用Acunetix扫PHP漏洞方法

时间:2026-02-23 12:12:46 473浏览 收藏

本文详解了在Kali Linux环境下如何借助Acunetix WebInspect(需Windows运行)对已部署的PHP网站进行黑盒安全扫描,明确指出WebInspect无法直接分析PHP源码,仅能通过HTTP交互检测运行时漏洞(如文件包含、代码注入、RCE等),并系统梳理了靶机搭建、扫描配置调优(如启用PHP专属规则、调整爬取深度与重写URL解析)、结果精准识别等关键实操要点,帮助渗透测试人员避开常见陷阱,高效定位真实PHP层风险。

kali怎么挖php漏洞_借助acunetix webinspect扫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 网站前必须调好的三个设置

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 表单里的隐藏字段(如 <input type="hidden" name="action" value="process">),而很多 PHP 后台逻辑靠这个字段分发,必须在 “Crawl Settings” 里勾选 “Include hidden fields in forms”。

今天关于《Kali用Acunetix扫PHP漏洞方法》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>