我想知道如何通过更改响应值来缓解权限升级,
例如在响应正文中:isAdmin=false
更改为
isAdmin=true
并获得特权
必须对任何用户(客户端)提供的参数进行清理,以保护应用程序免受设计上的无意行为的影响。一般来说,框架可以很好地解决一般漏洞。
所有敏感数据(例如
isAdmin
属性)必须安全存储,因此只有服务器端应用程序可以操作该数据。服务器端存储的会话主要用于实现这一点,但“安全会话存储”实现可以使用加密 blob 形式的客户端会话存储(有关示例,请参阅 pythonflask/werkzeug 框架)。
有效负载总是根据客户端而变化,或者如果它是客户端工具(Postman),您可以发送您想要的有效负载。因此,敏感信息(例如用户是否是管理员)应存储在客户端中。它应该根据用户信息存储在数据库中。因此客户端只能发送用户详细信息,后端将验证用户是否具有某些角色。