ctf-bp
题目分析:
本题页面如下,需要填写密码登录成功可能会有flag
题目给的提示是top1000???z????
因此不难看出密码是top1000字典里的弱密码 且开头可能为z
可抓包试着看看。用火狐浏览器设置代理服务器127.0.0.1:8080,在页面中随便输入字符提交抓包:
点击该页面的action选项,选择send to intruder即暴力破解模块。选择position即暴力破解的位置,这里选择密码模块。
爆破之前我们要找到top1000的字典。以下为下载地址
https://gitee.com/XiuMulty/PasswordDic/blob/master/top1000.txt
这里可以点一键复制,新建txt文件,把复制的数据放进txt文件即可。
下载完成之后在payload模块里选择load加载top1000字典
加载完成之后 点击start attack
结果发现返回的长度都是一样的,那么是哪出了问题?
随便点一个响应包 会发现每个包响应时都有这串JS代码
分析代码后发现,如果r不等于{code:‘bugku10000’},就会登录成功,
那么我们就可以用grep-match(抓取指定内容)来过滤掉含有bugku10000的包
在option选项里找到grep-match 添加{code:‘bugku10000’}
重新发起攻击之后就会发现,不含bugku10000的只有一个,且为z开头的
即zxc123
回到界面输入密码后得到flag