skills/code-audit/php/php-exploit-chain/SKILL.md
PHP 审计漏洞链组装方法论。当已完成各分类漏洞审计、需要评估多个漏洞组合利用的可行性时触发。 覆盖: 文件写入→文件包含→RCE 链、反序列化→敏感操作链、SQL 注入→文件写入链、 SSRF→内部服务链、信息泄露→权限提升链。同时包含 Composer 依赖 CVE 扫描方法。
npx skillsauth add wgpsec/AboutSecurity php-exploit-chainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本 skill 是审计流水线 Phase 5 的核心环节。各分类审计 skill 产出独立漏洞清单后,在此评估多个漏洞组合利用的可行性,将单点漏洞串联为完整攻击路径。
| # | 入口漏洞 | 中间跳板 | 最终效果 | 严重度 |
|---|----------|----------|----------|--------|
| 1 | 文件写入(任意内容) | include/require 路径可控 | RCE | Critical |
| 2 | SQL 注入 | INTO OUTFILE / DUMPFILE | Webshell 落地 | Critical |
| 3 | 反序列化入口 | POP Gadget 链 | 任意操作(文件写/命令执行) | Critical |
| 4 | SSRF | 内部未认证服务(Redis/FastCGI) | RCE / 数据泄露 | High-Critical |
| 5 | 信息泄露(密钥/盐值) | 伪造签名 / 解密 Token | 认证绕过 | High |
| 6 | XSS(存储型) | CSRF Token 窃取 | 管理员操作劫持 | High |
open_basedir/disable_functions/secure_file_priv)Score = R * 0.40 + I * 0.35 + C * 0.25(与 pipeline 一致),链条取最弱环节的 R/I/C 值,任何一步不可达则整条链不成立文件写入 + include → RCE: 写入路径必须在 include_path 或 Web 根目录下;写入内容必须包含可控的 PHP 代码片段;include/require 的路径参数必须可控或可预测(如固定日志路径)。
SQL 注入 + INTO OUTFILE → Webshell: 数据库用户需具备 FILE 权限;secure_file_priv 必须为空或包含 Web 目录;写入路径必须 Web 可直接访问;目标文件不能已存在(OUTFILE 不覆盖)。
反序列化 + POP 链 → 任意操作: 用户可控数据到达 unserialize/phar:// 触发点;项目或 Composer 依赖中存在可用的 Gadget 类;__destruct/__wakeup → 危险 Sink 的调用链完整可达。
SSRF + 内部服务 → RCE/数据泄露: gopher:// 或 http:// 协议可用(未被 CURLOPT_PROTOCOLS 限制);目标内部服务无认证(Redis 无密码、FastCGI 无访问控制);响应可回显或支持盲利用(DNS/延时)。
信息泄露 + 伪造签名 → 认证绕过: 泄露的密钥为实际签名密钥(非测试值);签名算法已知且可本地复现;伪造的 Token/Cookie 在有效期内且未被吊销机制拦截。
XSS + CSRF → 管理员操作劫持: XSS 为存储型或可持久触发;目标管理页面无独立 CSRF Token 或 Token 可通过 XSS 读取;关键操作(添加管理员/修改配置)无二次确认。
composer.lock 获取所有直接 + 间接依赖的精确版本号require 的包所依赖的包)中的已知漏洞 — 开发者往往忽略composer audit(Composer 2.4+)、local-php-security-checker当链条无法成立时,必须明确说明断裂点:
secure_file_priv 限制了写入路径)open_basedir/disable_functions/secure_file_priv)已确认testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能