1.小程序安全测试指南
1. 1. 一.概述
1.1.1指南概述
1.1.2注意事项
1.由于新技术新业务的发展速度较快,可能存在客户要求的测试项不在指南中
的情况,本文档只提供对小程序进行测试的基本思路;另外测试方法可能
会有其他更好的替代方案,请积极探索并实践;
2.风险等级评定请按照业务需求评估,给出的定级进攻参考;
1.2. 二.测试准备
本节主要介绍小程序在测试过程中使用到的系统环境及测试工具:
1.2.1常用工具列表
名称用途
iTools 下载安装ipa,文件管理、越狱等
ADB PC端与安卓手机进行调试交互BurpSuite 抓包分析工具
Nmap 端口扫描工具
名称用途
AWVS WEB漏洞扫描工具
Sqlmap SQL注入工具
中国菜刀Webshell连接工具wxappUnpacker 小程序源代码获取工具1.2.3小程序介绍
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”
的梦想,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,
用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无
代码转换需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能
够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。
小程序能够实现消息通知、线下扫码、关联等七大功能。其中,通过公
众号关联,用户可以实现与小程序之间相互跳转。小程序与APP
之间的区别
(1)下载安装
小程序:通过(扫描二维码、搜索、分享)即可获得;
App:从应用商店(App Store、应用汇等)下载安装;
(2)内存占用
小程序:无需安装,和共用内存使用,占用内存空间忽略不计;
App:安装于手机内存,一直占用内存空间,太多的App 可能会导致内存不
足;
(3)手机适配
小程序:一次开发,多终端适配;
App:需适配各种主流手机,开发成本大;
(4)产品发布
小程序:提交到公众平台审核,云推送;
App:向十几个应用商店提交审核,且各应用商店所需资料不一样,非常繁琐;
(5)功能区别
小程序:限于平台提供的功能;
App:对硬件资源的利用更加淋漓尽致,可以做出功能、设计、效果和流畅程度远远超过小程序的软件和服务;
(6)传输要求
小程序:必须使用HTTPS,且绑定域名需要备案,不能直接使用IP作为地址;
App:依照开发商自主要求,HTTPS传输可选可不选;
(7)开发背景
小程序:适合初创团队,试错成本低,需要较少时间和资金投入;
App:适合成熟的商业大公司,对自我品牌要求较高的企业。
1. 3. 三.小程序测试指南
1.3.1小程序客户端测试
3.1.1小程序架构分析
小程序采用了框架化进行开发,主要分为视图层、逻辑层、JSBridge。JS 负责业务逻辑层的实现,而视图层则由WXML和WXSS来共同实现,前者其实就是一种定义的模板语言,而后者类似CSS。
从下面的小程序架构图上可以清晰的看出,小程序借助的是JSBridge实现了对底层API接口的调用,所以在小程序里面开发,开发者不用太多去考虑IOS、安卓的实现差异的问题,安心在上层的视图层和逻辑层进行开发即可
视图层
框架的视图层由WXML 与WXSS 编写,由组件来进行展示,将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。
逻辑层
逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。
文件组成部分
(一)一个小程序主体部分由三个文件组成,必须放在项目的根目录:
APP.js:小程序(全局)逻辑;
APP.json:小程序(全局)公共设置,决定页面文件的路径、窗口表现、设置网络超时时间等;
APP.wxss:小程序公共(全局)样式表。
(二)一个小程序页面由四个文件组成:
JS:页面逻辑;
WXML:页面结构,框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构;
WXSS:是一套样式语言,用于描述WXML 的组件样式,用来决定WXML 的组件应该怎么显示;
JSON:页面配置。
从上述的架构图、文件组成部分来看,重点分析的就是小程序的逻辑层。而逻辑层主要的组成部分是由APP.js、APP.json、JS文件、JSON配置文件等组成,因此测试过程中主要分析的对象就是这一些。
3.1.2小程序客户端功能模块安全
小程序客户端功能模块安全大致可以分为以下6个部分:
3.1.2.1网络传输安全
小成熟传输虽然使用HTTPS,并对访问域名进行校验控制,但如果后端服务器未做SSL双向认证,仍无法抵御攻击者在本地安装代理证书实施中间人攻击的威胁。
3.1.2.2数据存储安全
本地数据存储采用(KEY,VALUE)形式存放在DB,数据的保护继承了的数据库加密防护策略。
3.1.2.3文件存储安全
本地文件存储采用HASH映射机制进行文件定位,文件存储在外部存储,本身通过自定义算法实现完整性校验。
3.1.2.4框架本身安全:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论