一、CSRF Token验证的常见缺陷分为三类验证逻辑、会话绑定、实现方式。1.验证逻辑缺陷缺陷类型核心问题攻击方式依赖请求方法仅对 POST 验证令牌对 GET 跳过验证攻击者将请求改为 GET 方法直接发起 CSRF依赖令牌存在仅当令牌参数存在时才验证省略则跳过攻击者直接移除请求中的令牌参数无需伪造值即可绕过2.会话绑定缺陷这类问题是令牌与用户会话的关联失效导致攻击者可复用自己的令牌攻击受害者。缺陷类型核心问题攻击方式未绑定用户会话令牌不与特定用户会话关联仅为全局池中的有效令牌攻击者用自己账号获取有效令牌在受害者请求中直接使用绑定到非会话 Cookie令牌绑定到独立 Cookie非会话 Cookie两套框架未集成攻击者获取自己的令牌 对应 Cookie通过 Cookie 注入行为植入受害者浏览器再发起攻击3.实现方式缺陷缺陷类型核心问题攻击方式令牌在 Cookie 中重复使用令牌同时存在于 Cookie 和请求参数校验仅要求两者一致无服务端记录攻击者自定义任意令牌通过 Cookie 注入行为植入受害者浏览器在请求中提交相同令牌即可通过验证二、靶场1.PortSwigger靶场之CSRF where token validation depends on request method更改邮件并抓包下图是change request method之后的原本是POST,之后重放send之后邮件更改成功之后扩大利用复制生成的Poc,点Go to exploit server生成带有Poc的网页发给受害者点击即可。2.Lab: CSRF where token validation depends on token being present和刚才一样改邮件抓包。这次是删除csrf参数生成Poc我们删除这部分观察会发生什保存发给受害者当受害者点击时利用成功。
绕过csrf令牌认证
一、CSRF Token验证的常见缺陷分为三类验证逻辑、会话绑定、实现方式。1.验证逻辑缺陷缺陷类型核心问题攻击方式依赖请求方法仅对 POST 验证令牌对 GET 跳过验证攻击者将请求改为 GET 方法直接发起 CSRF依赖令牌存在仅当令牌参数存在时才验证省略则跳过攻击者直接移除请求中的令牌参数无需伪造值即可绕过2.会话绑定缺陷这类问题是令牌与用户会话的关联失效导致攻击者可复用自己的令牌攻击受害者。缺陷类型核心问题攻击方式未绑定用户会话令牌不与特定用户会话关联仅为全局池中的有效令牌攻击者用自己账号获取有效令牌在受害者请求中直接使用绑定到非会话 Cookie令牌绑定到独立 Cookie非会话 Cookie两套框架未集成攻击者获取自己的令牌 对应 Cookie通过 Cookie 注入行为植入受害者浏览器再发起攻击3.实现方式缺陷缺陷类型核心问题攻击方式令牌在 Cookie 中重复使用令牌同时存在于 Cookie 和请求参数校验仅要求两者一致无服务端记录攻击者自定义任意令牌通过 Cookie 注入行为植入受害者浏览器在请求中提交相同令牌即可通过验证二、靶场1.PortSwigger靶场之CSRF where token validation depends on request method更改邮件并抓包下图是change request method之后的原本是POST,之后重放send之后邮件更改成功之后扩大利用复制生成的Poc,点Go to exploit server生成带有Poc的网页发给受害者点击即可。2.Lab: CSRF where token validation depends on token being present和刚才一样改邮件抓包。这次是删除csrf参数生成Poc我们删除这部分观察会发生什保存发给受害者当受害者点击时利用成功。