APP渗透—微信小程序、解包反编译、数据抓包

news2024/11/18 0:36:06

APP渗透—微信小程序、解包反编译、数据抓包

  • 1. 前言
  • 2. 小程序抓包
    • 2.1. 安卓系统5.0版本测试
      • 2.1.1. 添加模拟器
      • 2.1.2. 安装证书
        • 2.1.2.1. 确保在同一局域网
        • 2.1.2.2. 设置burp工具
        • 2.1.2.3. 设置模拟器代理
        • 2.1.2.4. 下载证书
        • 2.1.2.5. 修改证书
        • 2.1.2.6. 安装证书
      • 2.1.3. 抓包测试
    • 2.2. 电脑版微信抓包
      • 2.2.1. 下载证书
      • 2.2.2. 安装证书
    • 2.3. 尝试抓包
      • 2.3.1. 微信设置代理
      • 2.3.2. 登陆微信
      • 2.3.3. 抓取小程序
      • 2.3.4. 注意事项
  • 3. 小程序分包反编译
    • 3.1. 小程序缓存目录
    • 3.2. 尝试加载小程序
    • 3.3. 尝试反编译小程序
      • 3.3.1. 安装nodejs
      • 3.3.2. 解密小程序
      • 3.3.3. 反编译脚本
        • 3.3.3.1. 安装依赖
        • 3.3.3.2. 执行反编译
      • 3.3.4. 查看反编译后文件
      • 3.3.5. 查看工程

1. 前言

  在之前的第一篇文章中简单的描述了一下微信小程序抓包的过程,但是不是很详细,所以这里单独写一篇关于微信小程序抓包、解包、反编译的一篇文章。

  这里对小程序进行抓包、反编译等操作,都是为了进行信息收集,主要就是提取资产进行渗透测试。

2. 小程序抓包

  不管是在真机还是模拟器中在安卓系统上抓包,可能会存在以下问题:

  • 安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书
  • 安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书
  • 安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表

  相应的解决办法就是如下:

  • 将证书安装到系统证书中(需要 root)
  • 苹果手机(苹果手机不受此影响)
  • 采用安卓系统低于 7.0 的模拟器

2.1. 安卓系统5.0版本测试

  这里我使用夜神安卓系统5.0版本进行测试。

2.1.1. 添加模拟器

  这里只需要在模拟器助手中点击添加模拟器,选择安卓5即可。

在这里插入图片描述

2.1.2. 安装证书

  这里使用Burp来进行抓包,至于Fiddler在之前已经提过了,这里就不再提了。

2.1.2.1. 确保在同一局域网

  关于如何确保在同一局域网这方面我就不再赘述了,之前的文章中也是多次提到,这里我们直接设置burp工具。

2.1.2.2. 设置burp工具

  首先打开burp,添加一个监听端口,这里的监听IP要与你主机的IP是一致的才可以。

在这里插入图片描述

2.1.2.3. 设置模拟器代理

  这里进入WIFI``长按WIFI``设置代理,这里的IP地址也同样是主机的IP地址端口需要和burp工具上的端口对应,详细的教程可以看之前的文章,之前的文章中有非常详细的介绍。

在这里插入图片描述

2.1.2.4. 下载证书

  这里就需要安装burp证书了,访问IP:端口,即可下载证书。

在这里插入图片描述

2.1.2.5. 修改证书

  证书下载完之后,需要将下载的证书 cacert.der 修改为cacert.cer,否则无法安装证书,下载后打开模拟器共享,就能够看到这个证书了,这里将cacert.der 修改为cacert.cer即可。

在这里插入图片描述

2.1.2.6. 安装证书

  这里需要提前找到证书存放的位置,可以去按照共享中找一找。

在这里插入图片描述

  打开设置安全从SD卡安装cacert.cer设置一个密码为证书命名确定证书就安装了,这里我没截到图,我用之前的图片代替一下。

在这里插入图片描述

2.1.3. 抓包测试

  在我们把证书按照完成后,就可以进行抓包测试了,这里可以看到已经抓到包了。

在这里插入图片描述

2.2. 电脑版微信抓包

  在电脑版中进行小程序抓包,其实也是可以的。

2.2.1. 下载证书

  这里使用Fiddler来抓电脑版微信小程序的包,由于我看了一下使用burp老是会跳,并不会停留,虽然也能够抓取到,但是一瞬间就消失了,所以还是使用Fiddler来抓取。

  这里选择第二个就会在桌面上生成一个证书。

在这里插入图片描述

2.2.2. 安装证书

  这里需要将Fiddler的证书安装到浏览器中,注意这里安装证书一定要在控制面板中打开internet选择进行安装证书,同时在安装的时候一定要选择受信任的根证书颁发机构,这样安装的证书才有效果。

在这里插入图片描述

2.3. 尝试抓包

  这里其它的设置,看了那么多篇APP渗透测试,想必一些常见的设置都会了,这里我就不在赘述了,直接开始尝试抓包。

2.3.1. 微信设置代理

  这里需要在微信的登陆页面设置代理,IP地址就是你主机的IP地址,端口与Fiddler中设置的是一样的即可,这里点击确定后会自动显示是否能够连接成功,一般都会显示连接成功的,如果显示连接不成功请提前将Fiddler打开。

在这里插入图片描述

2.3.2. 登陆微信

  这里就只需要登陆微信,在登陆过程中其实就能够看到有很多的数据包了。

在这里插入图片描述

2.3.3. 抓取小程序

  这里就可以抓取小程序了,不过最好可以将之前的数据包删除,这里可以看到我打开了逆水寒手游,获取到https的信息,那么这样就是获取成功了。

在这里插入图片描述

2.3.4. 注意事项

  在一些情况下,你会发现之前还是能够获取好好的,突然无法获取了,这个由于你使用电脑版微信在登陆一下小程序后。

  这时候就需要将C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime这个目录下的所有文件夹都清空,这个文件夹主要就是加载小程序的。

  这里是我提前删除了。

在这里插入图片描述

3. 小程序分包反编译

  关于小程序的分包反编译,目前没有特别好的免费工具来进行,好的工具都需要充值vip。

3.1. 小程序缓存目录

  找到微信小程序的缓存目录,当然里面会存在很多的文件夹,可以都删除,然后打开一个小程序加载。

在这里插入图片描述

3.2. 尝试加载小程序

  这里我们只点击一个小程序加载,太多的话容易搞混,在wx开头的文件夹下面会有一个后缀为wxapkg文件,这个文件就是小程序编译后的文件。

在这里插入图片描述

3.3. 尝试反编译小程序

  这里我们就尝试手动反编译吧,不过会存在问题哦,不一定是百分比能够成功的,毕竟像之前说的好工具是要钱的,尝试找破解版的,但是没用。

3.3.1. 安装nodejs

  这里我不知道我是什么时候安装的,可能安装的工具多了就曾经在某一刻是安装过的,这里我就不再安装了,给个连接自行安装吧。

  nodejs

  安装后打开cmd输入node -v看到显示版本就证明安装成功了。

在这里插入图片描述

3.3.2. 解密小程序

  这里我们将加密的小程序添加进去,然后在wxpack文件夹中找到刚刚解密的文件夹即可。

  解密小程序提取码:tncx

在这里插入图片描述

3.3.3. 反编译脚本

  打开反编译脚本,将刚刚解密后的文件放入该目录下。

  反编译脚本提取码:031b

在这里插入图片描述

3.3.3.1. 安装依赖

  这里就需要先在反编译脚本目录下安装依赖,这里挺麻烦的,但是没办法呀,穷买不起会员,无法一键反编译。

npm install esprima
npm install css-tree
npm install js-beautify
npm install uglify-es
npm install vm2
npm install cssbeautify

在这里插入图片描述

3.3.3.2. 执行反编译

  如果上面一切顺利的话就可以执行反编译了。

node wuWxapkg.js wx6642bb131bfd374b.wxapkg

在这里插入图片描述

3.3.4. 查看反编译后文件

  这里我们就可以在当前目录下查看对应的反编译文件夹了,看到后就可以使用微信开发者工具打开了。

  微信开发者工具

在这里插入图片描述

3.3.5. 查看工程

  到这里就可以将文件加入微信开发者工具的工程中了,不过这里需要申请一个测试账号,非常简单,无需什么麻烦的操作。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于海鸥算法改进的随机森林回归算法 - 附代码

基于海鸥算法改进的随机森林回归算法 - 附代码 文章目录 基于海鸥算法改进的随机森林回归算法 - 附代码1.数据集2.RF模型3.基于海鸥算法优化的RF4.测试结果5.Matlab代码6.Python代码 摘要:为了提高随机森林数据的回归预测准确率,对随机森林中的树木个数和…

【机器学习】决策树如何实现回归

【机器学习】决策树如何实现回归 文章目录 【机器学习】决策树如何实现回归1. 介绍2. 回归树的构建方法3. 递归二分法4. 回归树的剪枝5. 总结参考 1. 介绍 在 https://blog.csdn.net/qq_51392112/article/details 中,我们详细介绍了决策树基本内容:如何…

Visual Studio搭建Linux环境

环境:ubantu22.04.2 Visual Studio2019 可以先参考这个文章 微软官网 1.在配置之前需要搭建好远程Linux系统的环境需要安装penssh-server、gdb、gdbserver: sudo apt-get install openssh-server sudo apt-get install gdb gdbserver2.然后启动ssh服务 …

Filename: “/usr/local/flexlm/licenses/license.dat“

故障现象1:学习安装vcs时,出现如下打印: 8:30:51 (lmgrd) Servers System Date and Time: Fri May 05 2023 08:30:51 EDT 8:30:51 (lmgrd) SLOG: Summary LOG statistics is enabled. 8:30:51 (lmgrd) license manager: cant initialize:Ca…

K8S管理系统项目实战[API开发]

前端: Vueelement plus 后端: gogin 后端 Go 快速入门 Gin Web框架 K8s管理系统项目实战[API开发] 项目背景,整体设计,Client-go,框架搭建 一、项目背景 随着容器技术的广泛应用,kubernetes逐渐成为业内的核心技术&#xf…

【SpringBoot】SpringBoot集成ElasticSearch

文章目录 第一步,导入jar包,注意这里的jar包版本可能和你导入的不一致,所以需要修改第二步,编写配置类第三步,填写yml第四步,编写util类第五步,编写controller类第六步,测试即可 第一…

黎曼几何与黎曼流形

目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记,做了解,不深入。 0.黎曼几何 黎曼几何是一种基于欧几…

MySQL 表操作

目录 创建表 案例 查看表结构 修改表 案例: 删除表 创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎 ; 说明: field 表示列名 dat…

【Vue学习笔记3】使用Vite开启一个Vue3工程项目

1. 什么是Vite? Vite是一个web开发构建工具。Vite 的竞品是 Webpack,而且按照现在的趋势看,使用率超过 Webpack 也是早晚的事。 Vite 主要提升的是开发的体验,Webpack启动调试环境需要 3 分钟都很常见,Vite大大缩短了这个时间。…

应急加固初试(windows sever 2008)

前言 红中(hong_zh0) CSDN内容合伙人、2023年新星计划web安全方向导师、 华为MindSpore截至目前最年轻的优秀开发者、IK&N战队队长、 吉林师范大学网安大一的一名普通学生、搞网安论文拿了回大挑校二、 阿里云专家博主、华为网络安全云享专家、腾讯云自媒体分享计划博主 …

SEO优化新手必须掌握的10个技巧和工具

随着互联网的不断发展,SEO(搜索引擎优化)已成为网站拓展和推广的重要手段之一。对于新手而言,学习SEO的基础知识和技巧是至关重要的。在本文中,我将分享SEO优化新手必须掌握的10个技巧和工具。 1.关键词研究 关键词是…

Spring Cloud学习笔记【分布式配置中心-Config】

文章目录 SpringCloud Config概述概述传统方式弊端主要功能与GitHub整合配置 Config服务端配置与测试服务端配置(即Gitee上的配置文件)Config Demo配置Spring Cloud Config访问规则 Config客户端配置与测试bootstrap.yml说明Config客户端 Demo配置 SpringCloud Config概述 概述…

学校信息化管理系统通常包含哪些功能?

学校管理信息化是现代教育发展的必然趋势,随着信息技术的飞速发展,学校管理也逐渐地实现了信息化。信息化的学校管理已经成为教育现代化建设的重要内容,也是提高学校教育教学质量和保障学生安全的重要手段。 作为一款低代码开发平台&#xf…

【Shell编程】| if 判断的五个关键点

个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录 1、if语法格式1.1 if格式1.2 else if 和 else 2、算数比较3、文件判断4、字符串判断5、test指令测试…

Unity Audio -- (1)概览

准备工作 资源包: https://connect-prd-cdn.unity.com/20230208/8dab3a98-4fe1-4adf-99df-8f6c9e1058c9/creativecore-audio-2021.3LTS.zip 下载,解压后用Unity Hub导入本地工程,具体方法,参考: Project setup proce…

放弃40k月薪的程序员工作,选择公务员,我来分享一下看法

我有一个朋友,拒绝了我为他提供的4万薪水的工作,去了一个体制内的银行,做程序员,即使薪水减半。他之前在北京一家大公司做程序员,一个月30k。当我开始创业时,我拉他来和我一起干,但那时我们太小…

干货 | 思维转变之如何成为一个快速学习者!!!

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 在信息爆炸的今天,网络上有各种资源,其实有心想要学习,都可以学到。 但是,其实自我学习的过程还是比较艰难,那么是否…

人员管理KPI和OKR

文章目录 人员管理KPI和PI一、关键绩效指标概述(一)关键绩效指标的内涵(二)关键绩效指标的类型(三)基于关键绩效指标的绩效指标体系 二、关键绩效指标库三、指标权重与员工责任 OKR360 环评3P汇报法 人员管…

只使用位运算实现加减乘除

在线OJ: LeetCode 29. 两数相除 原题目的要求是不能使用乘法, 除法和取余运算符实现除法. 在本篇博客中把题目要求提高一点, 这里只使用位运算来实现, 顺便的也就把只使用位运算实现加减乘除实现了. 1 . 实现加法 首先我们需要知道两数之和可以是两个数位相加和不进位相加之…

c++ 入门概述

c 入门概述 1. c 关键字2. c 命名空间3. c 输入与输出4. c 缺省参数5. c 函数重载6. c 引用6.1 引用概念6.2 引用特性6.3 常引用6.4 引用与指针区别 7. c 内联函数8. c auto 关键字9. 范围 for 循环 1. c 关键字 c 98中,规定的关键字总共有63个: 2. c…