在一些关键的业务场景里,我们最应该关注的安全问题是什么呢?
想到这,发现挺有意思的,于是我重新去梳理了一下业务逻辑方面的内容,做了一张关于业务逻辑安全的思维导图,在整理的过程中,自己的思路越加清晰。分享给屏幕前的你,希望你亦有所获。如有遗漏,欢迎补充。
01、防前端绕过
前端校验增加用户体验,后端校验才能保障接口安全性。
漏洞案例:支付计价的逻辑写在前端,后端没有做数据校验,从而导致0元支付逻辑漏洞。
02、防数据重放
增加防重放机制,防止数据重复提交。
漏洞案例:抽奖接口未做任何限制,可进行数据重发,从而获取大量积分或现金券。
03、防越权绕过
增加用户权限验证,防止用户越权。
漏洞案例:遍历用户id导致用户敏感信息泄露。
04、防流程绕过
业务逻辑拆分需考虑风险,防止用户绕过某些节点,执行后面的流程。
漏洞案例:积分兑换的场景,将积分扣减和兑换拆分为两个接口,攻击者可直接执行兑换,不执行积分扣减。
05、防数据篡改
增加签名认证,防止数据被篡改。
漏洞案例:用户的游戏成绩直接篡改可用于游戏作弊。
06、防高并发攻击
防范业务端的条件竞争,一般的方法是设置锁。
漏洞案例:利用高并发请求抢占时间,从而绕过积分限制实现多次抽奖。