BugKu-bp
现象
- 题目说了弱密码top1000?z?????
- 打开后的页面如下:
操作
方法一
- 查看页面源代码,发现check.php,里面内容如下:
所以是要对<script> var r = {code: 'bugku10000'} if(r.code == 'bugku10000'){ console.log('e'); document.getElementById('d').innerHTML = "Wrong account or password!"; } else{ console.log('0'); window.location.href = 'success.php?code='+r.code; } </script>/success.php?code=来爆破。 - 爆破得到密码hacker1000,传
/success.php?code=hacker1000得到flag。
方法二
- 正常对页面进行爆破,用了top1000,但是所有长度一样。
- 查看爆破失败的源码,发现里面含有方法一里的那段JS代码,所以可以在爆破的设置里,添加一个选项,用于查看这个爆破结果是否包含
code:"bugku10000"
- 查看爆破结果,发现不包含bugku10000的请求的密码为zxc123,这个时候的code是hacker1000。

考点
爆破长度一样的情况下,通过返回内容过滤结果。
我的思路
- 看到页面以为是对密码爆破,我也不会这样关键字爆破,我就扔了TOP1000爆破,但是所有长度一样。
- 我寻思爆破也不用细研究,所以看了下下面的评论,发现是要爆破code,code在哪里?
- 见【操作-1】。
- 但是我的TOP1000没爆破出来啊。。。看了评论知道了密码是hacker1000,但是我的TOP1000里根本没有这个,后来说的什么Grep-match我也听不懂,正确密码的长度明显不同。
- 花金币看了作者的wp,终于看明白作者意图了,但是可能每个人手里的TOP1000不完全相同,爆破得不到结果很难想到这个角度……(我个人)
总之学到了!

浙公网安备 33010602011771号