[典型漏洞分享]YS忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】
记录了安全测试过程中发现的一些典型的安全问题
YS忘记密码机制存在缺陷,可导致任意用户口令被修改【高】
问题描述:
YS网站提供用户密码修改功能,当用户忘记密码时可通过该功能找回密码,但该修改密码的流程存在如下问题:
1、 手机验证码过短(只有4位且为纯数字),很容易被暴力破解。
2、 只单纯通过手机验证码来判断用户的真伪,在输入手机验证码后直接在页面上进行密码修改,而不是采用更安全的多重认证的方式。
测试步骤:
1、 安装burp并启动http请求拦截功能。
2、 打开YS首页,选择“修改密码”,如图:

3、 在修改密码对话框中输入一个要修改密码的用户名,如下图所示:

4、 点击“下一步”,弹出输入手机验证码的对话框,任意输入一个错误的验证码,并提交,burp将抓到用于向用户手机发送验证码的http请求,同时将该请求发送到burp的repeater,待后面进行重放,如图:


5、 使用burp的repeater功能对该http进行多次重放,每次均修改checkcode的值,由于checkcode为4位纯数字,范围为1-9999,故使用自动化的方式(比如burp的intruder功能)可进行暴力破解,进而获得用户的checkcode,如下图所示:

6、 在手机验证码的对话框中重新输入暴力破解出来的正确的checkcode,即可在当前页面上对用户的密码进行修改!



问题扩展:
结合自动化方法,攻击者即可修改YS任意用户的密码。
解决建议:
1、 用户提交手机验证码的请求不需要带上手机号和用户名等信息,可以直接通过cookie从数据库查询,避免被恶意篡改。
2、 为手机验证码提供放暴力破解机制,即如果尝试3次提交手机验证码错误,则立马让该手机验证码失效,此外,正常情况下,手机验证码最初有效期为半个小时。
3、 当用户密码被修改时或者用户异地登录时应给予登录或手机提醒。
[典型漏洞分享]YS忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】的更多相关文章
- [典型漏洞分享]YS的防暴力破解设计存在缺陷
YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码[高] 问题描述: YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解 ...
- [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】
YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述: YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口 ...
- [典型漏洞分享]exported Android content provider引发的隐私泄露问题
YS android手机APP对外开放多余的content provider,可任意增.删.改和查images数据库表格,导致隐私泄露 问题描述: YS android手机APP使用SQLITE数据库 ...
- [典型漏洞分享]结合YS业务分析使用oauth协议的风险
结合YS业务分析oauth协议风险 问题描述: YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_ ...
- [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额
本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不 ...
- [典型漏洞分享]一个典型的XSS盲打漏洞可导致全网用户cookie被盗取
偶平时在做安全测试时,一般是以发现问题为主,点到为止,但做安全的同学可能也遇到过这样的问题,当你尝试向开发的同学描述一个漏洞危害怎么怎么样的时候,双方经常会有一种鸡同鸭讲的感觉,甚至他们觉得我们在夸大 ...
- [典型漏洞分享]一个典型的软件漏洞--memcpy导致的缓冲区溢出
YS VTM模块存在缓冲区溢出漏洞,可导致VTM进程异常退出[高] 问题描述: YS VTM模块开放对外监听端口(8554和8664),并从外部接收网络数据,中间模块调用到memcpy函数对网络数据进 ...
- [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】
这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS, ...
- [典型漏洞分享]上传导致的应用层DOS攻击
YS 视频封面设置功能可上传大量图片,可进行资源消耗型DOS攻击[中] 问题描述: YS允许用户为设备设置封面,后台在处理时允许用户间接可控上传图片的二级路径以及直接可控保存图片的文 ...
随机推荐
- 浅析MongoDB用户管理
浅析MongoDB用户管理 http://www.jb51.net/article/53830.htm mongodb3.03开启认证 http://21jhf.iteye.com/blog/2216 ...
- UML基础
UML基础系列:类图 类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都 ...
- 设置Eclipse/MyEclipse中编辑界面点击任何文件后Package Explorer导航自动定位该文件
原文:http://www.myexception.cn/eclipse/425836.html 设置步骤: 导航Package Explorer的右上角有一个黄色双向箭头图标,鼠标移动到上面提示“L ...
- 浅谈Javascript设计模式
什么是模式 模式是一种可复用的解决方案,可用于解决软件设计中遇到的常见问题. 也就是说用来解决常见问题的可复用的解决方案. 常见的js设计模式 Constructor(构造器)模式 Construct ...
- Objective-C字符串处理的函数
Objective-C字符串处理的函数 NSLog(@"字符串处理"); //获得字符串长度 NSString* str1=@"MAC OS Pro"; NSL ...
- POJ 1456 Supermarket(贪心+并查集)
题目链接:http://poj.org/problem?id=1456 题目大意:有n件商品,每件商品都有它的价值和截止售卖日期(超过这个日期就不能再卖了).卖一件商品消耗一个单位时间,售卖顺序是可以 ...
- display:flex代替float
昨天做一个css的东西,在开始用js的时候才发现被float占位了 因为float浮动起来了,我清除了浮动,但是还是占位 然后我同事就告诉我其实可以不用float来左右浮动 在父元素上用display ...
- javascript定义对象的方式
javascript定义对象的方式(javascript中没有类,只有对象)1)基于已有对象扩充属性和方法(弊端:每次创建都与要重新定义属性方法) var object = new Object(); ...
- Linked List Cycle I&&II——快慢指针(II还没有完全理解)
Linked List Cycle I Given a linked list, determine if it has a cycle in it. Follow up: Can you solve ...
- CSS 绝对居中方案
.Absolute-Center { margin: auto; position: absolute; top:;;;; }