当前位置: 首页 > news >正文

【DVWA】——Brute Force(暴力破解)

目录

  • 🕒 1. Low
  • 🕒 2. Medium
  • 🕒 3. High
    • 🕘 3.1 分析
    • 🕘 3.2 解决方案:递归提取

准备好Brup Suite软件
🔎 Brup Suite平台安装

🕒 1. Low

首先,随便在登录框输入用户名和密码(比如admin和123),之后开启代理,打开Brup Suite工具,点击login并拦截包

在这里插入图片描述在这里插入图片描述
在页面内右键把包放到Intruder测试器模块

在这里插入图片描述
点击Intruder → 位置

在这里插入图片描述
首先点击清除把所有变量清除,其次选中密码(123),点击添加为有效载荷,之后选择攻击类型,我们可以猜测网站中有一个admin账号,采用单个payload进行测试。

攻击类型简介:

  • 狙击手-单个payload(Sniper):对变量依次进行暴力破解。一般这个模式下只设置一个爆破点,因为如果用户名和密码都不知道的情况下不会使用该模式去爆破。通常用于在知道用户名后,对密码进行爆破。
  • 撞击物-一组payload(Battering ram):对变量同时进行破解
  • 交叉-多个payload集(Pitchfork):每一个变量标记对应一个字典,一一对应进行破解。
  • 集束炸弹-多个Payload集合(Clusterbomb):每个变量对应一个字典,并且进行交叉式破解,尝试各种组合。适用于用户名+密码的破解

在这里插入图片描述

选择payload标签页 → Payload类型(简单列表) → 从文件加载 → 开始攻击

此处我们可以自行选择密码字典文件进行暴力破解,这里我选择了Top500的弱口令字典集

在这里插入图片描述

分析结果,可以看到其中一个密码的回显长度不一样,通过进一步确认其响应内容,可以判断这就是登陆密码。

在这里插入图片描述
源码分析:low等级只是把输入的用户名和密码放到数据库去查询并返回结果,并没有做任何的限制,只要字典够强大,很容易就跑出来。

🕒 2. Medium

Medium步骤和low等级完全一样,主要是源码多了一点内容导致难度会提高一点,能够抵御SQL注入攻击,那低等级时候用到的注入就失效了。
需要注意的是中级的暴力破解相对来说较慢是因为有个sleep函数,在破解失败后会使程序停止运行两秒。所以我们直接用爆破方法即可,

🕒 3. High

🕘 3.1 分析

High级别的代码加入了Token,可以抵御CSRF攻击,同时也增加了爆破的难度,通过抓包可以看到,登录验证时提交了四个参数:username、password、Login以及user_token。

在这里插入图片描述
将抓到的包发送到Intruder,如果依旧采用Low级别的步骤攻击,会发现状态码变成302了

在这里插入图片描述

这是因为采用了user_token,用来标识请求包,防止进行重发。我们可以放到Repeater观察一下

在代理中开启拦截
在这里插入图片描述
再次点击Login,将截获的数据包发送到Repeater中。

在这里插入图片描述

注意此时拦截的这个包并没有发送到服务器中,之后点击发送,可以看到状态码为200。

在这里插入图片描述

如果再次点击发送,就可以观察到状态码变成302,是不正常的。原因就是服务器后端会对user_token进行检测。
在这里插入图片描述

🕘 3.2 解决方案:递归提取

把包发送到Intruder → 清除 → 攻击类型选择Pitchfork → 添加密码和Token为payload

在这里插入图片描述

依次配置payload,首先配第1个(密码),依旧是字典爆破的方式
在这里插入图片描述
随后配置第2个(Token),先去设置更改

重定向 → 总是

在这里插入图片描述

检索-提取 → 重新获取响应 → 搜索“Token” → 选中Token → 确认

在这里插入图片描述

回到第2个payload的配置
在这里插入图片描述
由于该模式不支持多线程攻击,需要进行资源池配置。新建一个资源池,最大并发数设置为1,开始攻击即可。
在这里插入图片描述
在这里插入图片描述

可以看到破解成功。


OK,以上就是本期知识点“Brute Force(暴力破解)”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 工作五年了,总是要尝试着用回调机制Callback和函数式编程写一些优雅的代码了!!!
  • 使用opencv优化图片(画面变清晰)
  • 不可错过的10款文件加密软件!企业必备的电脑文件加密软件
  • Linux 入门:简单的基础操作
  • 【机器学习】高斯过程的基本概念和应用领域以及在python中的实例
  • 极狐GitLab DevSecOps 功能合集(七大安全功能)
  • 谈一谈幽默的力量
  • Python——贪吃蛇
  • LabVIEW回转马达试验系统
  • redis详细解析和配置选择
  • Machine Learning: A Probabilistic Perspective 机器学习:概率视角 PDF免费分享
  • 【重学 MySQL】二十二、limit 实现分页
  • 从MySQL JSON字段中提取去重城市列表的SQL查询
  • Zabbix监控k8s云原生环境
  • 【Python爬虫系列】_016.关于登录和验证码
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【Amaple教程】5. 插件
  • Brief introduction of how to 'Call, Apply and Bind'
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • es6(二):字符串的扩展
  • JavaScript HTML DOM
  • maven工程打包jar以及java jar命令的classpath使用
  • socket.io+express实现聊天室的思考(三)
  • Webpack 4x 之路 ( 四 )
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 小程序 setData 学问多
  • 小程序开发之路(一)
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 一些关于Rust在2019年的思考
  • gunicorn工作原理
  • raise 与 raise ... from 的区别
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #LLM入门|Prompt#3.3_存储_Memory
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二十三)Flask之高频面试点
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (十一)c52学习之旅-动态数码管
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法)前K大的和
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net6Api后台+uniapp导出Excel
  • .NET文档生成工具ADB使用图文教程
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ 蓝桥杯Web真题 ]-布局切换
  • [Android 数据通信] android cmwap接入点
  • [Armbian] 部署Docker版Home Assistent,安装HACS并连接米家设备
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C][数据结构][树]详细讲解