返回介绍

5.2 手机号码篡改测试

发布于 2024-10-11 00:03:32 字数 1139 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文