场景
角色
客户端:负责与用户交互,发送特定的数据包向服务器请求数据。
服务端:响应客户端的请求,对客户端的身份进行识别。
第三方接口服务器:响应特定的请求并返回响应的数据,无鉴权操作。
逻辑架构
一个应用客户端调用了第三方的数据服务器的数据,第三方数据服务器无鉴权操作,导致攻击者能通过修改数据包中的数据对数据服务器进行遍历。在不修改第三方数据服务器的情况下修复此漏洞。
问题
由于第三方数据服务器不会对来访者的身份进行验证,只会在提供正确的id后响应id对应的数据,一旦攻击者知晓id的生成规律,即可通过脚本遍历响应的数据。
修复方案
将客户端直接向第三方数据服务器请求敏感数据,修改为客户端通过服务端向第三方请求敏感数据,并在请求的过程中对客户端的权限进行验证。