博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[典型漏洞分享]功能逻辑缺陷,不需要旧手机号码即可绑定新手机号码【高】...
阅读量:4457 次
发布时间:2019-06-08

本文共 666 字,大约阅读时间需要 2 分钟。

YS修改用户绑定手机号码功能存在逻辑绕过漏洞,不需要旧手机号码即可绑定新手机号码【高】

问题描述:

         此问题可作为以上横向越权漏洞问题的延伸,假设横向漏洞已修补,用户登录后的随机session id是作为用户身份的唯一标识,此时,用户虽然无法修改其他人的手机绑定号码,却可以修改自己绑定的手机号码,即不需要旧手机号也能重新绑定新的手机号。

测试步骤:

1、  开启burp拦截代理,并启用http请求拦截功能。

2、  假设测试账户当前绑定的手机号码如下图所示:

3、  在“用户注册”界面使用一个未注册的账户向一个未绑定的手机号码发送验证码,未绑定号码可受用户任意指定,如图:

4、  使用burp拦截请求修改绑定号码的http请求,并在该请求中输入以上未绑定的手机号码和对应的验证码,并假设此时session id字段是标识用户身份的唯一标识,而AS_UserID字段不起作用,如图:

5、  点击发送该请求,服务器响应显示成功,如图:

6、  刷新测试账户信息,可以看到账户绑定的号码已经变更,如图:

问题扩展:

         如果攻击者通过某种方式(比如XSS攻击)获取了用户的cookie,那么就可以使用这种方式修改绑定手机,接着使用“忘记密码”功能修改用户的密码。

解决建议:

1、  在验证旧手机过程中不要传递手机号,直接通过数据库查询,防止被非法篡改。

2、  为避免多阶段的逻辑漏洞,旧手机号短信验证码和新手机号在一个http请求内提交到服务器。

转载于:https://www.cnblogs.com/fishou/p/4182141.html

你可能感兴趣的文章
UOJ#201. 【CTSC2016】单调上升路径 构造
查看>>
C语言第三次作业
查看>>
javascript系列之DOM(二)
查看>>
awk使用
查看>>
函数放到onload里面,在html里面执行函数会报错-----作用域和闭包相关问题
查看>>
自学html--one(div布局)
查看>>
LCM ADN GCD
查看>>
C++之编译器与链接器工作原理
查看>>
Bootstrap: 样式CSS:carousel轮换 图片的使用
查看>>
new和new[]的区别
查看>>
读书笔记之《高效人士的七个习惯》
查看>>
VS2017 IIS 部署.net core web项目
查看>>
java虚拟机学习(一)
查看>>
Ubuntu部署jmeter
查看>>
P1064 金明的预算方案
查看>>
一文告诉你git如何使用
查看>>
linux常用命令(学习笔记)
查看>>
PJSIP-PJLIB-Socket
查看>>
[Gamma]Scrum Meeting#10
查看>>
selenium--等待的三种方式
查看>>