绕过另类CSRF_Token实现暴力破解

登录框

在测试的时候遇到一个没有验证码的登录框,但是有一次性的CSRF_Token。

不过这次的Token和往常的不一样,由随机名+随机值组成。

POST:/frontend/login/index?returnUrl=//baidu.com

username=admin&password=admin&aW6MMNQzhb5kMpb=Tmz1KPcngAD1Nwt7

BurpSuite中的宏只能通过固定的参数名来进行替换,比如csrf_token=abc可以替换为csrf_token=def。

提取和替换

使用原有的宏功能,分别提取出随机名和随机值,并加入到自动替换。

正则提取页面中的随机名和随机值
自动替换刚刚命名的name和value

使用宏后能够自动将随机名和随机值加入到请求参数中。

但是并没有达到我们想要的那种参数形式:随机名=随机值

无法通过随机CSRF_Token防护

二次代理+自动替换

我试着用BurpSuite插件:Match/Replace Session Action来解决问题,但这个插件和宏一样…只能根据参数名来替换参数值。

回到二次代理的思路上,BurpSuite再代理一个 BurpSuite ,通过Proxy中的Match and Replace功能,将请求中的name=替换为空,&value=替换为=号,即可实现HeW7yk0hOY0QBRG=zcg9lzz7NlecYEUL。

将配置好宏的BurpSuite代理到另一个专门替换的BurpSuite,即可实现宏自动提取CSRF_Token+自动替换随机名+随机值。

成功自动提取+自动替换

还是跟插件 Match/Replace Session Action 提一个issues好了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注