任意用户密码重置的十种姿势=====>学习笔记!
原学习视频链接:https://www.butian.net/School/content?id=214%E2%80%98
1.验证码不失效
原因:获取的验证码缺少时间限制,仅判断验证码是否不正确而未判断验证码是否过期
测试方式:可以爆破枚举找到验证码完成验证
2.验证码直接返回在数据包中
原因:输入了手机号后点击获取验证码,验证码在客户端生成,并直接返回在response中
测试方法:输入目标手机号,观察返回包中的内容。这种操作一般会在开发测试阶段产生。
3.验证码未绑定用户
原因:输入手机号和验证码重置密码时,仅判断验证码是否正确,没有对验证码与手机号匹配做验证
测试:先使用自己的手机号获取一个正确的验证码,在下一步中修改密码前抓包修改手机号为目标手机号
这里有一个扩展,用户名(用户特征的信息)与验证码没有绑定,替换原理都是一样的,比如替换用户名,替换加密后的用户名,毕竟这里只是一个理论知识,有实际操作支撑时再进行拓展。
4.修改接受的手机或邮箱
原因:用户名,手机号,验证码三者没有绑定验证,仅判断了手机号和验证码的匹配正确,这个漏洞我想,肯定是开发。
想偷一下下懒。
测试:重置时修改接收验证码的手机号
5.本地验证的绕过
原因:这个本地验证听起来很高大上啊,实际上就是一个在本地修改一个验证结果。比如说验证成功返回0,失败返回1,如果在本地可以抓包修改这个值,那么就判定这个漏洞是存在的。
客户端在本地进行验证码是否正确的判断,且该判断结构也可以本地修改,最终欺骗客户端。
测试:重置目标用户,输入错误的验证码,修改返回包中的验证结果flag值。
6.跳过验证步骤
原因:修改密码的过程中,如果存在多个页面,比如说,输入用户名(url1)点击下一步======>输入接收验证码的手机号或邮箱(url2)======>修改密码的页面(url3),正常操作是验证成功后才会由url2-->url3,所以可以尝试跳过这一验证过程,直接url1----->url3,这个实现前提是你已经正确的按照逻辑实现了并记录下操作的url。
测试:先测试一边正常流程并记录url,再对于目标用户重置。
7.未校验用户字段的值
原因:在重置流程中,只对手机号和验证码做了校验,没有对后面设置新密码的用户身份做判断,导致最后一步修改用户身份来重置别人呢的密码
测试:在通过验证后,修改设置密码流程时,抓包修改数据包里的用户信息。
8.修改密码处id可替换
原因:修改密码时,没有对原密码进行判断,且根据ID的值来修改对应用户的密码,如:update user set password = "qwe1234" where id = '1',可能在验证时会发送多个数据进行验证,但修改操作,即update操作不受其他判断结果影响,所以修改id可以直接起作用。
9.cookie值的替换
原因:重置密码时仅判断cookie是否存在,没有判断该cookie是否通过之前的验证过程,导致替换cookie可重置密码。
测试:抓取数据包中的cookie值,替换重置密码数据包中的cookie值,达到目的。
10.修改信息时替换字段值,特指隐藏参数loginid
原因:在执行修改信息的sql语句时,用户的密码也当作字段执行了,且是根据隐藏参数loginid,修改该参数,就可以修改他人的用户密码。
测试:修改个人资料时,抓取数据包,修改数据包的参数和队友的值,替换隐藏参数,成功后被替换的账户密码与自己的密码一致。隐藏参数可以在页面的源代码中找到。
在实际利用中,需要知道loginid与用户名或其他用户标识的对应值,但视频中因为是上帝视角,没有提及,所以在实际情况中,要结合其他方式利用。
任意用户密码重置的十种姿势=====>学习笔记!的更多相关文章
- zzcms8.2#任意用户密码重置#del.php时间盲注#复现
00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品 ...
- 代码审计-DedeCMS-V5.7前台任意用户密码重置
0x01 漏洞影响 该漏洞允许攻击者修改任意前台用户密码. 0x02 漏洞利用条件 1,开启会员模块 2,攻击者拥有一个正常的会员账号 3,目标没有设置安全问题 0x03 漏洞分析 漏洞文件:/mem ...
- PHPCMS v9.6.0 任意用户密码重置
参考来源:http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0173130.html 他分析的好像不对.我用我的在分析一次. 先来看poc: /inde ...
- Dbshop v1.3任意用户密码重置漏洞
0x00 前言 年也过的差不多了,各自也都回到岗位忙碌起来了,新的一年祝大家诸事顺利,洞洞高危!好了进入正题 0x01 漏洞简介 本次主要写个简单的逻辑漏洞!然后抛个Message 内置高危. 1.找 ...
- PJzhang:任意密码重置的常规姿势
猫宁!!! 之前在360补天看过carry_your分享的46分钟短视频“任意用户密码重置的10种姿势”. 在京东SRC安全小课堂第89期,也有一篇他的文章:web漏洞之逻辑漏洞挖掘.内容朴实无华. ...
- ZZCMS8.2 用户密码重置漏洞
前言 一个找回密码处的逻辑漏洞, 还是有点意思的. 正文 首先是定位找回密码功能对应的代码位置,使用找回密码的功能,然后抓包即可 下面去 getpassword.php 里面看看, 首先包含了一些文件 ...
- 【漏洞分析】dedecms有前提前台任意用户密码修改
0x00 前言 早上浏览sec-news,发现锦行信息安全发布了一篇文章<[漏洞分析] 织梦前台任意用户密码修改>,看完之后就想着自己复现一下. 该漏洞的精髓是php的弱类型比较,'0. ...
- Linux root用户密码重置,远程登陆,文件基本属性
Linux root用户密码重置,远程登陆,文件基本属性 忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码 ...
- PHPCMS v9.5.8-设计缺陷可重置前台任意用户密码
验证.参考漏洞:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0152291.html 漏洞出现在/phpcms/modules/member/in ...
随机推荐
- MP3音频文件的剪切合并方法
package com.bytx.ai.service.base.controller.util; import it.sauronsoftware.jave.Encoder;import it.sa ...
- 一些js 概念 整理
1.原型链 prototype 这个属性 是一个指针,指向一个对象 这个对象 包含 所有实例共享的属性和方法,即这个原型对象是用来给实例共享属性和方法的. 而每个实例内部 ...
- Golang校招简历项目-简单的分布式缓存
前言 前段时间,校招投了golang岗位,但是没什么好的项目往简历上写,于是参考了许多网上资料,做了一个简单的分布式缓存项目. 现在闲下来了,打算整理下. github项目地址:https://git ...
- App压力稳定性测试之Monkey
一.Monkey简介 Android系统自带monkey程序,模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. Monkey的使用是在产 ...
- 玩转控件:封装Dev的SearchLookupEdit
鸣谢 随着前面几个章节对控件封装与扩展的分享,不少小伙伴儿们在作者公众号上反馈,并联系作者,表示通过这些系列和源码能学到不少细节上的东西,并运用到了自己的实际项目当中,也有不少伙伴儿反馈更好更优的处理 ...
- 艾编程coding老师课堂笔记:SpringBoot源码深度解析
思想:有道无术,术尚可求,有术无道,止于术! Spring 开源框架,解决企业级开发的复杂性的问题,简化开发 AOP, IOC Spring 配置越来多,配置不方便管理! Javaweb---Serv ...
- Golang笔记集
学习Golang了, 下面分享我的, 还有我收集的Golang的学习资料 我的基础笔记地址: https://github.com/zhuchangwu/go-study-notes 其他参考: Go ...
- 如何在 Array.forEach 中正确使用 Async
本文译自How to use async functions with Array.forEach in Javascript - Tamás Sallai. 0. 如何异步遍历元素 在第一篇文章中, ...
- linux被当矿机排查案例
1.发现服务器变的特别卡,正常服务运行很慢. 到服务器上查询一番发现top下发现 bashd的进程占用100%CPU了. find /-name bashd* //第一次查询文件占用目录kil ...
- Linux网络安全篇,配置Yum源(一),本地Yum源
1.创建挂载目录 mkdir /mnt/cdrom 2.挂载软件源cdrom mount /dev/cdrom /mnt/cdrom/ 3.建立本地yum源资源文件夹 mkdir /usr/local ...