pikachu平台,暴力破解的原理与测试

 

一、暴力破解的概述:

暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。

二、暴力破解的原理与测试:

针对于系统信息安全的各种认证形式,暴力破解可分为以下几种类型:

1.基于表单型:

即前端的认证形式为“用户名”,“密码”两种认证因素。

先尝试一次登录,可随机输入一次用户名密码。

若认证错误会返回“username or password is not exists~”,即用户名密码错误,则进入Burp Suite进行抓包。

将抓包发送到“intruder”选项,通过右边的选键选定需要破解的用户名密码。

选定好后如下,再进入“payload”选项。

设置准备好的字典以及破解方式开始爆破。

爆破后可根据字符串排列得到破解成功的一组用户名密码。

基于表单的暴力破解测试完成。

 

2.验证码绕过型:

“验证码绕过”就是利用验证码认证的漏洞,无视或利用验证码从而再次达到暴力破解的方法,有以下两类:

①on-server:

根据前端显示的验证码,利用其验证码“不过期问题”,“逻辑过于简单”等问题,从而进行爆破的方法。

先随机输入一次用户名,密码以及正确的验证码,在Burp Suite中进行抓包。

记住当前的验证码,先猜想该验证码是否过期。

可进入Burp Suite代理选项的历史记录中,将抓包发送到“repeater”选项中,可进行以下操作:

再次运行之前错误的用户名,密码,与验证码,翻看返回的源代码,查看返回的语句;

仅修改正确的验证码,用户名密码不变,运行后翻看返回的源代码,查看返回的语句;

修改一次用户名密码,验证码不变,运行后翻看返回的源代码,查看返回的语句。

对比发现,后两次均返回“username or password is not exists~”,即表示两次运行的验证码均有效,可猜想该验证码可一直使用,所以,将抓包发送到“intruder”中进行爆破实验来证明猜想。

设置好字典与爆破类型,验证码部分仍用之前有效的验证码进行爆破。

爆破完毕,猜想正确。

以上可证明,可从前端获取验证码后,进行暴力破解。

 

②on-client:

根据后端运行可无视验证码,达到暴力破解的方法。

先输入一组用户名密码,即正确的验证码,从Burp Suite中获取抓包。

从历史记录中发送给“repeater”选项中。

先将验证码部分的数据清空,翻看其返回的源代码,查看返回的语句。

再输入错误验证码,运行,翻看其返回的源代码,查看返回的语句。

发现,无论验证码错误或未填,均显示“username or password is not exists~”,即可猜想在后端可无视验证码直接进行暴力破解,所以,将抓包发送到“intruder”选项进行爆破实验来证明猜想。

爆破完毕,猜想正确。

以上证明,可从后端绕过验证码进行暴力破解。

 

三、关于token的理解:

token一般在提交信息认证的同时一起提交,并在后台对其进行校验,从而起到防暴力破解的作用,但是若token值输出在前端的源码中,则容易被获取,从而失去防止暴力破解的意义。

先进入pikachu靶场,点击浏览器选项,找到开发者选项,点击选择器,选中用户名密码的范围,在查看器中可看到token的输出值,以及其数据类型。

刷新后可发现,每次的token值都不一样,可查看pikachu的后端代码。

该代码会先判断有没有提交用户名密码,随后会对比一起上交的token值与SESSION中的token值是否一致,
若不一致,其不会验证用户名密码。

当用户请求某个页面的时候,会执行“set_token()”这个函数,如下:


所以每次刷新之后,该函数生成的token值都会显示在如下图的“input”语句中,从而实现
token用户名密码一起上交到后端进行验证。

但是由于认证之前,token值已经可以被获取到,所以可以通过相关工具进行获取,所以其
失去了防止暴力破解的意义。

 

到此,暴力破解的学习内容完成。

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值