概述
常见的逻辑漏洞
订单任意金额修改
相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数。
预防思路:
预防思路:
- 验证码不要放在数据包内,而是在后端验证,缺点是服务器的运算压力也会随之增加
- 如果要进行前端验证的话也可以,但是需要进行加密
未进行登陆凭证验证
有些业务的接口,因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷,导致黑客可以未
经授权访问这些敏感信息甚至是越权操作。比如后台页面、订单ID枚举、敏感信息可下载、没
验证ID或cookie验证导致越权。
预防思路:
漏洞点:
- 某电商登陆接口无验证导致撞库
- 某招聘网验证码无限制枚举
- 某快递公司优惠券枚举
- 某电商会员卡卡号枚举
预防思路:
- 在输入接口设置验证,如token,验证码,并使用后端验证。
- 注册界面的接口不要返回太多敏感信息,以防遭到黑客制作枚举字典。
- 验证码尽量使用6位以上字母加数字进行组合,并且设定较短时间期限。
- 号码尽量不要存在规律性和简短性
cookie设置存在缺陷
漏洞点:
- Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单
- cookie存在被盗风险,即用户重置密码后使用老cookie依然可以通过验证
- 用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。不能采取简单的base64等算法
- 越权:平行越权:权限类型不变,权限ID改变;垂直越权:权限ID不变,权限类型改变;交叉越权:即改变ID,也改变权限
预防思路:
- cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才
能返回数据。 - 用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。
- 用户的cookie的生成过程中最好带入用户的密码,一旦密码改变,cookie的值也会改变。
- cookie中设定session参数,以防cookie可以长时间生效。