目录
暴力破解就是根据字典一个个去试,一般利用工具来跑
这里全部使用burpsuite
一、基于表单的暴力破解
1.对用户名admin抓包
2.利用burpsuite的intruder模块
在password处设置爆破点
3.设置payload
这里随便加入了几个测试的爆破数值,没有用字典
4.开始爆破
这里发现123456的response的length与其他返回情况不同,可知123456为admin密码
二、验证码绕过(on server)
1.直接进行抓包测试
显示用户名或者密码错误,
更换密码来测试,依旧显示用户或密码不存在。证明验证码可以复用
2.对password进行爆破
当密码为123456时登录成功
3.源代码分析
验证后并没有销毁$_SESSION['vcode'],导致了$_SESSION['vcode']可以复用。
三、验证码绕过(on client)
1.前期测试
弹出这种窗口,一般有前端验证
2.输入正确的验证码进行抓包即可绕过前端验证
抓包后同样进行爆破。
四、token防爆破
1.token
什么是token - 简书
(1)Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
(2)Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
(3)使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮
如果我们没有这个token值得话,无法去请求到这个数据,但是这个靶场有token回显
1.抓包
2.查看页面源代码,发现有token回显在前端页面中
3.利用回显token值进行爆破
(1)选择pitchfork类型,设置变量
(pitchfork:每个变量对应一个相应的字典,去每个字典对应值。)
(2)对变量1的payload进行设置
(3)调整option获取源代码中的回显值
线程改为1
设置重定向
添加Grep-extract
选取token值
(4)对变量2进行设置(token)
(5)攻击成功