文章目录
基于表单的暴力破解
一、定义
暴力破解:连续性尝试+字典+自动化
连续性尝试:指不停的利用不同的账号密码进行测试
字典:不同的可能成功登录web的常用或通过信息收集利用脚本生成的用户名或密码
自动化:利用脚本或者现成的软件来进行连续性测试
暴力破解:连续性尝试+字典+自动化
连续性尝试:指不停的利用不同的账号密码进行测试
字典:不同的可能成功登录web的常用或通过信息收集利用脚本生成的用户名或密码
自动化:利用脚本或者现成的软件来进行连续性测试
二、暴力破解漏洞形成的原因
1.网站没有对登录接口实施防暴力破解的措施
2.实施不合理的措施(如不安全的验证码)
3.使用token防御暴力破解则有可能会导致暴力破解漏洞
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
三、漏洞测试方法
1.确定登录接口的脆弱性
通过抓取登录数据包,观察验证元素(name,password,token)和response响应信息,判断是否存在被暴力破解的可能
2.对收集的字典进行优化
3.工具自动化操作(如线程,超时时间,重试次数等等)
四、靶机测试(Pikachu)
基于表单的暴力破解:
1.随便输入一个用户和密码,利用burpsuite抓取数据包
2.将数据包发送Intruder版块,设置positions(位置),攻击类型设置为pitchfork//此选择卡用于配置攻击的请求模块、有效负载标记(payload positions)和攻击类型(Attack type)(确定有效负载分配到有效负载位置的方式)Burp Suite 中Intruder模块使用详解
3.只标记username和password
4.设置layloads
5.设置成功后,点击start attack
6.用admin和123456登录试试,成功
暴力破解验证码绕过(on server)
只比基于表单破解多了一个判断验证码是否安全
将数据包发送到repeater块,send一下
发现这么句话,name和password不存在,说明验证码安全
任意修改一下name和password的值,再sent一下,发现依然有上图这句话,说明这个验证码可绕过,
接下来可以暴力破解了。
暴力破解token绕过
抓包后将数据包发送到intruder版块,将name,password和token设置为攻击变量,攻击模式设为pitchfork
设置payload,这里的payload主要是token的设置。
因为需要提交token,所以不能使用多线程,将线程改为1.
start attack