mcpField
C
client-side-exploitation

client-side-exploitation

github.com/mn-youssef安全4942 次安装20 周前更新
代码仓库

关于 client-side-exploitation

面向安全测试的技能,用于检查浏览器应用中的客户端与 HTTP 层漏洞,覆盖基础 XSS 和 CSRF 之外的风险。它指导授权评估、概念验证记录,以及可能影响其他用户的风险隔离测试。

主要功能

  1. 01覆盖九类客户端与 HTTP 攻击
  2. 02追踪 DOM XSS 与原型污染路径
  3. 03检查 CORS、CSP、点击劫持和消息处理
  4. 04记录漏洞及概念验证细节
  5. 05要求隔离测试共享基础设施风险

适用场景

  1. 01评估浏览器应用中易被漏检的漏洞
  2. 02调查凭据型 CORS 或不安全的 postMessage
  3. 03在隔离的预发布环境测试缓存投毒或请求走私

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mn-youssef/security-skills --skill client-side-exploitation

安装后在 Claude Code 中输入/client-side-exploitation确认已加载。

附带文件references/client-attacks.md

详细介绍

客户端利用(FIND/EXPLOIT — 浏览器与 HTTP 层)

概述

表示层会以扫描器无法发现的方式失效:客户端代码、浏览器特性,以及用户与服务端之间的 HTTP 处理机制。本技能涵盖 security-code-audit/references/web-frontend.md 中 XSS/CSRF 基础知识之外的高级攻击类别。

核心原则: 浏览器会执行页面指示它执行的任何内容,而代理/缓存会信任任何能够正确解析的内容。攻击客户端的信任和通道的假设。

适用场景 / 跳过场景

  • 适用场景: 应用提供由浏览器渲染的 UI,或包含客户端 JavaScript。
  • 跳过场景: 仅提供 API、CLI、守护进程,或没有浏览器界面的后端服务 → 不适用。
  • 如果不适用: 报告“client-side-exploitation: N/A — no frontend surface”并停止。这是“技能与应用不匹配”的标准情况——干净地跳过,不要强行进行浏览器测试。

⚠️ 授权

仅测试你拥有或获准测试的应用。请求走私和缓存投毒会影响共享缓存/代理的其他用户——只能在你控制的隔离预发布环境中测试。

攻击类别

类别测试内容
DOM XSS在客户端 JS 中追踪源(location、postMessage、存储)→ 汇(innerHTML、eval)
CSP 绕过CSP 配置薄弱:unsafe-inline、通配符、JSONP/Angular 小工具、缺少 base-uri
CORS 利用服务端反射任意 Origin + Allow-Credentials: true → 跨站窃取数据
postMessage 滥用处理程序未验证 event.origin,并将数据传入汇
原型污染将用户 JSON 合并到 Object.prototype → 小工具 → XSS/RCE/DoS
DOM 篡改注入的 id/name HTML 覆盖 JS 变量/函数
点击劫持敏感操作未设置 frame-ancestors/X-Frame-Options
Web 缓存投毒未纳入缓存键的输入(标头)被反射并缓存 → 提供给其他用户
请求走私前端与后端服务端之间的 CL.TE / TE.CL 不同步

检测方法和 PoC 示例见 references/client-attacks.md。

高价值但常被忽略

  • 携带凭据的 CORS: 漏洞不在于 *,而在于反射攻击者的 Origin,同时允许携带凭据。这会导致经过身份验证的响应被跨站泄露。
  • 原型污染: 库对攻击者 JSON 进行深度合并;通过已知小工具将其串联为 DOM XSS。
  • 请求走私: 影响最大(大规模会话窃取、缓存投毒、身份验证绕过)——谨慎测试,仅限隔离环境。

输出

每个发现都应包含:源→汇(针对 DOM/PP),或不同步/缓存机制、PoC,以及受影响对象(仅自身还是其他用户——后者会显著提高严重性)。

后续处理

DOM XSS → 通常可作为 vulnerability-chaining 的切入点;通过 active-pentest 重现;通过 security-hardening 修复(编码、严格的 CSP、精确匹配来源的 CORS、Object.freeze/空原型、前后端服务端规范化)。

常见错误

  • 只检查反射型/存储型 XSS——DOM XSS 完全存在于客户端 JS 中,需要追踪源→汇。
  • 认为 CORS 只有 * 才有问题——真正的缺陷是允许凭据时反射来源。
  • 因为请求走私“很难”而跳过它——这是客户端层影响最大的漏洞。
  • 在共享基础设施上测试缓存投毒/请求走私——可能影响真实用户;先隔离环境。

评论

支持 Markdown