DWVA系列-1-brute high等级 绕过一次性token的爆破
打算从0到1,重新做一遍DWVA靶场,复习各个技巧并记录下思路和总结。
第三轮
爆破已经失效,返回结果全部都是302

这个没得法,将username和password分别使用万能密码sqlfuzz一遍,还是无果.....
打开源码分析,

发现没啥特殊的,只是对username和password进行了一次stripslashes过滤,查了下,这是一个过滤\的函数,那么我尝试admin' #绕过


发现也不可以.......问题出现哪里?我填入的admin' #中并没有\之类的反斜杠啊,我决定加入对经过处理后的username和passwrd打印,看看有啥不一样的地方

加了这三个打印,再试试admin' #看看会发生什么.......

admin' # 变成 admin \' #了,将'进行了转义。
首先想到宽字节注入 admin %df' or 1=1 #进行尝试。

很遗憾,还是不行。放弃注入这条路。
看源码,这里是进行了随机token验证,token验证不过,所以会一直302,但是没有限制次数,仍然可以进行爆破。
这里利用burp对一次性token进行绕过,进行爆破。
抓到包之后,放入Intruder,Attack type选择Pitchfork,Pitchfork是交叉爆破的意思。需要两个爆破点,比如1爆破点有A、B两个payload,2爆破点有C、D两个payload,那么将会发送两次请求,分别是A、C和B、D,在password和user_token加入爆破点。

将线程数设置为1,Pitchfork模式不支持多线程。如下,抓取我们需要提取的内容,

查看源代码,发现我们要抓取的地方是value='

那么就先输入1,2不需要输入,1的意思是在源码当中的匹配项,而当你点击Refetch response时,你在选中要提取的部分2、和其他没填的部分自然就自己填上了。

这里别忘了复制这里的value,作为payload的首个token发出,然后进入payload,选择第二个爆破点设置为Recursive grep,并将刚刚我们复制的token复制进来。

run

获取正确登录的姿势。

未完待续......
浙公网安备 33010602011771号