记某模版菠菜管理后台登录思路

1.前言

由于小程序的便捷性,越来越多的应用迁移到了了小程序上,由此伴随着小程序上线前的日常渗透测试工作也开始增加。但小程序的测试中经常会遇到数据包被加密了,导致无法进行改包测试。和测试网页数据包加密一样,就需要找到小程序前端相应的加解密方法进行加解密数据包改包测试。

2.小程序前端源码提取

不同于网页f12查看网页源码即可查看搜索相应加解密函数,小程序虽然也是三大组件但其前端源码存放在微信安装包的wxapkg包中,我们需要使用一个root设备提取处相应的wxapkg包,并还原出前端源码。文件一般位于 /data/data/com.tenc ent.mm/MicroMsg/appbrand/pkg/(安卓系统,以下测试都在安卓机下进行)目录下。

提取的时候需要准备一台root手机或使用夜神等模拟器均可,然后使用adb进入/data/data/com .tencent.mm/MicroMsg/appbrand/pkg/,提取相应的文件。由于wxapkg的命名时随机的,可以使用ls -al 命令根据你所安装小程序时间来判断提取相应小程序的wxapkg包。.wxapkg是一个二进制文件,有其自己的一套结构,具体可以参考该链接

接下来就需要对wxapkg文件进行反编译提取相应的前端源码,一般是搭建nodejs环境进行反编译还原。我比较懒不太想搭喜欢用傻瓜式操作,这边推荐一个小程序反编译工具CrackMinApp,具有图形化的操作界面及所需依赖环境。界面长这样:
img
下载和操作指南可以参考它的github项目,还原后的前端源码就这样:
img

3.开始测试

第一步就是要找到前端源码中的加解密的方法,一行行代码去找肯定不现实太费时间,一般都全局搜 encrypt、decrypt、AES、DES、RSA这些关键词。一般来说基本都用对称加密且AES出现的频率最高,如下所示直接找到相应的加解密方法和密码。
img
img
用的还是ECB模式这这这。之后就好办了开始测试发现两个高危,中低危就不描述了,说实话加密的数据包解密后一般漏洞较多。

3.1任意用户登录

在忘记密码处输入手机号点击发送验证码,如下所示:
img
在验证码输入框内输入任意6位数字,如下所示:
img
点击下一步,拦截服务器返回数据包,如下所示:
img
数据包内容解密结果如下:
img
将返回数据包改成如下形式{“code”:200},加密后数据包发至客户端,欺骗成功跳转至设置密码处如下所示:img
设置任意密码提交后即可成功修改密码,如下所示:
img
利用修改完的密码可成功登录,从而实现任意用户密码修改。

3.2 SQL注入

在发现处搜索项目抓取相应的数据包,重放返回如下数据信息:
img
解密后为项目数据信息,如下所示:
img
修改POST参数值itemName为’,发现服务器返回500错误如下所示:img
img
由于服务端返回的数据项目名称为例如某某公司,POST数据输入搜索参数为该公司名称有数据返回,输入搜索关键词为"公司“时无数据返回,故猜测sql语句逻辑为模糊查询为如下所示:

'select * from table where clo like '+canshu+'%'

故构造payload首先猜测数据库用户名长度如下所示:

{"pageNum":1,"pageSize":10,"itemName":"%' and concat((case when length(user)>=3 then '1' else '0' end),'%')='1","bondName":""}

加密后在POST包中发送如下所示当长度大于等于3时返回正常,大于等于4时无数据返回,故判断得到数据库用户名长度为3,如下所示:
img
img
同理构造如下payload猜测数据库用户名,如下所示:

{"pageNum":1,"pageSize":10,"itemName":"%' and concat((case when ascii(substr(user,3,1))>=67 then '1' else '0' end),'%')='1","bondName":""}

之后就不深入了,测完收工。

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑战士安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值