token概念:token是对session的一个升级,解决了前后端分离的session不能共享的一个难题
实验部分
打开pikachu靶场->选中token防爆破->F12调出控制台-网络(network)
在请求中我们可以看到传递给服务器的参数是有token的,但是表单中没有看到token啊,那么这个token是哪里来的呢?
点击调试器的箭头选取页面元素,拖到表单那里看看
可以看到token被放在了一个隐藏的input输入框里面,进一步对token分析。现在token的值和上一次请求中的值是不相等的,那么会不会下一次相等呢?试试看
最终经过尝试可以发现,通过F12调试看到的隐藏输入框的token的value是跟下一次发送的token相等的,所以就可以打开proxy插件,把数据包拦截发送到burp进行尝试爆破
把数据包发送到intruder模块进行爆破
对于用户名和密码用相关的弱口令字典进行爆破就可以了,详情看juejin.cn/post/725118…
recursive grep模式,能够让攻击的前一个请求的返回包中提取出每个payload,我们可以利用这个功能从html中提取出token,重放到下一次请求中
选择第三个参数,type选择recursivegerp,点击option,找到Gerp-Extract,点击add
找到hidden的name=token的input标签,选中value,点击Ok。此时,每次请求的时候都会用响应回来的token进行下一次请求了
这里的重定向选择always
由于recursivegerp不能使用多线程,我们就在Resource Pool那里把线程数量改成1
最后,因为之前的recursivegerp都是设置下一次的token的值,所以我们需要给当次的token进行赋值
用户名就固定admin,给密码添加弱口令字典就可以点击start sttack进行爆破了
作为一个刚入门的网安小白,欢迎大佬们多多指教~