1、安全开发-微信小程序-搭建&开发&架构&安全
2、安全开发-微信小程序-编译调试&反编译&泄露
一、小程序创建(了解即可)
1、下载微信开发者工具
2、创建小程序模版引用
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
二、小程序架构
1、主体结构
小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个小程序主体部分(即app)由三个文件组成,必须放在项目的根目录,如下:
文件 必需 作用->反编译成功后,这些关键文件重点关注查看
app.js 是 小程序逻辑
app.json 是 小程序公共配置
app.wxss 否 小程序公共样式表
2、一个小程序页面由四个文件组成,分别是:
xxx.js 页面逻辑
xxx.json 页面配置
xxx.wxml 页面结构
xxx.wxss 页面样式
3、项目整体目录结构
pages 页面文件夹
index 首页
logs 日志
utils
util 工具类(mina框架自动生成,你也可建立:api)
app.js 入口js(类似于java类中的main方法)、全局js
app.json 全局配置文件
app.wxss 全局样式文件
project.config.json 跟你在详情中勾选的配置一样
sitemap.json 用来配置小程序及其页面是否允许被微信索引
三、小程序开发(了解即可)
1、可视化
2、真机调试
3、编译预览
4、NPM编译
案例1:小程序中嵌套Web应用资产 ->作用:对小程序抓包测试时->可以抓到网站信息->将小程序测试转向web测试
直接将以下代码放到小程序某个文件中即可
<web-view src="http://www.xiaodi8.com"></web-view>
案例2:嵌套第三方云服务如OSS ->作用:对小程序反编译后->代码审计发现敏感信息AK、SK
如代码审计发现->阿里云OSS存储-AK/SK->直接利用oss渗透工具接管oss
四、小程序安全->测试思路
1、逆向反编译->获取源码->代码审计->信息泄露&url&接口等
2、敏感信息泄露(AK/SK,APIKEY等)
3、资产信息提取(IP,Web应用,url等)
4、代码逻辑安全(算法,提交接口等)->有些地方有加密算法->在测试时找到加密逻辑->进行算法还原也很重要
参考:第24天课程演示->以下工具介绍如何对小程序进行“反编译”操作
https://github.com/r3x5ur/unveilr
https://github.com/Ackites/KillWxapkg
https://github.com/biggerstar/wedecode
https://github.com/eeeeeeeeee-code/e0e1-wx ->推荐使用
五、实例文章
https://mp.weixin.qq.com/s/z28ppqhNJnLVWSScMEqiuw->价值高
https://mp.weixin.qq.com/s/ZfovaAyipqzUIYdL9objPA->目前理解起来有点难度
https://mp.weixin.qq.com/s/PK1NhvdrDr3XWEliuyEiig