CSRF跨站请求伪造
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/csrf-cross-site-request-forgery-lr-je1n。
技能介绍
要解决的安全问题
在现代Web应用中,Cookie会话机制的广泛使用让CSRF(跨站请求伪造)攻击成为常见威胁。攻击者通过诱导已登录用户访问恶意页面,利用浏览器自动携带的会话凭证发起非预期请求,例如转账、修改密码或删除数据。传统防御手段(如基础CSRF Token)在面对SameSite属性边界、自定义头缺失验证或无Token接口时往往失效,而JSON格式的POST请求、multipart表单提交等现代Web交互方式进一步扩大了攻击面。
技能如何工作
该技能聚焦现代CSRF攻击的高级向量,核心能力包括:
- 分析SameSite策略的边界条件:识别
SameSite=None的宽松配置、子域Cookie继承等场景中的绕过可能 - 构造自定义头绕过:利用未验证
X-Requested-With等头的端点实施CSRF - 处理JSON/multipart请求:针对
Content-Type: application/json的接口设计跨域请求构造方法 - 串联XSS漏洞:结合XSS payload提升CSRF的利用成功率,绕过Token校验
关键步骤遵循攻击链思维:首先识别目标应用的会话管理机制,测试Cookie的SameSite属性配置;接着评估端点对Content-Type和自定义头的验证逻辑;最后根据接口类型(JSON/表单)构造对应的CSRF payload,验证跨域请求的执行效果。
适用边界与注意点
该技能适用于安全测试场景,需在获得授权的环境中使用。它不替代完整的应用安全审计,而是针对CSRF这一特定漏洞类型提供深度测试方法。对于使用现代框架(如Django、Spring Security)的应用,需结合框架内置的CSRF防护机制(如csrf_exempt配置)进行针对性评估。此外,当目标应用采用OAuth/OIDC进行身份验证时,应配合OAuth状态验证等相关技能进行综合安全测试。
使用场景
- 渗透测试中发现目标站点使用Cookie会话但SameSite属性配置宽松,需要验证是否存在CSRF漏洞并构造跨域攻击页面
- 审查Web应用时发现POST接口仅验证Content-Type为application/json,需评估JSON CSRF的攻击可行性与防御缺口
- 对银行转账接口进行安全测试,该接口采用multipart表单提交,需构造跨域请求验证CSRF防护是否完整有效
- 在XSS漏洞评估中发现存储型XSS但目标接口有CSRF Token保护,需设计XSS与CSRF组合攻击链绕过防护
适合人员
- 渗透测试工程师:需要在授权范围内评估Web应用的CSRF防护强度,输出可执行的攻击路径与修复建议
- 应用安全审计员:审查基于Cookie会话的Web系统,定位SameSite配置、Token实现等常见CSRF防护缺陷
- 后端开发工程师:在上线前自查接口的CSRF防护逻辑,特别是JSON/multipart等现代请求格式的处理完整性
- 安全架构师:设计会话管理方案时需要理解现代CSRF攻击向量,以制定有效的纵深防御策略