美文网首页JAVA微信小程序开发小程序
微信小程序API防攻击策略

微信小程序API防攻击策略

作者: Geroge1226 | 来源:发表于2021-07-16 16:52 被阅读0次

    1、说明

    1.1 小程序应用架构说明

    微信小程序作为当前企业的主流应用之一。相比于APP类应用,有着轻量、快速、便利等诸多优势。不需要用户安装,微信打开即用特点。整个架构示意图如下:


    image.png

    微信小程序应用是在微信公众平台下发布使用,调用企业API服务均需要通过外网访问。由此带来很多API服务安全问题。黄牛党可借此API服务违规调用破坏企业业务生态,获取小程序相关业务资料,给企业带来经济损失。如何防止恶意攻击,构建稳健企业应用。成为了每一个开发设计小程序者的思考放点

    1.2 获取方式
    • 抓包获取正常应用请求网络中的资源
    • 反编译前端应用资源包获取源码
    1.3 破坏特点

    黄牛黑客为了能够顺利获取资源信息,防止被阻拦在攻击过程中会有以下特点:

    • 动态ip
    • 模拟正常用户工具,比如:浏览器信息等
    • 携带身份识别的正常业务参数
    • 低频高频调用相结合
    1.4 防止攻击策略方式
    image.png

    2、网络服务层面

    (1) 小程序后端云服务可以引进阿里云产品:waf访火墙

    对访问流量请求进行防护,涵盖常见的防护策略:Bot防护CC安全防护等,除此还可以制定自己的防护策略。

    3、应用服务层

    (1)API接口加增加签名认证Sign,小程序调用API需要验证参数。
    • 应用场景
      防止接口随意篡改参数,改动参数都必须做新的Sign计算。否则接口调用不通过

    • 实现思路
      小程序端请求api,通过对请求参数根据特殊算法处理得到参数sign,一起传输到api服务端,服务端再次通过接收到的参数进行特殊算法处理得到服务器端sign,比较小程序端请求sign是否与服务器生成的sign相同,相同则请求放行做进行正常业务,不相同则为非法请求,返回用户请求不法。

    (2)API接口增加身份认证Token
    • 应用场景
      防止未登录即可调用接口,同时隐藏身份敏感信息接口传输,只能对当前登录人资源进行访问,无法获取他人资源。api 应用通过Token获取用户身份信息,进行业务处理。
    • 实现思维
      登录成功之后,获取用户身份Token, 后续业务请求时候,用户信息不在通过接口传输,通过Token校验用户是否有效,获取用户信息处理后续业务。
    (3)关键敏感字段做加密传输
    • 应用场景:
      防止黑客轻易获取业务参数的含义,从而模拟制造数据攻击服务应用。

    • 实现方式:
      对部分敏感文字进行加密处理, 如: 手机号unionId

    4、小程序端

    为防止小程序源码被爬虫获取,小程序发布时需要对源码做混淆处理。这样获取到源码也无法正常解读。

    相关文章

      网友评论

        本文标题:微信小程序API防攻击策略

        本文链接:https://www.haomeiwen.com/subject/jpgppltx.html