DVWA:security=high
GET包结构
![](https://img-blog.csdnimg.cn/2021062411074940.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsYXlzeXN0ZW0=,size_16,color_FFFFFF,t_70)
比起来之前low,medium等级,可以看到这里多了一个参数,user_token,为了防止重放攻击,但是明显能看出来user_token就是用户输入密码的md5形式 ,直接用burpsutie中Payload Processing处理下就OK了![](https://img-blog.csdnimg.cn/20210624110947259.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsYXlzeXN0ZW0=,size_16,color_FFFFFF,t_70)
OK,打脸了, 这个user_token,每次刷新都会随机一串,并不是用户名md5加密,继续分析~
由于不知道user_token是用的什么加密算法,就从前端中去寻找,这里发现了一个hidden的隐藏域
![](https://img-blog.csdnimg.cn/20210624111207952.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsYXlzeXN0ZW0=,size_16,color_FFFFFF,t_70)
之后是想找到这个user_token到底是怎么生成的,之前接触的user_token都是属于js前端生成的,但是像这种我找遍了js代码都没找到相关的,排除法判断这个user_token是由后端生成的
0x01 初步尝试
burpsuite捕获到浏览器发送的数据包,此时发包的token和浏览器中的token是相同的,服务器端肯定返回200状态
![](https://img-blog.csdnimg.cn/2021062414374383.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsYXlzeXN0ZW0=,size_16,color_FFFFFF,t_70)
返回200