news 2026/4/16 10:46:05

dvwa靶场暴力破解通关学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dvwa靶场暴力破解通关学习
这里使用的工具是burp抓包工具

LOW

一、直接抓包发送到intruder模块进行操作

  1. 发现请i去方式是GET形式,数据有usernamepassword
  2. 那将usernamepassword添加变量,使用cluster bomb模式攻击即可,右侧添加爆破的值

  • 发送攻击后通过长度判断出用户名和密码

  • 这里我自己尝试探测是否存在sql注入,使用sqlmap工具可测试username字段(注意:携带cookie

二、代码审计

  1. 后端对与用户输入的内容未作任何过滤,直接向数据库中查询数据
  2. 这里可以得出存在字符型sql注入漏洞
总结:后端未作任何处理,存在暴力破解登录和sql注入漏洞的问题

Medium

一、抓包查看无任何变化
  • 直接将usernamepassword字段添加变量,设置攻击类型为cluster bomb模式

  • 成功得到用户名和密码(这里破解时感觉比较慢,推测后端对登录失败有延迟响应处理)
二、代码审计

  1. 使用了mysqli_real_escape_string()函数对用户输入的内容做了转义,但这是暴力破解密码,不起任何作用
  2. 将密码进行md5加密,防止了传输中密码泄露,但是md5加密存在漏洞
  3. 这里当用户登录失败后会有延迟响应,这就是在破解时感觉比较慢的原因
总结:后端进行了转义,但这种只对sql注入有影响,对暴力破解无任何影响,对密码和登录失败做了处理

High

一、抓包查看情况

  1. 这里可以看到存在user_token值(即token),其他都没有变化
  2. 这里可以考虑token值有哪些属性(一次性,随机性)
  3. 那这里就爆破密码,在passworduser_token字段添加变量,cluster bomb模式

二、payload设置
  1. password设置不变
  2. 重点是token值的选择,想到token在服务器发送的响应文件中,那就通过正则表达是提取添加

  1. 在设置中找到检索-提取选项,点击添加通过burp中自带的查找模块查找

  2. 在弹出框中输入token后选中vlue后的值(复制后续使用),就能找获取正则表达式了

  3. 在将重定向跳转改为总是

  4. 将payload类型选为递归提取,添加初始值,请求次数设置为1后就可以攻击了

三、代码审计

  1. 重点是做了对token的校验,判断是否合法
  2. 使用了mysqli_real_escape_string()函数对用户输入的内容做了转义,但这是暴力破解密码,不起任何作用
  3. 使用sleep()函数对登录失败进行了随机延迟响应
总结:添加了token值,增加了暴力破解的难度,但还是存在漏洞

Impossible

代码审计
// 这一关的代码比较多,这里列举重点的部分1.token的校验if(isset($_POST['Login'])&&isset($_POST['username'])&&isset($_POST['password'])){checkToken($_REQUEST['user_token'],$_SESSION['session_token'],'index.php');2.账号锁定// Default values$total_failed_login=3;// 最大失败登录次数:3次$lockout_time=15;// 锁定时间:15分钟$account_locked=false;// 账号锁定标记// 查数据库:获取用户失败登录次数、最后登录时间$data=$db->prepare('SELECT failed_login, last_login FROM users WHERE user = (:user) LIMIT 1;');$data->bindParam(':user',$user,PDO::PARAM_STR);$data->execute();$row=$data->fetch();// 检查账号是否因多次失败被锁定if(($data->rowCount()==1)&&($row['failed_login']>=$total_failed_login)){$last_login=strtotime($row['last_login']);// 最后失败登录时间(时间戳)$timeout=$last_login+($lockout_time*60);// 解锁时间 = 最后失败时间 + 15分钟$timenow=time();// 当前时间戳// 未到解锁时间 → 标记账号锁定if($timenow<$timeout){$account_locked=true;}}
  • PDO预编译
// 验证账号密码(PDO 预编译)$data=$db->prepare('SELECT * FROM users WHERE user = (:user) AND password = (:password) LIMIT 1;');$data->bindParam(':user',$user,PDO::PARAM_STR);$data->bindParam(':password',$pass,PDO::PARAM_STR);$data->execute();$row=$data->fetch();
  1. 这一关使用了token的防护+PDO防注入+账号锁定+随机延迟+模糊的提示
  2. 通关token增加了暴力破解的难度
  3. PDO预编译进一步杜绝了的sql注入的漏洞问题
  4. 账号锁定彻底阻断暴力破解问题
  5. 模糊的提示防止了账号的枚举问题
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 6:24:28

智能文献管理终极指南:3步打造高效学术写作工作流

在现代学术写作中&#xff0c;文献管理往往是最耗时且容易出错的环节。你是否也曾为繁琐的引用格式调整而头疼&#xff1f;为保持文献列表的一致性而反复修改&#xff1f;智能文献管理工具正是为解决这些痛点而生&#xff0c;它通过自动化引用归类、智能格式优化和直观操作界面…

作者头像 李华
网站建设 2026/4/13 10:29:11

网盘文件高速下载终极指南:免客户端轻松实现

还在为网盘限速而烦恼吗&#xff1f;每次下载大文件都要安装臃肿的客户端软件&#xff1f;现在有了更好的解决方案&#xff01;通过一款免费的浏览器脚本工具&#xff0c;你可以轻松绕过各种下载限制&#xff0c;实现真正的高速文件传输体验。 【免费下载链接】baiduyun 油猴脚…

作者头像 李华
网站建设 2026/4/15 3:05:21

3分钟解锁QQ音乐加密音频:打造全平台兼容的音乐库

3分钟解锁QQ音乐加密音频&#xff1a;打造全平台兼容的音乐库 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转换结…

作者头像 李华
网站建设 2026/4/10 6:12:03

EPubBuilder:在线EPUB编辑器完整使用指南

EPubBuilder&#xff1a;在线EPUB编辑器完整使用指南 【免费下载链接】EPubBuilder 一款在线的epub格式书籍编辑器 项目地址: https://gitcode.com/gh_mirrors/ep/EPubBuilder 想要零基础制作专业级电子书吗&#xff1f;EPubBuilder作为一款功能强大的在线EPUB编辑工具&…

作者头像 李华
网站建设 2026/4/14 9:34:01

ARM64汇编入门必看:从寄存器到基础指令详解

ARM64汇编入门&#xff1a;从寄存器到基础指令的实战解析你有没有遇到过这样的场景&#xff1f;程序莫名其妙崩溃&#xff0c;gdb里跳出一串看不懂的汇编代码&#xff1b;或者性能优化卡在瓶颈&#xff0c;C语言层面已经无计可施。这时候&#xff0c;如果你能看懂底层发生了什么…

作者头像 李华
网站建设 2026/4/6 16:17:27

7、文档管理系统设计与实现详解

文档管理系统设计与实现详解 1. 文档管理系统需求分析 与 Avaj 博士交流后,了解到她希望管理电脑上的文件形式的文档。文档管理系统需要具备导入这些文件,并记录每个文件的可索引和搜索信息的能力。她关注的文档类型有以下三种: - 报告 :详细描述对患者进行某种咨询或…

作者头像 李华