2022微信小程序安全测试指南.docx
《2022微信小程序安全测试指南.docx》由会员分享,可在线阅读,更多相关《2022微信小程序安全测试指南.docx(11页珍藏版)》请在三一办公上搜索。
1、微信小程序安全测试指南目录1.微信小程序安全测试指南31.1.一.概述31.1.1指南概述31.1.2注意事项31.2.3微信小程序介绍41.3.三.微信小程序测试指南51.3.1微信小程序客户端测试53. 1.1微信小程序架构分析53.1. 2微信小程序客户端功能模块安全73.1.3微信小程序源代码提取83.1.4微信小程序源代码分析样例91.微信小程序安全测试指南1.1.一,概述1.1.1 指南概述1.1.2 注意事项1 .由于新技术新业务的发展速度较快,可能存在客户要求的测试项不在指南中的情况,本文档只提供对微信小程序进行测试的基本思路;另外测试方法可能会有其他更好的替代方案,请积极探索
2、并实践;2 .风险等级评定请按照业务需求评估,给出的定级进攻参考;1.2. 二.测试准备本节主要介绍微信小程序在测试过程中使用到的系统环境及测试工具:系统MacOSWindows101.2.1 常用工具列表名称用途iTools下载安装ipa,文件管理、越狱等ADBPC端与安卓手机进行调试交互BurpSuite抓包分析工具Nmap端口扫描工具名称AWVSSqlmap中国菜刀WxappUnpacker用途WEB漏洞扫描工具SQ1.注入工具Webshell连接工具小程序源代码获取工具1.2.3 微信小程序介绍微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者
3、搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。微信小程序与APP之间的区别下载安装微信小程序:通过微信(扫描二维码、搜索、分享)即可获得;App:从应用商店(APPStore、应用汇等)下载安装;(2)内存占用微信小程序:无需安装,和微信共用内存使用,占用内存空间忽略不计
4、;App:安装于手机内存,一直占用内存空间,太多的App可能会导致内存不足;手机适配微信小程序:一次开发,多终端适配;App:需适配各种主流手机,开发成本大;(4)产品发布微信小程序:提交到微信公众平台审核,云推送;App:向十几个应用商店提交审核,且各应用商店所需资料不一样,非常繁琐;功能区别微信小程序:限于微信平台提供的功能;App:对硬件资源的利用更加淋漓尽致,可以做出功能、设计、效果和流畅程度远远超过小程序的软件和服务;(6)传输要求微信小程序:必须使用HTTPS,且绑定域名需要备案,不能直接使用IP作为地址;App:依照开发商自主要求,HTTPS传输可选可不选;开发背景微信小程序:适
5、合初创团队,试错成本低,需要较少时间和资金投入;App:适合成熟的商业大公司,对自我品牌要求较高的企业。1.3. 三.微信小程序测试指南1.3.1 微信小程序客户端测试3.1.1微信小程序架构分析微信小程序采用了框架化进行开发,主要分为视图层、逻辑层、JSBridge。JS负责业务逻辑层的实现,而视图层则由WXM1.和WXSS来共同实现,前者其实就是一种微信定义的模板语言,而后者类似CSS0从下面的微信小程序架构图上可以清晰的看出,小程序借助的是JSBridge实现了对底层API接口的调用,所以在小程序里面开发,开发者不用太多去考虑I0S、安卓的实现差异的问题,安心在上层的视图层和逻辑层进行开
6、发即可视图层框架的视图层由WXM1.与WXSS编写,由组件来进行展示,将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。逻辑层逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。文件组成部分(一)一个小程序主体部分由三个文件组成,必须放在项目的根目录:APP.js:小程序(全局)逻辑;APP.json:小程序(全局)公共设置,决定页面文件的路径、窗口表现、设置网络超时时间等;APP.wxss:小程序公共(全局)样式表。(二)一个小程序页面由四个文件组成:JS:页面逻辑;WXM1.:页面结构,框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构;WXSS:是一套
7、样式语言,用于描述WXM1.的组件样式,用来决定WXM1.的组件应该怎么显示;JSON:页面配置。QuickStart员网目最只体页面目录费面结构代码页面株式代5贝诙配代码I工H娶目量应用生命周IW代码府网至同配代码应用全篇样式前项目目录播述员面的四个文件必方网名冏路彼,片pages.Nindexide.jsindex.wxmlidex.wxss fislogsIogsjsIogsJsonlogs.wxmllogs.wss Kutilsutil.jsapp.jsapp.jsonapp.wxss从上述的架构图、文件组成部分来看,重点分析的就是小程序的逻辑层。而逻辑层主要的组成部分是由APPJs.
8、APPJsonJS文件、JSoN配置文件等组成,因此测试过程中主要分析的对象就是这一些。3.1.2 微信小程序客户端功能模块安全微信小程序客户端功能模块安全大致可以分为以下6个部分:3.1.2.1 网络传输安全微信小成熟传输虽然使用HTTPS,并对访问域名进行校验控制,但如果后端服务器未做SS1.双向认证,仍无法抵御攻击者在本地安装代理证书实施中间人攻击的威胁。3.1.2.2 数据存储安全本地数据存储采用(KEY,VA1.UE)形式存放在DB,数据的保护继承了微信的数据库加密防护策略。3.1.2.3 文件存储安全本地文件存储采用HASH映射机制进行文件定位,文件存储在外部存储,本身通过自定义算
9、法实现完整性校验。3.1.2.4 框架本身安全:框架上继承了微信成熟的JSAPl框架和底层的TBS浏览器内核,因此在未出现新的ODAY漏洞之前,整体的框架安全还是十分可靠;3.1.2.5 伪造小程序二维码安全:扫码功能依赖微信APP的原生的扫码功能;生成小程序特定页面的直达二维码,依赖于ACCESS_TOKEN,而ACCESS_TOKEN是通过小程序私有的APPID和APPSeeret请求得到,攻击者无法获知到APPSeCret信息伪造生成二维码;3.1.2.6 数据泄露安全小程序登录体系可以依赖微信接口和公众号平台,也可以由小程序自行实现。前者根据微信平台的安全规范实施,由微信进行整体的安全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 微信小 程序 安全 测试 指南

链接地址:https://www.31ppt.com/p-7079506.html