题解![](https://i-blog.csdnimg.cn/direct/706f0ff77b8845dba6e47648eb7638bf.png)
bp——爆破(baopo)
或者从提示:弱密码 也可以看出来
打开网页 发现是登录页面,结合提示和描述,发现找密码就可以了
先看源码,没发现什么提示
所以直接用burp拦截 爆破
根据提示弱口令
想到可以用intruder爆破,而且提示了弱口令1000
百度一下就可以直接找到了
用txt文本保存弱口令词典
因为只爆破密码,所以保存密码的符号即可
再转到payload-->payload option->load-->top1000弱口令
再点击右上角start attack,等待结果
结果如下
但可以发现,status和length都是一样的值,无法直接判断
所以这里有两个方法:
方法一:
根据提示中的z....,发现字典中的z开头的口令并不多,一个一个在网址尝试登录就可以了
(至于response为什么不能看出来flag,o(╥﹏╥)o我也不知道,求教)
方法二:
查看response中的代码(看不懂直接让ai解释)
根据代码解释可以发现,因为r.code被源码定义为hacker1000,所以if语句肯定会被执行,使得返回长度都是一样的。
那么我们要做的就是将JavaScript中的var r={code: 'bugku10000'}过滤掉(人话:删掉)
过滤操作:点击Intruder中的选项找到Grep-Match(在响应中找出存在指定的内容的一项。)
在输入框中我们输入{code: 'bugku10000'}之后点击Add添加。
再次start attack(人话:爆破)
把横线拉到最右,可以找到过滤的选项,点击排序,会发现第一个不存在{code}(空白内容代表不存在)
再拉回左边,发现第一个是zxc123
在网站中登录即可得到flag
补充:
注意password=zxc123时,var r不再是bugku1000了,而是hacker1000
(这里就是过滤的地方)
知识点:
1.弱口令爆破
dddd,这里不在赘述
2.过滤JavaScript语句
过滤操作:点击Intruder中的选项找到Grep-Match(在响应中找出存在指定的内容的一项。)
在输入框中我们输入{code: 'bugku10000'}之后点击Add添加。