逻辑漏洞


概述

常见的逻辑漏洞

订单任意金额修改

相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数。
预防思路:

  • 订单需要多重效验
  • 订单数值较大的时候需要人工审核
    验证码回传
    该类型漏洞一般发生在账号密码找回、账号注册、支付订单等。验证码发送途径一般为手机短信、邮箱邮件

预防思路:

  • 验证码不要放在数据包内,而是在后端验证,缺点是服务器的运算压力也会随之增加
  • 如果要进行前端验证的话也可以,但是需要进行加密
    未进行登陆凭证验证
    有些业务的接口,因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷,导致黑客可以未
    经授权访问这些敏感信息甚至是越权操作。比如后台页面、订单ID枚举、敏感信息可下载、没
    验证ID或cookie验证导致越权。

预防思路:

  • 对敏感数据存在的接口和页面做cookie,ssid,token或者其它验证
    接口无限制枚举

漏洞点:

  • 某电商登陆接口无验证导致撞库
  • 某招聘网验证码无限制枚举
  • 某快递公司优惠券枚举
  • 某电商会员卡卡号枚举

预防思路:

  • 在输入接口设置验证,如token,验证码,并使用后端验证。
  • 注册界面的接口不要返回太多敏感信息,以防遭到黑客制作枚举字典。
  • 验证码尽量使用6位以上字母加数字进行组合,并且设定较短时间期限。
  • 号码尽量不要存在规律性和简短性
    cookie设置存在缺陷

漏洞点:

  • Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单
  • cookie存在被盗风险,即用户重置密码后使用老cookie依然可以通过验证
  • 用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。不能采取简单的base64等算法
  • 越权:平行越权:权限类型不变,权限ID改变;垂直越权:权限ID不变,权限类型改变;交叉越权:即改变ID,也改变权限

预防思路:

  • cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才
    能返回数据。
  • 用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。
  • 用户的cookie的生成过程中最好带入用户的密码,一旦密码改变,cookie的值也会改变。
  • cookie中设定session参数,以防cookie可以长时间生效。

评论
  目录