web安全_暴力破解

一.暴力破解概念

所谓“暴力破解” 就是用穷举法来算,也就是说从键盘上的字母和数字一个一个的试直到找到正确的密码。它的数量可以是100个,1000个,上亿个密码来尝试登陆你的账号和密码,在没有安全意识下,用户的密码是很容易被破解的。

哪我们如何防护了??
1.设置密码时,大小写混合加数字和符号,并且足够长,这样别人爆破两年可能都爆破不出来。
2.在用户提交请求处添加验证码,并且验证码使用一次就失效,否则存在绕过。
3.不随意在不安全的网站或软件登录密码,因为那可能是钓鱼。

二.burp爆破

我们以第一皮卡丘靶场的第一关为列
正确流程如下:
1.打开代理提交登陆的参数

在这里插入图片描述
2.发送到intrude模块
在这里插入图片描述

3.吧原来的clear掉,然后选择需要爆破的位置点击add
再选择字典,方式有如下4种

sniper只能用一个字典(爆破一个参数),添加两个也没用
Battering ram只能用一个字典(爆破多个参数),用一个字典先爆破第一个参数,再爆破其他参数
Pitchfork可以使用多个字典,字典交叉爆破,相互使用
Cluster bomb可以使用多个字典,字典互不干扰自己爆破自己的
常选用思路爆破一个参数则使用第一个爆破多个参数使用第四个这样可以互不干扰,当然你也可以选择相互使用
在这里插入图片描述

点击payloads 选择字典
我们选择 Runtime file
在点击select file 选择一个爆破的字典

在这里插入图片描述

选择第2个字典
步骤和第一个一样

在这里插入图片描述
开始攻击
在这里插入图片描述
观察响应
length长度与其他不同时则爆破出了密码

在这里插入图片描述

三.暴力破解演练

1.—on client(通过前端的验证码)

这里我们以此关为例

首先我们发现此关有验证码认证,不要怕
按 f12 查看源代码,发现验证码是前端js所写

前端js所写我们是否可以绕过了????
答案:完全可以

在这里插入图片描述
方法一:
我们在抓包之前,去点击options,勾选remove all JavaScript
这样抓包以后就去掉了js代码,js也就失效了

在这里插入图片描述

方法二:
直接无视他的验证码
抓包以后使用原来的验证码

在这里插入图片描述

一样可以爆破出来
在这里插入图片描述

2.—on server(通过服务端的验证码)

我们输入任意账户密码和验证码点击提交
在这里插入图片描述
发送到repeater重放攻击
在这里插入图片描述

可以看到服务器返回验证码输入错误
在这里插入图片描述

输入正确验证码
在这里插入图片描述

服务器返回账户密码错误
在这里插入图片描述
再次输入错误密码

如下图解释

返回账户密码错误,并没有返回验证码错误,
验证码可以多次利用,

也就代表服务端并没有对验证码做严格的处理.
服务端应该做到,使用一次验证码立刻销毁验证码,如果不销毁,依然可以被攻击者利用
在这里插入图片描述

所以我们可以直接输入任意账户和密码,以及图中的验证码
和上面类似,无视验证码,输入一个然后抓包及可
在这里插入图片描述

可以看到一样成功
在这里插入图片描述

3.小技巧

就光靠length来辨别正确账户和密码可能无法满足我们的需求,哪我们可以使用什么方法啦?

我们以dvwa为列:
登陆时发现输入密码错误则会提示错误
在这里插入图片描述
截断后如下图操作,并且勾上图中的flag result 。。。。,这里我忘记勾了,大家一定要勾上
在这里插入图片描述
他的意思就是,添加一栏标题,并且当他出现时就勾上,反之不出现代表密码正确了,所以就不勾上,所以password就是密码。

作用:可以帮助我们更方便找到密码
在这里插入图片描述

4.base64绕过

当我们发觉截断以后的编码方式是
如下:
则代表用户输入的参数被base64加密了

所以我们要让我们的字典也加密方可爆破
在这里插入图片描述
1.点击intruder中的payloads
2.找到payload processing
3.并且选择如下操作
则代表将我们的字典加密为base64
则可以爆破

在这里插入图片描述

可以看到,爆破时都是加密的
在这里插入图片描述
假如我们爆破出来密码
我们点击进去
然后右键
然后点击图中的圈出来的部位
则有一个base64解密,则可以吧密码解密出来

在这里插入图片描述

发布了15 篇原创文章 · 获赞 2 · 访问量 2422

猜你喜欢

转载自blog.csdn.net/weixin_44110913/article/details/104655997
今日推荐