ps:火狐浏览器、phpstudy、pikachu、burpsuite
从来没有哪个时代的黑客像今天一样热衷于猜解密码——奥斯特洛夫斯基
首先让我们来看一下什么是暴力破解
接下来让我们开始今天正式的实验吧~~~
一、基于表单的暴力破解
打开之后发现,哎,让输入用户名和密码, 那我们就随便输入一个抓包试试吧~
(输入用户名和密码后点击login)
让我们来一起看看bp抓到的数据包吧~
post请求数据放在HTTP包体内
标黄的地方是我们输入的用户名和 密码
将数据包发送到Intruder模块,点击clear,将原始选中的变量清楚
然后我们选中输入的用户名和密码的位置,点击Add将其设置为变量,进行爆破位置的添加
爆破有四种类型,我们选择第四种(两个字典会进行随机的排列组合)
在payload里写入两个字典(这里可以自己写入,也可以使用系统中已经写好的字典),第一个为用户名的字典,第二个为密码的字典
点击右上角的start attack开始攻击,会显示出结果,点击length,会将不同长度的选择出来(根据返回数据包的长度进行判断是否成功)
使用破解出来的用户名密码进行登录,显示login success 登录成功
二、验证码绕过(on server)
还是老样子,看到用户名密码和验证码,我们先随便输一个
显示用户名密码错误
使用bp抓包,发现每提交一次,验证码都会更新一个新的
将数据包发送到Repeater模块,将验证码更改为更新后的验证码尝试绕过,更改后发现重发之后验证码将不会发生改变,成功绕过
将数据包发送到Intruder模块尝试账号密码破解(破解过程参考第一部分基于表单的暴力破解,在这里就不在做演示了)
三、验证码绕过(on client)
依旧是输入用户名密码验证码,显示账号密码错误
使用bp抓包,将数据包发送到Repeater模块中重发几次发现,每一次都会更新验证码,但是提示信息为用户名或密码错误
查看源码发现,验证码是由js代码随机生成的,点击一次就会随机生成一个验证码,只在前端实现,所以这个验证码其实就是个幌子,吓唬人
将数据包发送到Intruder模块中对账号密码进行破解,由于验证码形同虚设,所以我们不管它(破解过程参考第一部分基于表单的暴力破解)
四、token防爆破
依依依旧输入用户名和密码,显示用户名密码错误
使用bp抓包后发现有token值
在这里,我们可以将数据包发入intruder模块,对token值进行设置,使其每次更新时自动获取token值
添加字典
在这里要注意:写入第二个字典的时候payload type要选择Recursive grep类型
设置最大并发请求为1, 然后开始攻击(过程参考基于表单的暴力破解,不在演示)
安全小白初入门,第一次写博文,不足之处还请各位同行批评指正~~~