什么是 Token
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 Token 同时将此 Token 返回给客户端。
此外,Token 是有时效的,一段时间之后或下一次请求时用户需要重新验证
Pikachu 靶场实战
首先我们还是对他的请求包进行拦截,我们发现这次相比前几关多了一串token=78251……,目前我们还不知道他是干什么的
于是我们把他发送到Repeater里进行常规测试,当我们尝试修改密码后发送时我们发现它提示我们token error,意思就是已经产生了新的token,我们原来的token是无法通过验证的,这是我们便知道了token的作用
于是我们F12进入开发者模式查看网页源代码后找到了token的位置,发现token已经发生了变化,此时我们的思路产生了,要在爆破密码的同时将变化的token加上
所以我们打开Intruder进行爆破,选择“草叉爆破”,对密码和token进行爆破
先选择密码的爆破方式,然后加载字典
随后选择token的爆破方法,因为每一次的token都在变化,所以我们选择递归抓取
我们选择完以后发现递归抓取的选择框中没有东西,是因为我们还没有给他指定他要抓取的东西,于是我们进入到Options里进行设置,为他指定抓取目标
这时我们再返回递归抓取查看就可以看到已经有选项了
如果此时我们直接进行攻击我们会发现攻击无法进行,这是因为我们没有给他设置最大并发请求数,我们给他设置上
最终我们爆破成功,拿到了密码