记录了安全测试过程中发现的一些典型的安全问题

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忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】的更多相关文章

  1. [典型漏洞分享]YS的防暴力破解设计存在缺陷

    YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码[高] 问题描述: YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解 ...

  2. [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】

    YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述: YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口 ...

  3. [典型漏洞分享]exported Android content provider引发的隐私泄露问题

    YS android手机APP对外开放多余的content provider,可任意增.删.改和查images数据库表格,导致隐私泄露 问题描述: YS android手机APP使用SQLITE数据库 ...

  4. [典型漏洞分享]结合YS业务分析使用oauth协议的风险

    结合YS业务分析oauth协议风险 问题描述: YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_ ...

  5. [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额

    本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不 ...

  6. [典型漏洞分享]一个典型的XSS盲打漏洞可导致全网用户cookie被盗取

    偶平时在做安全测试时,一般是以发现问题为主,点到为止,但做安全的同学可能也遇到过这样的问题,当你尝试向开发的同学描述一个漏洞危害怎么怎么样的时候,双方经常会有一种鸡同鸭讲的感觉,甚至他们觉得我们在夸大 ...

  7. [典型漏洞分享]一个典型的软件漏洞--memcpy导致的缓冲区溢出

    YS VTM模块存在缓冲区溢出漏洞,可导致VTM进程异常退出[高] 问题描述: YS VTM模块开放对外监听端口(8554和8664),并从外部接收网络数据,中间模块调用到memcpy函数对网络数据进 ...

  8. [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】

    这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS, ...

  9. [典型漏洞分享]上传导致的应用层DOS攻击

    YS 视频封面设置功能可上传大量图片,可进行资源消耗型DOS攻击[中] 问题描述:          YS允许用户为设备设置封面,后台在处理时允许用户间接可控上传图片的二级路径以及直接可控保存图片的文 ...

随机推荐

  1. TCP之非阻塞connect和accept

    套接字的默认状态是阻塞的,这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待响应操作完成,可能阻塞的套接字调用可分为以下四类: (1) 输入操作,包括read,readv,rec ...

  2. Linux 入门记录:三、Linux 文件基本操作管理

    一.复制文件.目录 使用 cp 命令复制文件或目录: $ cp 源文件(夹)目标文件(夹) 常用参数: -r 递归复制整个目录树 -v 显示复制过程的详细信息 二.移动.重命名文件或目录 通过 mv  ...

  3. java中的逻辑运算符,以及&与&&的区别,|与||的区别

    原创,转载请留言联系 逻辑运算符: & 与 false&true=false:true&true=true:false&false=false 必须两个都是true才返 ...

  4. linux命令(14):ifup/ifdown/ip addr命令

    开启网卡:ifup eth0 关闭网卡:ifdown eth0 查看网卡接入状态:ip addr[可查看哪块网卡up/down状态]

  5. LightOJ - 1370

    Bi-shoe and Phi-shoe Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %lld & %llu S ...

  6. hdu 2881(LIS变形)

    Jack's struggle Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) ...

  7. AC日记——[HNOI2008]玩具装箱toy bzoj 1010

    1010 思路: 斜率优化DP: 跪烂大佬 代码: #include <bits/stdc++.h> using namespace std; #define maxn 50005 #de ...

  8. Linux用户和用户组的初步知识

    用户组相关:在Linux系统下,当创建一个如叫tom的用户,那么系统同时会创建一个叫tom的用户组linux中用户的信息都是放在/etc/passwd下的,用户的密码经过加密后放在/etc/shado ...

  9. ASP.NET MVC5(一)—— URL路由

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. JavaScript备忘录-闭包(2)

    闭包的定义 闭包是指函数有自由独立的变量.换句话说,定义在闭包中的函数可以“记忆”它创建时候的环境. 闭包的浅显理解 function makeFunc() { var name = "Mo ...