本次实验用到的工具是burp suite,在pikachu平台进行实验。
一、基于表单的暴力破解
首先打开pikachu平台的暴力破解的“基于表单的暴力破解”
随便输入账户和密码,按确定时会显示你的账户或者密码错误!
打开bp,点击proxy中的HTTP history选项,这时,我们看到bp已经把我们刚刚输入的账户密码给抓了下来
右击捕抓到的网址,点击send to intruder
打开intruder,点击positions选项
点击clear,然后重新添加变量,添加账号和密码变量
攻击方式一般会选择cluster bomb,因为添加的是多个变量,而Cluster bomb的攻击方式是一个账号会去和字典中的所有密码匹配一遍,然后再轮到下一个账号再和字典里的所有密码匹配一遍,会重复到字典中的所有账号都匹配完才停止,这样极大的提高了破解的准确率
点击payloads选项,payload type一般会选择runtime file类型,因为这个可以直接放入我们已经写好的字典,然后在select file中选择写好的账号字典
payload set中的1是账户,2则是密码,步骤和上一步一样,放入写好的密码字典即可
点击start attack开始爆破
点击length进行排序,第一个也就是长度最短的那个就是我们破解的账号密码
最后在pikachu平台输入破解的账号密码,验证是否正确
点击登陆,显示登陆成功,说明破解成功!
二、验证码绕过(on server)
保持bp的抓包状态,随便输入账号和密码,验证码先不用输入,点击login
打开bp,右击选择send to repeater,把请求发送到 repeater
打开Repeater,点击GO
这时,会显示验证码不能为空,因为此前没有输入验证码
随便输入一个验证码,此时显示验证码错误!
然后把pikachu平台中的正确的验证码输入进去,则显示账号或密码错误!说明了后台会把提交的验证码进行验证,看是否正确,接下来进行暴力破解!
回到Proxy开始进行暴力破解,首先把请求发送到Intruder(步骤和基于表单的暴力破解是一样的),把正确的验证码输入进去,然后添加账号密码两个变量
放入写好的字典,开始爆破
破解后,把破解的账号和密码输入到pikachu平台验证
点击登陆后显示登陆成功,说明破解成功
三、验证码绕过(on client)
保持bp的抓包状态,在pikachu平台中随便输入账号和密码,并输入正确的验证码,不然不能提交
打开bp,显示抓包成功
右击把请求发送到Repeater,点击GO显示账户或密码错误!
把验证码删除或者修改再点击GO,也是显示的账号或密码错误!这样就可以确认验证码虽然提交了,但后台却没有进行验证!
接下来开始进行破解。回到Proxy把请求发送到Intruder,然后添加账户和密码变量,放入字典,开始进行爆破(步骤都是一样的破解步骤)
选择破解的账号密码,点击破解中的Response,显示登陆成功,说明破解成功!
注:破解中所使用的字典是我自己写的账号和密码字典,里面要确保有一个正确的账号和密码!