随着小程序数量的爆发式增长,其特有的安全风险也逐步凸显出来。本文基于微信小程序测试过程中的解包及抓包的技巧,总结下微信小程序安全测试的思路。


1、小程序解包(反编译)

(1)安装手机模拟器,比如说夜神、MuMu

(2)下载和安装两个应用,微信和RE文件管理器

(3)获取root权限

(4)打开微信,搜索相对应的小程序,然后再打开RE文件管理器,定位到目录:

(5)下载微信小程序反编译脚本,解包。

https://github.com/xuedingmiaojun/wxappUnpacker.git

解主包:

./bingo.sh 主包.wxapkg

解分包:

./bingo.sh 分包.wxapkg -s=主包目录

合并分包内容,成功获取小程序前端源码。

基于小程序的前端源码,我们可以从JS敏感信息泄露、隐藏接口漏洞等方向进行漏洞挖掘。

2、小程序抓包

抓取数据包是小程序安全测试中最关键的一步。抓包的方式有多种,比如使用Android内核版本7.0以下的模拟器,通过XPosed+JustTrustMe抓包;使用微信版本7.0以下通过Burp CA抓包。

这里分享一个比较简单的方法,使用Charles进行小程序抓包。

(1)环境准备

本机电脑开启Wifi共享,将自己手机和电脑连上同一个wifi。

(2)Charles设置:

下载地址:

https://www.charlesproxy.com/download/

第一步:配置HTTP代理,设置代理:主界面—Proxy—Proxy Settings

选择在8888端口上监听,然后确定。勾选了SOCKS proxy,还能截获到浏览器的http访问请求。

第二步:配置SSL代理:首先在charles的 Proxy选项选择SSL Proxy Settings

第三步:为手机设置代理

在手机接入电脑wifi,配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。以IOS为例,在Safri上打开Charles的根证书下载网址: chls.pro/ssl ,点击允许,开始下载。

第四步:SSL 代理设置,在Proxy-SSL Proxying Settings,添加域名

到这里完成设置,通过手机访问就可以看到获取到小程序的数据包。

基于小程序的数据包,我们可以看到前后端业务交互的过程,重点关注业务逻辑漏洞、API 接口可能存在的安全漏洞。

微信小程序渗透测试技巧相关推荐

  1. 微信小程序渗透测试技巧-小程序解包-反编译

    微信小程序渗透测试技巧-小程序解包-反编译 简述 安装手机模拟器,比如说夜神.MuMu 下载和安装两个应用,微信和RE文件管理器 获取root权限 打开微信,搜索相对应的小程序,然后再打开RE文件管理 ...

  2. 安卓APP和小程序渗透测试技巧总结

    安卓APP和小程序渗透测试技巧总结 免责声明: 安卓7以上抓取https流量包 证书信任 首先安装OpenSSL,此步骤不再赘述,可以参考百度. 然后安装模拟器(我使用的是夜神模拟器). 导出需要的证 ...

  3. 微信小程序打开红包的css_微信小程序 css使用技巧总结

    微信小程序 css使用技巧 1:用纯CSS创建一个三角形的原理把上.左.右三条边隐藏掉(颜色设为 transparent) .demo { width: 0; height: 0; border-wi ...

  4. 【狼人杀plus全记录】没有公网IP照样完美解决微信小程序本地测试问题,超简单方法!

    前文:在开发微信小程序后台的时候,我们需要使用域名进行跳转访问,按照传统的思路我们的域名只能填写一个公网IP,然而多数情况下我们并没有公网IP 方法非常简单,有两种思路: 第一种,将域名定向到局域网I ...

  5. 如何提升微信小程序排名的技巧?

    程序排名是指小程序在搜索引擎中的排名,它可以帮助小程序获得更多的曝光率和流量. 要想让自己的微信小程序排名更靠前,需要采取一些技巧. 今天厦门巨神峰小编给大家分享关于微信小程序排名提升的技巧. 微信小 ...

  6. uniapp如何真机测试、微信小程序端测试与模拟器测试

    1.uniapp如何在真机测试 首先,你的手机要打开开发者模式,下拉选择USB调试(各个手机开发开发者模式的方式不同,不懂如何打开USB调试的可以百度搜索). 接着连接数据线,选择文件传输. 最后在H ...

  7. 微信小程序原生开发技巧及跳坑心得

    常用功能 1.事件带参 在微信小程序中,给事件的回调函数内部传递参数不是通过函数调用传递实参的方式传递的,而是通过在view上绑定属性,然后在回调函数的事件对象的currentTarget属性中的da ...

  8. 微信小程序提供测试账号微信小程序开发注意事项

    小程序消息推送至公众号(服务号) 可以通过小程序openid推送到公众号(服务号),要求如下 小程序和公众号的主体需要保持一致 在公众号中需要关联小程序: 消息模板 消息模板库中的模板在不同公众号引用 ...

  9. 微信小程序性能优化技巧

    微信小程序如果想要优化性能,有关键性的两点:提高加载性能和提高渲染性能. 一.提高加载性能 当用户点击小程序后发生了什么? 资源准备(代码包下载) --  业务代码注入和渲染  --  异步请求数据 ...

最新文章

  1. [爬虫学习笔记]C# 使用 ScrapySharp 并行下载天涯图片
  2. 文本编辑器实现打开帮助文件的功能
  3. Python 字典初始化dict()和{}
  4. 【Java虚拟机规范】JVM类加载机制
  5. el-table中怎样设置标题栏颜色以及每一行颜色交替不同的效果
  6. redis的持久化存储,RDB与AOF
  7. spring-在配置文件中配置DAO时直接引用DataSource
  8. mysql 1030 error:Got error 28 from storage engine
  9. wordpress 基础文件
  10. Python实现AES加密进行PKCS5Padding的填充
  11. python数字排序 循环_【python-leetcode448-循环排序】找到所有数组中消失的数字
  12. linux 多线程计算pi,单/多线程计算测试:SuperPI/国际象棋_IntelCPU_CPUCPU评测-中关村在线...
  13. 服务器 异常自动关机,服务器自动关机
  14. ubuntu 安装万能五笔
  15. manjaro 配置 独立显卡驱动
  16. 又拍云php表单,又拍云存储上传插件 - 支持客户端直传、服务端中转、分片上传 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  17. Echarts一些社区网站,亲测可用,新更新了Antv(阿里旗下)
  18. [leetcode]Majority Element II
  19. linux 中的指令
  20. Flash焦点图广告去除“慧聪网版权所有”字样的focus.swf下载

热门文章

  1. PHP配置连接MSSql数据库
  2. 毕业论文知识点记录(三)——SPSS去相关
  3. 计算机中浮点数的表示及正负数小数的反码补码
  4. mysql 对 GENERATED 字段更新时候报错
  5. matlab 蒙特卡罗计算pi值
  6. 敏捷观点和态度-《敏捷项目管理》读后感
  7. 基金训练营学习笔记3-股票基金
  8. 《微软云计算Windows Azure开发与部署权威指南》——6.8 AppFabric服务总线的多播服务开发...
  9. 时间序列-预测:概述【Time Series Forecasting (TSF) 】【时间序列既可以做回归任务,也可以做分类任务】【预测是回归问题,不是分类问题】
  10. 测试基础之一——静态测试,动态测试,黑盒测试,白盒测试,α测试,β测试的定义