米斯特白帽培训讲义 漏洞篇 逻辑漏洞
来源:互联网 发布:软件开发包 编辑:程序博客网 时间:2024/04/30 10:32
米斯特白帽培训讲义 漏洞篇 逻辑漏洞
讲师:gh0stkey
整理:飞龙
协议:CC BY-NC-SA 4.0
任意密码找回
这是补天平台上的一个案例:
http://www.118114.cn/reg.jsp
首先注册一个账号,然后找回。
我们收到的验证码是六位数。如果网站没有设置频率限制,或者最大尝试次数限制的话,那我们自然就会想到可以爆破它。
然后抓提交手机验证码的封包,我们可以看到没有任何图片验证码:
发送到 Burp 的 Intruder:
只给checkPhoneCode
添加标志,然后将字典类型设置为数字,范围为000000 ~ 999999
。然后爆破,结束后我们发现了一个与众不同的封包。
将里面的验证码提交之后便可重置密码。
任意手机号注册
这是某个网站的注册页面:
我们模拟注册一下,发现手机验证码是四位:
然后抓注册的封包:
然后将字典设置为四位数字 0000 ~ 9999,进行爆破:
Get it!
任意邮箱激活
目标是www.vobao.com
。
首先注册,然后直接退出找回,我们看到它是邮箱验证。
然后查看验证邮件:
我们发现其中有一个vstr
,它跟找回密码页面中的某个 URL 是一样的,也就是一个标志。
那么vud
就应该起到类似验证码的作用。如果我们不填写vud
直接访问,显示无效。那么就能确定它是验证码了。
这个vud
看起来像是个md5,但是实际上是随机码。那么我们尝试拿另一个邮箱注册找回:
可以看到vstr
是不一样的,vud
当然也不一样。但是如果我们邮箱2的vud
拼接到邮箱1的vstr
上呢?由于邮箱1的vstr
是已知的,即使我们访问不了邮箱1,也可以通过找回密码页面的 URL 来获得,那么我们就可以构造出:
提交后就成功了。
假设邮箱1是别人的邮箱,我们不能访问其内容,但我们能够控制邮箱2,那我们就能拿邮箱2来重置邮箱1的账户。可以看到,这个漏洞的主要成因就是未对不同用户的验证码进行区分。其中vstr
起到用户标志的作用,vud
起到邮箱验证码的作用。
- 米斯特白帽培训讲义 漏洞篇 逻辑漏洞
- 米斯特白帽培训讲义 漏洞篇 文件包含
- 米斯特白帽培训讲义 漏洞篇 代码执行
- 米斯特白帽培训讲义 漏洞篇 SQL 注入
- 米斯特白帽培训讲义 漏洞篇 XSS
- 米斯特白帽培训讲义 漏洞篇 越权
- 米斯特白帽培训讲义 漏洞篇 文件上传
- 米斯特白帽培训讲义 漏洞篇 CSRF
- 米斯特白帽培训讲义 漏洞篇 提权
- 米斯特白帽培训讲义 漏洞篇 提权
- 米斯特白帽培训讲义 漏洞篇 弱口令、爆破、遍历
- 米斯特白帽培训讲义(v2)漏洞篇 XSS
- 米斯特白帽培训讲义(v2)漏洞篇 文件上传
- 米斯特白帽培训讲义(v2)漏洞篇 文件包含
- 米斯特白帽培训讲义(v2)漏洞篇 文件包含
- 米斯特白帽培训讲义(v2)漏洞篇 文件上传
- 米斯特白帽培训讲义(v2)漏洞篇 第三方风险
- 米斯特白帽培训讲义(v2)漏洞篇 SQL 注入
- c语言文件读写
- hibernate主键自动生成及配置
- java实现C语言解释器:无参数传递的函数调用的解释和执行
- Pycharm开发spark程序
- Linux环境变量
- 米斯特白帽培训讲义 漏洞篇 逻辑漏洞
- Windows异常代码查询
- https加密通信过程图解
- jsp里做分页示例
- 底层存储变量的写时复制机制(copy on write)
- Python 第一天之配置cmd命令框环境
- MFC在对话框输入内容获取的方式
- 64位和32位机的Java OpenGL配置
- Universal Image Loader 学习笔记-设计模式