任意密码重置漏洞

news2024/12/29 10:58:04

文章目录

  • 1. 任意密码重置漏洞原理
  • 2. 任意密码重置漏洞产生原因
  • 3. 任意密码重置漏洞场景
    • 3.1 验证码爆破
    • 3.2 验证凭证回传
    • 3.3 验证凭证未绑是用户
    • 3.4 跳过验证步骤
    • 3.5 凭证可预测
    • 3.6 同时向多个账户发送凭证
  • 4. 任意密码重置经典案例
    • 4.1 中国人寿某重要系统任意账户密码重置
    • 4.2 米鼠网设计逻辑的缺陷可重置任意用户密码
  • 5. 权限绕过漏洞
    • 5.1 水平越权
    • 5.2 垂直越权

1. 任意密码重置漏洞原理

厂商在对密码修改功能设计的时候,未对修改密码的凭证做严格的限制,导致可以被绕过进行任意的密码修改。

2. 任意密码重置漏洞产生原因

在这里插入图片描述

3. 任意密码重置漏洞场景

3.1 验证码爆破

表现:

  • 验证码四位,服务端未对验证时间次数进行限制(出现次数比较多的地方);
  • 验证码六位,但是不过期(时间很久),并且没有对验证的次数进行限制;
  • 验证码可以发送多次,而且每次都不会过期。

利用:使用burp的爆破模块即可,或者自己编写脚本。

修复:使用六位验证码限制验证码认证次数

案例流程:

  • 重置密码发送手机验证码
  • 发现验证码只有四位
  • 利用burp进行爆破
  • 爆破成功
  • 重置密码

3.2 验证凭证回传

重置密码时,凭证为发送到手机上的验证码,但是通过拦截发送验证码请求对应的Response包时,发现验证码在Response包中。

重点:注意是凭证,有时候可能返回包里面凭证可能在cookie里面或者也有可能在其他地方。

解决方案:修改包的返回规则

案例:DeDecms任意密码重置

  • DeDecms是用户使用最多的PHP类cms系统,CMS 系统,即内容管理系统(Content Management System),此次该CMS的任意密码重置漏洞,通过遍历UID的方式获取返回的静态gourl跳转地址,而CMS未对更改密码的跳转地址进行参数隐藏导致更改密码的临时密码被泄露,泄露以后构造URL传入临时密码,可以不需要任何验证即可更改任意用户密码。

3.3 验证凭证未绑是用户

输入手机号和验证码进行重置密码的时候,仅对验证码是否正确进行了判断,未对该验证码是否与手机号匹配做验证。

表现:

  • 1.任意账号都能够接收到验证码并能够使用A手机的验证码,B可以拿来用
  • 2.A账号的修改密码连接,B账号可以拿来用

修复:

  • 1.在服务器进行有效验证,手机号和验证码在服务器进行唯─性绑定验证。
  • 2.在服务端限制验证码发送周期,设置时效,限制次数

常见案例:

  • 首次登录账号之后需要你绑定邮箱、手机号等情况。
  • 在绑定的时候修改绑定的账号id即可把自己的手机号等绑定到别人的账号上面。

3.4 跳过验证步骤

成因:对修改密码的步骤,没有做校验,导致可以输入最终修改密码的网址,直接跳转到该页面,然后输入新密码达到重置密码的目的。

测试:首先使用自己的账号走一次流程,获取每个步骤的页面链接,然后记录输入新密码的对应链接。重置他人用户时,获取验证码后,直接进入输入新密码对应链接到新密码的界面,输入密码重置成功。

3.5 凭证可预测

token可预测:使用邮件接受重置密码的链接时,一般都会带有一个token用于判断链接是否被修改过。如果token可以预测,那么攻击者可以通过构造链接来重置任意的用户密码。

表现:

  • 1.基于时间戳生成的Token
  • 2.基于递增序号生成的token
  • 3.基于关键字段生成的token
  • 4.token有规律
  • 5.验证规则过于简单

3.6 同时向多个账户发送凭证

将发送验证码的包截获,修改字段添加多个账户,再发包。发现所写的有效字段均发送了凭证。

4. 任意密码重置经典案例

4.1 中国人寿某重要系统任意账户密码重置

直接修改验证返回包即可重置密码,链接地址:https://cn-sec.com/archives/1557.html

其他相关案例:

  • 中国人寿任意用户密码重置二
  • 中国人寿任意用户密码重置(秒改)用户保单信息全部泄漏

4.2 米鼠网设计逻辑的缺陷可重置任意用户密码

手机号没有经过处理直接在请求包里看到,并且在源码里找到重置密码链接即可直接重置密码。链接地址:http://cn-sec.com/archives/724.html

5. 权限绕过漏洞

越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定。越权又可以分为两种:水平越权垂直越权

5.1 水平越权

水平越权就是相同级别(权限)的用户或者同一角色的不同用户之间,可以越权访问、修改或者删除的非法操作。如果出现此类漏洞,那么将可能会造成大批量数据泄露,严重的甚至会造成用户信息被恶意篡改。

比如同一公司的员工 A 和 B,分别只能查看自己的一些个人资料,但是如果系统存在水平越权漏洞,则 A 可以通过这样个漏洞查看到 B 的资料。

水平权限漏洞一般出现在一个用户对象关联多个其他对象(个人资料、修改密码,订单信息,等)、并且要实现对关联对象的 CRUD 的时候。开发容易习惯性的在生成 CRUD 表单(或 AJAX 请求)的时候根据认证过的用户身份来找出其有权限的被操作对象 ID,提供入口,然后让用户提交请求,并根据这个 id 来操作相关对象。在处理 CRUD 请求时,往往默认只有有权限的用户才能得到入口,进而才能操作相关对象,因此就不再校验权限了。可悲剧的是大多数对象的 ID 都被设置为自增整型,所以攻击者只要对相关 id 加 1、减 1、直至遍历,就可以操作其他用户所关联的对象了。

案例:

  • 一次水平越权,导致平台两万人被修改密码
  • 小天才电话手表官网存在水平越权操作漏洞(影响用户积分安全)

5.2 垂直越权

水平越权是相同级别的用户之间的越权操作,而垂直越权则恰恰相反,是不同级别之间或不同角色之间的越权。

垂直越权又被分为向上越权向下越权。比如,某些网站,像发布文章、删除文章等操作是属于管理员做的事情,假设一个低权限用户或者根本没权限也可以做相同的事情,这就叫作向上越权,

向下越权与向上越权恰恰相反,向下越权是一个高级别用户可以访问一个低级别的用户信息。这样做似乎没错,而且很多网站都是这么做的,包括低级别密码也可以被高级别用户掌控,但这样做可以说是完全错误!因为即使权限再低的用户都有他自己的隐私,可能用户为了更方便,会将自己的银行卡号与密码记录在网站中,这些信息都属于用户的隐私。

案例:

  • Couchdb垂直权限绕过到命令执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1877505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go Error 处理

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

ModuleNotFoundError: No module named ‘_sysconfigdata_x86_64_conda_linux_gnu‘

ModuleNotFoundError: No module named _sysconfigdata_x86_64_conda_linux_gnu 1.软件环境⚙️2.问题描述🔍3.解决方法🐡4.结果预览🤔 1.软件环境⚙️ Ubuntu 20.04 Python 3.7.0 2.问题描述🔍 今天发现更新conda之后&#xff0…

【数据库】Oracle安装报错(win10安装oracle提示环境不满足最低要求)

目录 一、问题场景: 二、问题描述 三、原因分析: 四、解决方案: 一、问题场景: 安装Oracle数据库 二、问题描述 安装之前提示( [INS-13001]环境不满足最低要求。 是否确实要继续? ) 如图所示&…

1-爬虫基础知识(6节课学会爬虫)

1-爬虫基础知识(6节课学会爬虫) 1.什么是爬虫2.爬取的数据去哪了3.需要的软件和环境4.浏览器的请求(1)Url(2)浏览器请求url地址(3)url地址对应的响应 5.认识HTTP/HTTPS5.1 http协议之…

43.三倍游戏

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/390 题目描述 三倍游戏是一种单人游戏。玩…

2.优化算法之滑动窗口1

1.长度最小的子数组 . - 力扣(LeetCode) (1)题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,…

全网唯一免费无水印AI视频工具!

最近Morph Studio开始免费公测!支持高清画质,可以上传语音,同步口型,最重要的是生成的视频没有水印! Morph Studio国内就可以访问,可以使用国内邮箱注册(我用的163邮箱),…

Java代码高风险弱点与修复之——弱密码哈希漏洞-Very weak password hashing (WEAK_PASSWORD_HASH)

弱密码哈希漏洞 弱密码哈希漏洞指的是在密码存储和验证过程中,由于使用了不安全的哈希算法或哈希函数的错误使用,导致攻击者能够更容易地破解或绕过密码验证机制。这种漏洞使得存储在系统或应用中的用户密码容易受到威胁,增加了账户被非法访问和数据泄露的风险。 常见的弱…

前端工程化08-新的包管理工具pnpm

1、历史原因解读 pnpm这个东西发布的时间是比较早的,但是在最近一两年的时候才开始流行,甚至是可以说非常的盛行,那么这个包到底是个什么东西的,那么我们先说下,原来的包管理工具到底有那些问题?比如说我们…

面向对象和面向过程编程的区别

引言 小伙伴们,当你们看到这章的时候,显然你们已经跨过了来自指针给你们带来的麻烦,唔~真棒呢,但是我们只学会一些基础的C语法并不能帮我们解决问题,甚至是稍微难一些的题目我们都没办法解决,那怎么办呢&am…

Linux基础 - BIND加密传输缓存服务器

目录 零. 简介 一. 安装 二. 安全的加密传输 三. 部署缓存服务器 四. 总结 零. 简介 BIND(Berkeley Internet Name Domain)是一款广泛使用的开源 DNS(域名系统)服务器软件。 域名系统的主要作用是将易于人类理解的域名&…

实验2 色彩模式转换

1. 实验目的 ①了解常用的色彩模式,理解色彩模式转换原理; ②掌握Photoshop中常用的颜色管理工具和色彩模式转换方法; ③掌握使用Matlab/PythonOpenCV编程实现色彩模式转换的方法。 2. 实验内容 ①使用Photoshop中的颜色管理工具&#xff…

Node.js个人博客

1. 项目介绍 项目演示地址:https://ximingx.org.cn/ 项目github:https://github.com/ximingx/blog 想象一下,你是一位热爱写作的程序员小王。每天,你都有很多新的想法和技术心得想要分享。但是,管理你的博客网站却成了一个让你头疼的问题。 周一早晨…

统计分析利器:深入解读卡方检验与单因素方差分析的应用案例【练习题】

一、卡方检验 1.对400人进行问卷调查,询问对于教学改革的看法,调查结果如下表所示,请问不同学科不同性别的人意见是否相同。 学科 男生 女生 工科 80 40 理科 120 160 (性别,学科均无序分类>卡方检验&am…

【SGX系列教程】(五)Intel-SGX 官方示例分析(SampleCode)——RemoteAttestation

文章目录 一.RemoteAttestation原理介绍1.1 远程认证原理1.2 远程认证步骤1.3 远程认证基本流程1.4 IAS通过以下步骤验证报告的签名1.5 关键术语1.6 总结二.源码分析2.1 README2.1.1 README给出的编译流程2.2 重点代码分析2.2.0 主要代码模块交互流程分析2.2.1 isv_app文件夹2.…

Leetcode刷题笔记 | 二叉树基本性质 | 一天的题量 | 5道题目 | 深度优先搜索 | 广度优先搜索 | 递归 | 遍历

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 📌本期毛毛张分享的是LeetCode关于二叉树🌲的性质的一些基础题,做这些题目的本质还是遍历二叉树🏃‍➡️的过程&#…

uniapp+php开发的全开源多端微商城完整系统源码.

uniappphp开发的全开源多端微商城完整系统源码. 全开源的基础商城销售功能的开源微商城。前端基于 uni-app,一端发布多端通用。 目前已经适配 H5、微信小程序、QQ小程序、Ios App、Android App。 采用该资源包做商城项目,可以节省大量的开发时间。 这…

Docker部署Dillinger个人文本编辑器

Docker部署Dillinger个人文本编辑器 一、Dillinger介绍1.1 Dillinger简介1.2 Dillinger使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、拉取Dillinger镜像五、部署Dill…

前后端分离的后台管理系统开发模板(带你从零开发一套自己的若依框架)上

前言: 目前,前后端分离开发已经成为当前web开发的主流。目前最流行的技术选型是前端vue3后端的spring boot3,本次。就基于这两个市面上主流的框架来开发出一套基本的后台管理系统的模板,以便于我们今后的开发。 前端使用vue3ele…

YOLO网络结构特点收录

YOLO网络结构特点收录 YOLO(You Only Look Once)网络结构随着版本迭代不断进化,以下是一些关键版本的网络结构特点概述: YOLOv1 输入:将图像调整至固定尺寸,如448x448像素。骨干网络:初期版本…