业务办理模块测试-2手机号码篡改测试-存在越权漏洞

手机号码篡改测试

测试原理和方法

手机号通常可以代表一个用户身份。当请求中发现有手机号参数时,我们可以试着修 改它,测试是否存在越权漏洞。系统登录功能一般先判断用户名和密码是否正确,然后通 过Session机制赋予用户令牌。但是在登录后的某些功能点,开发者很容易忽略登录用户 的权限问题。所以当我们用 A 的手机号登录后操作某些功能时,抓包或通过其他方式尝 试篡改手机号,即可对这类问题进行测试。

测试过程

攻击者登录后,在操作某些功能时,抓包或通过其他方式尝试篡改手机号进行测试, 如图所示。

image.png

以某网站办理挂失业务为例。

步骤一:以尾号0136手机登录,然后选择挂失业务,如图所示。

image.png

步骤二:抓包修businessForALLFormBean.username=XXXXXXX0136为business ForALLFormBean.username=XXXXXXX9793,如图所示。

image.png

步骤三:手机号码参数篡改成功,成功挂失尾号为9793的手机号码

image.png

修复建议

后台请求要通过Session机制判断用户身份,如果需要客户端传输手机号码,则服务 端需要校验手机号是否和登录者的身份一致。如发现不一致则拒绝请求,防止平行权限绕 过。另外,对于手机 App 程序,不要过于相信从手机中直接读取的手机号码,还是要做 常规的身份认证,规范登录流程,防止未授权登录。