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

发布时间:2024-02-12 18:00

 

一、暴力破解的概述:

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

\"pikachu平台,暴力破解的原理与测试_第1张图片\"

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

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

1.基于表单型:

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

\"pikachu平台,暴力破解的原理与测试_第2张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第3张图片\"

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

\"\"

\"pikachu平台,暴力破解的原理与测试_第4张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第5张图片\"

\"pikachu平台,暴力破解的原理与测试_第6张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第7张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第8张图片\"

\"\"

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

\"pikachu平台,暴力破解的原理与测试_第9张图片\"

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

 

2.验证码绕过型:

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

①on-server:

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

\"pikachu平台,暴力破解的原理与测试_第10张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第11张图片\"

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

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

\"pikachu平台,暴力破解的原理与测试_第12张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第13张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第14张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第15张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第16张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第17张图片\"

\"pikachu平台,暴力破解的原理与测试_第18张图片\"

爆破完毕,猜想正确。

\"pikachu平台,暴力破解的原理与测试_第19张图片\"

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

 

②on-client:

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

\"pikachu平台,暴力破解的原理与测试_第20张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第21张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第22张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第23张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第24张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第25张图片\"

\"pikachu平台,暴力破解的原理与测试_第26张图片\"

爆破完毕,猜想正确。

\"pikachu平台,暴力破解的原理与测试_第27张图片\"

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

 

三、关于token的理解:

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

\"\"

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

\"pikachu平台,暴力破解的原理与测试_第28张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第29张图片\"

\"pikachu平台,暴力破解的原理与测试_第30张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第31张图片\"

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

\"pikachu平台,暴力破解的原理与测试_第32张图片\"
所以每次刷新之后,该函数生成的token值都会显示在如下图的“input”语句中,从而实现
token用户名密码一起上交到后端进行验证。

\"pikachu平台,暴力破解的原理与测试_第33张图片\"

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

 

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

\"pikachu平台,暴力破解的原理与测试_第34张图片\"

 

 

 

 

 

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号