收藏
评论

安全课堂|关于小程序AppSecret密钥泄露漏洞官方

为进一步提升小程序的安全性和用户体验,目前平台对提审的小程序均需进行安全检测,在检测过程中发现仍有许多小程序存在安全漏洞,其中涉及AppSecret密钥泄露漏洞,希望通过以下相关的漏洞介绍、案例分析和修复建议,开发者能更加了解如何对该漏洞进行防御。

一、漏洞介绍

AppSecret是小程序的唯一凭证密钥,也是获取小程序全局唯一后台接口调用凭证(access_token)的重要参数,需要开发者妥善保管至后台服务器中,并严格保密,不向任何第三方等透露。小程序若存在AppSecret密钥泄露漏洞的情况,会造成身份信息仿冒、敏感数据外泄等严重后果,开发者应及时发现该漏洞并快速修复相应问题。

二、漏洞案例

某小程序因为AppSecret泄露,导致攻击者可以通过调用API获取该小程序敏感数据,如接口调用凭证、用户信息、用户使用数据等,造成了极大的安全风险。

通过以下展示我们可以明晰该小程序敏感数据外泄的原因,测试者先对小程序网络请求进行抓包,发现请求响应中包含了appid和AppSecret敏感信息:

 

通过上述获取的appid和AppSecret敏感信息,可以利用接口获取到相应的access_token:

最后可以实现使用access_token调用该小程序所有后台接口的目的,后台服务端接口已涵盖数据、运维、消息等多方面场景能力。

下面我们再具体举几个利用access_token调用小程序后台接口的例子:

1.获取小程序用户评论

2.获取小程序用户访问数据

3.冒用小程序身份给用户发送消息



AppSecret密钥泄露漏洞其他的危害包括但不限于:冒用小程序身份给用户发送客服消息/模板消息、获取小程序session_key(用于解密微信侧提供的用户敏感数据)、获取小程序运维信息、日志等敏感信息、更改小程序相关的配置等。

三、漏洞修复

若小程序存在相应的AppSecret密钥泄露漏洞问题,请开发者尽快根据以下修复指引进行调整,以便消除风险:

1.后端API接口请勿把AppSecret敏感信息返回给前端(包括前端请求或小程序代码内传输、记录AppSecret)

2.立即登录小程序管理后台,在【开发-开发管理-开发设置】中对AppSecret进行重置。由于Appsecret存在历史泄露且仍然有效,务必进行重置才可消除风险,以免被攻击者恶意利用,请尽快按指引进行修复;

3.对AppSecret进行重置后,请及时修改后台代码,以免无法使用微信API

其他常见问题

Q1: 小程序提审不通过,显示小程序AppSecret存在历史泄露且仍然有效,是否需要重置AppSecret?

A1: 需要,请重置AppSecret后再提审,若审核通过,说明该问题已消除,若审核不通过,说明仍存在明文的AppSecret,需进一步排查并去除AppSecret字段及其对应值

Q2: 重置小程序AppSecret会影响到线上小程序吗?

A2: auth.getAccessToken需要使用AppSecret进行调用入参,重置AppSecret后,如果用新的AppSecret去获取access_token,那么旧的access_token会在5分钟内失效,如果未使用新的AppSecret,旧的access_token会在两小时内失效,故即使重置AppSecret,access_token仍有一定的缓冲期,可及时修改后台代码,不会对线上小程序造成影响。


相关文章

安全课堂|关于小程序session_key泄露漏洞

安全课堂|关于小程序云AK/SK泄露漏洞



如有其他相关疑问,欢迎随时参与官方社区讨论。


66877浏览
最后一次编辑于  2022-09-09
收藏

32 个评论

  • Cjiang
    Cjiang
    2022-05-27

    已阅

    2022-05-27
    赞同 2
    回复 1
    • 彩虹的微笑
      彩虹的微笑
      2022-07-20
      您好,我们小程序后台和前端 在做授权登录的接口的时候用到AppSecret,如果重置了AppSecret,会对之前的用户产生影响吗,用户openID是否会变?
      2022-07-20
      1
      回复
  • 蛰萤
    蛰萤
    2023-07-05

    恶心!非常恶心!恶心透顶!不知道微信的产品、开发是怎么想的,能想出这种让恶心他妈给恶心开门的做法。

    1. 小程序里即使没有 appsecret 也必须重置,非说你泄露。
    2. 小程序里有和 appsecret 重名的可以,是用于我前端向我后端服务请求的也不行。
    3. 微信审核客服各种推脱,让拿出来泄露或者我小程序中的 appsecret 是微信的 appsecret 证据也不拿。

    不知道微信团队上辈子是不是扫把星,专门下凡恶心人的?

    2023-07-05
    赞同 7
    回复 1
    • TTH
      TTH
      2023-11-20
      就是告诉你,你的密码太久没改了,要改一下,同样道理
      2023-11-20
      回复
  • 雷神
    雷神
    2022-06-11

    干啥啥不行,拒绝第一名,就一个请求,使劲在那appid泄漏,真不知道怎么会这么恶心

    2022-06-11
    赞同 6
    回复
  • 玛格尔
    玛格尔
    2022-05-17

    各位好,

        我现在发布的小程序,一直提示为 :你好,检测发现你的小程序AppSecret存在历史泄露且仍然有效,请进行重置后提审,并及时修改后台代码,避免无法使用微信API。 请妥善保存AppSecret,不要在前端请求或小程序代码内传输、记录AppSecret。

      可我的代码都没有这些参数,我同样的一套代码在另一个账户正常发布,也没提示,但在另一个账户一直这样提示。而我的代码压根没有AppSecret的参数。我要急着上线,官方也没给一个回复。这怎么解决?

    注:我们的代码,几个同事分工。已经找了几天了,都没有所说的AppSecret的调用和关健字。这乱来的吗?

    2022-05-17
    赞同 3
    回复 11
    • Shen·Ef
      Shen·Ef
      2022-05-17
      我们这边也没查到,后面怎么处理
      2022-05-17
      回复
    • 玛格尔
      玛格尔
      2022-05-17回复Shen·Ef
      我这几天一直在全盘找,几个同事一起找,都没有看到官方所说的AppSecret存在历史泄露,他们也不提示在哪个页在, 全完是乱来的。太不负责任了。
      2022-05-17
      回复
    • 小程序社区运营-wetingtu
      小程序社区运营-wetingtu
      2022-05-17
      请按以下修复指引进行操作:1.后端API接口请勿把AppSecret敏感信息返回给前端2.务必对Appsecret进行重置
      2022-05-17
      1
      回复
    • 神经蛙
      神经蛙
      2022-05-17回复小程序社区运营-wetingtu
      小程序代码中没有使用和传输AppSecret,并且服务也没有返回 AppSecret 给前端。请问如何检测出我 AppSecret 泄露。重置后原 AppSecret 是否立即失效?立即失效会对小程序业务造成影响。重置和后端修改这段时间会造成一定损失。是否有方案不影响现有的小程序。
      2022-05-17
      回复
    • 小程序社区运营-wetingtu
      小程序社区运营-wetingtu
      2022-05-17回复神经蛙
      你好,若是收到了相应的审核提示,说明存在该风险问题,请按指引进行操作,对AppSecret进行重置后,请及时修改后台代码,以免无法使用微信API
      2022-05-17
      回复
    查看更多(6)
  • 哄哄
    哄哄
    发表于移动端
    2022-04-27
    呦,用来演示的小程序也有广告留言评论啊,我还以为就我们小程序有呢,不考虑狠狠的制裁一下广告?
    2022-04-27
    赞同 3
    回复
  • 追梦GLγ
    追梦GLγ
    2022-04-27

    我想知道你是用什么的抓的包?小程序不是强制ssl加密的?

    2022-04-27
    赞同 3
    回复 1
    • B I N G
      B I N G
      发表于移动端
      2022-04-28
      https也可以抓啊
      2022-04-28
      回复
  • 蛰萤
    蛰萤
    2023-07-05

    这么大范围的所谓“历史泄露”,我认为100%是腾讯内部泄露的,就算不是,我也认为是。太恶心了。

    2023-07-05
    赞同 2
    回复 1
    • 小程序社区运营-wetingtu
      小程序社区运营-wetingtu
      2023-07-05
      你好,这个是由于小程序开发者在后端API接口把AppSecret敏感信息返回给前端(后端API接口请勿把AppSecret敏感信息返回给前端)才导致的,若发现相关漏洞请尽快进行修复。
      2023-07-05
      回复
  • -
    -
    2022-05-20

    前后端排查完均未发现AppSecret有暴露,审核还是未通过,只能重置解决?

    2022-05-20
    赞同 2
    回复 1
  • SHIMMER
    SHIMMER
    02-05

    请问师傅们AppSecret通常会在哪些地方泄露?

    02-05
    赞同 1
    回复
  • 4
    4
    2023-04-24

    官方你好,我想问检测发现你的小程序AppSecret存在历史泄露且仍然有效这个审核不过,,一定要修改秘钥吗?我的AppSecret牵扯绑定线上的东西很多。。有没有不修改AppSecret也可以通过审核的办法,我已经在前端代码那边删除所有有关于AppSecret的代码。

    2023-04-24
    赞同 1
    回复 3
    • 小程序社区运营-wetingtu
      小程序社区运营-wetingtu
      2023-04-25
      你好,由于Appsecret存在历史泄露且仍然有效,务必进行重置才可消除风险,以免被攻击者恶意利用,请尽快按指引进行修复
      2023-04-25
      回复
    • 4
      4
      2023-04-25回复小程序社区运营-wetingtu
      那我重置了AppSecret会有什么风险吗?,,会对线上造成什么影响吗?
      2023-04-25
      回复
    • 小程序社区运营-wetingtu
      小程序社区运营-wetingtu
      2023-04-26回复4
      你好,请参考
      2023-04-26
      回复

正在加载...

登录 后发表内容