YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码【高】

问题描述:

YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解,但在需要验证码的情形下,当用户成功认证登录之后,该验证码机制将失效,此时攻击者可以无数次向服务器重放用于登录认证的http请求。

测试步骤:

1、  安装浏览器拦截代理工具burp,并启动拦截功能。

2、  在用户名和密码栏填入有效的帐户名和无效的密码,登录失败3次直至出现验证码输入框,如图所示:

3、  在用户名和密码栏填入有效的帐户和密码,并点击登录,此时burp拦截到该用于登录的http请求,并将该http请求发送到burp的repeater,如下图所示:

4、  关闭burp的http请求拦截功能,在另外的机器上使用正确账户并登录到YS。

5、  切换回到burp的repeater标签,可看到以上拦截的用于登录的http请求,修改password字段修改为一个任意错误的值,点击“go”按钮进行重放10次,服务器并未返回要求用户输入验证码的响应(响应码为“1005”),也就是说攻击者可以在此状态下无限次对服务器发送该请求,而不受验证码的限制,而此时如果在burp上输入正确的口令时是可以登录的。如图所示:

问题扩展:

攻击场景:当攻击者尝试暴力破解弹出验证码后,将登录接口转入burp,在等待用户登录账户后即可展开真正的暴力破解。

解决建议:

1、  在所有需要认证的地方,无论在任何状态下(已登录或未登录),当用户发送超过3次携带错误密码的请求时,均要求输入验证码,或者对该帐户进行短时间的锁定。

2、对所有需要输入口令的地方强制实施密码复杂度策略,提高暴力破解的难度

最新文章

  1. psql-10权限和事务
  2. rpm 软件管理
  3. Office 365 - SharePoint 2013 Online 在应用商店中添加应用
  4. 高可用与负载均衡(8)之聊聊 LVS重要参数和优化以及监控
  5. iOS开发——UI进阶篇(十三)UITabBarController简单使用,qq主流框架
  6. qpython3 读取安卓lastpass Cookies
  7. web.xml常用元素
  8. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页Portal界面拖拽(Ⅵ)
  9. 基于ICSharpCode.SharpZipLib.Zip的压缩解压缩
  10. 简单三段式状态机实验2-LCD12864
  11. 1257: [CQOI2007]余数之和sum
  12. hadoop安装和配置
  13. 双硬盘RAID 0全攻略
  14. Notepad++常用快捷键
  15. HBase篇--初始Hbase
  16. VUE2 项目 引入 leaflet.draw全过程
  17. 介绍3款Markdown编辑器
  18. cpp 区块链模拟示例(一)工程建立
  19. returnFunc.js
  20. js中如何优雅的写if判断

热门文章

  1. c#上传文件时,当选择的文件为0kb,会验证不通过
  2. Leetcode 之Binary Tree Postorder Traversal(45)
  3. 修改VNCSERVER 默认的分辨率的方法
  4. 简述MapReduce计算框架原理
  5. LeetCode解题报告—— 1-bit and 2-bit Characters & 132 Pattern & 3Sum
  6. redis之(三)redis的数据类型
  7. 一:Storm集群环境搭建
  8. Centos查找大文件的办法
  9. Git----创建远程分支,并将文件上传到创建的远程分支上
  10. 服务器环境从PHP5升级到PHP7