首页 > 编程语言 >微信小程序抓包及测试案例

微信小程序抓包及测试案例

时间:2023-12-14 11:45:37浏览次数:33  
标签:反编译 install 包及 微信 程序 案例 https 链接

网上大多数的小程序测试抓包都是用的安卓模拟器,这里使用的是BurpSuite+Proxifer+微信客户端的抓包方式

环境准备

Burp2023.9.2

Proxifier4.5

Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器,工作的网络程序能通过HTTPS或socks或代理链。其是收费软件,免费试用31天,这里给一个破解版链接

链接:https://pan.baidu.com/s/14QElyGxDpMBGTuCFTPl4tQ?pwd=7o50

提取码:7o50

图片1.png

安装就无脑next就好了,安装好后打开

图片2.png

点击注册,名字随便写,随便复制一个注册码点击ok即可

Proxifier配置

打开proxifier,点击profile添加一个代理服务器

图片3.png

图片4.png

地址127.0.0.1,端口自定义,我这里是8888,协议选择https

继续添加一条代理规则

在我们用微信打开小程序时,进程里会多出一个WeChatAppEx

图片5.png

这个程序就是微信小程序的进程

添加规则

图片7.png

Applications就选择小程序进程应用(这里可以手动输入),Action就选择刚刚新建的代理服务器

Burp配置

图片8.png

只要编辑代理监听器和proxifier里的代理服务器一样即可,监听127.0.0.1:8888

这时微信打开一个小程序,可以看到WeChatAppEx的流量先经过proxifier,再用过127.0.0.1:8888到burp
图片9.png

现在就可以像平时测试web站点一样的方式在burp里对数据包进行测试

小程序反编译

图片10.png

在微信的设置里面可以找到微信文件保存的位置

图片11.png

目录下的Applet就是小程序缓存文件的保存地址

图片12.png

平时使用的小程序越多,对应的文件也就越多,如果找不到自己想要测试的小程序包,可以根据修改日期来找,或者直接简单粗暴,删除所有的缓存文件,再重新打开你想要测试的小程序

图片13.png

这时里面的就是我们要测试小程序对应的缓存文件夹

点开里面就是我们要解的包

图片14.png

这是一个加密的包,当用户在微信中搜索或扫描小程序二维码后,微信后台会将该小程序的相关信息打包成 .wxapkg 文件并下发到用户的设备中,这种文件格式实际上是一个压缩包,其中包含了小程序的所有代码、资源和配置文件等内容,以及一个特定的描述文件 app.json。

由于是加密的包,所以先来解密,下面是大佬的解密工具链接

链接:https://pan.baidu.com/s/1BzfvBVwD4vLpakX9PAyrsg?pwd=qz3z

提取码:qz3z

图片15.png

选中加密的包

图片16.png

解密成功后在工具目录的wxpack目录下

图片17.png

接下来进行反编译

首先安装nodejs,下载链接https://nodejs.org/zh-cn/download/ ,安装就一直下一步就好了,安装好之后添加环境变量

图片18.png

加好环境变量后cmd输入命令会得到回显

图片19.png

接下来使用反编译工具wxappUnpacker

原链接https://github.com/system-cpu/wxappUnpacker

网盘链接:https://pan.baidu.com/s/19O2KDqWn2Zyars8AREJ1LQ?pwd=22qj

提取码:22qj

来到工具目录

安装

图片20.png

安装依赖

npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
逐条执行以上命令

逐条执行以上命令

接下来反编译

执行命令

node wuWxapkg.js 解密后小程序的路径

图片21.png

图片22.png

执行完后会在被反编译的包的目录下生成一个目录

图片23.png

图片24.png

里面就是反编译过后得到的文件了

下载微信开发者工具

官网下载链接

https://servicewechat.com/wxa-dev-logic/download_redirect?type=win32_x64&from=mpwiki&download_version=1062308310&version_type=1

安装好后打开

图片25.png

点击加号

图片26.png

目录选择反编译后的目录,后端服务选择不使用云服务,点击确定

图片29.png

就可以查看小程序的js代码了

测试

点击发送验证码的功能

图片30.png

是/api/shop/ipad/login/sms路径

在代码里面找到发送功能的代码

图片31.png

发现只有/login/sms

现在基本确认了路径访问规则,将接口拼接到/api/shop/ipad之后,找其他接口拼接尝试有没有未授权

找一个首页的路径拼接

图片32.png

直接发包返回404

图片33.png

拼接/api/shop/ipad之后发包

图片34.png

可以确定路径是对了,但是不存在未授权,这一个路径不存在,并不完全代表所有接口都不存在,也许有那么几个接口漏掉了没做鉴权,就会造成未授权,信息泄露之类的

一不小心getshell

继续看刚刚发送验证码的接口,看看有没有短信轰炸之类的

图片35.png

访问/login/sms接口,并且以post方式接收mobile参数

构造包

图片36.png

输入一个不存在的手机号,显示手机号码有误

图片37.png

输入一个真实的也提示有误,有可能只有系统存在的账户手机号才有效

看到参数习惯性打个单引号

图片38.png

哦豁,再加个单引号

图片39.png

哦豁+1
看返回数据包可以判断出用的.net,个人觉得这个框架是很多注入的,尝试手注没有回显,sqlmap一把梭,https加上--force-ssl参数

图片40.png

成功跑出SQL注入,而且是堆叠注入,尝试--os-shell

图片41.png

 

转自于原文链接:https://forum.butian.net/share/2477

 

标签:反编译,install,包及,微信,程序,案例,https,链接
From: https://www.cnblogs.com/backlion/p/17900881.html

相关文章

  • 软件需求与分析课堂测试十——综合案例分析(5分)
    软件需求与分析课堂测试十——综合案例分析(5分) 根据下列案例需求描述,回答相关问题:有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订1次,也可预订定期召开的会议。2、开会前允许用户修改会议时......
  • 服务器数据恢复-raid5多块磁盘掉线导致上层卷无法挂载,oracle数据库不可用的数据恢复案
    服务器数据恢复环境:一台服务器中有一组由24块FC硬盘组建的raid5磁盘阵列,linux操作系统+ext3文件系统,服务器上层部署有oracle数据库。服务器故障&检测:raid5阵列中有两块硬盘出现故障掉线,导致服务器上层卷无法挂载,oracle数据库无法正常使用。通过管理后台查看服务器中硬盘的状态,......
  • APP整合微信APV3支付过程解析
    求个关注和点赞!!!!!谢谢啦~~~~~~~~~~~~~~~~~~~~~1.官方文档:开发指引-APP支付|微信支付商户平台文档中心(qq.com)2.根据官方文档给的SDK进入到相应的文档:https://github.com/wechatpay-apiv3/wechatpay-java3.在idea引入相应的maven依赖:<dependency><groupId>com.github.w......
  • R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
    全文链接:https://tecdat.cn/?p=34543原文出处:拓端数据部落公众号贝叶斯MCMC模拟是一个丰富的领域,涵盖了各种算法,共同目标是近似后验模型。例如,使用的rstan包采用了一个HamiltonianMonteCarlo算法。用于贝叶斯建模的另一个rjags包采用了Gibbssampling算法。尽管细节有所不同,但......
  • bootstraptable 全事件 触发事件 表格事件及fastadmin 的使用方法案例
     Option事件jQuery事件参数描述onAllall.bs.tablename,args所有的事件都会触发该事件,参数包括:name:事件名,args:事件的参数。onClickRowclick-row.bs.tablerow,$element当用户点击某一行的时候触发,参数包括:row:点击行的数据,$element:tr元素,field:点击列的field......
  • 【案例教程】LoadRunner订票系统WebTours部署
    题目:使用LoadRunner自带的测试项目--航班订票管理系统WebTours,网站地址为:http://127.0.0.1:1080/WebTours/(用户名为jojo,密码为bean),完成性能测试,要求:1、虚拟用户为10;2、每隔15s启动2个Vusers;3、运行时间为5min;4、每隔15s停止2个Vusers;5、在分析工具中自定......
  • CompletableFuture + LinkedBlockingDeque 实现生产者消费者案例
    设计要求:1.设计一个生产者生产,消费者消费场景;2.使用线程池 CompletableFuture+队列LinkedBlockingDeque实现;3.生产者生产的数据存储到长度为5的LinkedBlockingDeque队列,消费者消费从LinkedBlockingDeque队列中取数据;4.生产者和消费者均是多线程且不知道谁快谁慢,互......
  • 【Python爬虫】Scrapy框架图片下载_桌面壁纸ZOL(纯案例)
    Spider代码classBizhizolSpider(scrapy.Spider):name="bizhizol"allowed_domains=["zol.com.cn"]start_urls=["https://desk.zol.com.cn/youxi/"]defparse(self,response,**kwargs):#print(response.te......
  • 关于C#反射概念,附带案例!
    反射C#中的反射是一种使程序在运行时能够动态地获取类型信息并调用其成员的技术。通过反射,程序可以在运行时进行类型的动态加载、创建对象、调用方法和属性,以及访问和修改字段等。反射可以使程序更加灵活,但也增加了一定的性能开销。在C#中,反射主要是通过System.Reflection命名空......
  • 微信小程序实时获取用户位置 onLocationChange
    首先在app.config.json中配置requiredBackgroundModes:['location'],requiredPrivateInfos:['getLocation','onLocationChange','startLocationUpdate',],permission:{'scope.userLocation':{desc:......