基本介绍
手机号通常可以代表一个用户身份,当请求中发现有手机号参数时我们可以试着修改它测试是否存在越权漏洞,系统登录功能一般先判断用户名和密码是否正确,然后通过Session机制赋予用户令牌,但是在登录后的某些功能点开发者很容易忽略登录用户的权限问题,所以当我们用A的手机号登录后操作某些功能时抓包或通过其他方式尝试篡改手机号,可对这类问题进行测试
测试过程
攻击者登录后在操作某些功能时抓包或通过其他方式尝试篡改手机号进行测试
漏洞示例
通过对App的我的-购买记录-实物订单功能进行测试,App首先通过/iget/check获取用于访问实物订单的JWT会话签名,但是服务端并没有校验sign参数签名的正确性,导致可以直接通过更改请求会话签名中的userId参数,从而获取任意用户的会话签名信息,根据签名去/api/order/gelist路由获取用户的事物订单详情,存在越权漏洞,还可以通过此漏洞获取或者更改删除任意用户地址,发票等功能,订单详情中泄露了用户的收件地址,电话,订单支付方式等隐私信息
使用会话签名成功获取任意用户实物订单详情