文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.2 手机号码篡改测试
5.2.1 测试原理和方法
手机号通常可以代表一个用户身份。当请求中发现有手机号参数时,我们可以试着修
改它,测试是否存在越权漏洞。系统登录功能一般先判断用户名和密码是否正确,然后通
过 Session 机制赋予用户令牌。但是在登录后的某些功能点,开发者很容易忽略登录用户
的权限问题。所以当我们用 A 的手机号登录后操作某些功能时,抓包或通过其他方式尝
试篡改手机号,即可对这类问题进行测试。
5.2.2 测试过程
攻击者登录后,在操作某些功能时,抓包或通过其他方式尝试篡改手机号进行测试,
如图 5-8 所示。
图 5-8 手机号码篡改流程图
以某网站办理挂失业务为例。
步骤一:以尾号 0136 手机登录,然后选择挂失业务,如图 5-9 所示。
图 5-9 挂失业务
步骤二:抓包修改 businessForALLFormBean.username=XXXXXXX0136 为 business ForALLFormBean.username=XXXXXXX9793,如图 5-10 所示。
图 5-10 篡改手机号码
步骤三:手机号码参数篡改成功,成功挂失尾号为 9793 的手机号码,如图 5-11 所示:
图 5-11 挂失成功
5.2.3 修复建议
后台请求要通过 Session 机制判断用户身份,如果需要客户端传输手机号码,则服务
端需要校验手机号是否和登录者的身份一致。如发现不一致则拒绝请求,防止平行权限绕
过。另外,对于手机 App 程序,不要过于相信从手机中直接读取的手机号码,还是要做
常规的身份认证,规范登录流程,防止未授权登录。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论