微信小程序渗透测试
2022-12-17 13:38:4 Author: 哆啦安全(查看原文) 阅读量:30 收藏

一.前言

基本情况

这是之前挖一个小程序的漏洞,多次尝试后,最后后台拿到shell,厂商已修复,大概说下整体思路和挖掘过程。

二.挖掘过程

信息收集-文件上传失败-SQL注入(非DBA)-小程序后台-文件上传失败-文件上传成功-GetShell

工具环境:Windows10、VX客户端V3.7.5.23、Proxifier、Bp

1.proxifier+bp抓取微信小程序进程包

2.信息收集

域名:https://www.xxx.cn
IP:   101.xx.xxx.8
端口:21、22、3306、888、8888(必须宝塔)443
小程序后台:https://www.xxx.cn/admin/auth/login.html
……

我一般测小程序主要挖密码找回、支付逻辑、短信炸弹、登陆绕过、越权等,随后找注入,上传等能拿到shell的或者其余高危漏洞。

3.文件上传(失败)

随后微信客户端打开小程序,输入手机号验证码登陆

这个小程序逻辑也基本测完了,基于token做权限认证,貌似不存在越权什么的 剩下的就是个人中心(小程序中一般称我的)上传头像处进行文件上传,此处应该是做了白名单验证,上传不成功

又或者上传成功了,但是找不到上传位置(反编译小程序源代码或许会找到点思路,此处未进行此操作)

查看返回包内容:

应该是上传失败了,图片参数显示未定义

随后就找注入(商品、栏目、购物车、个人信息、搜索框等),有多个未加密的ID参数,尝试报错,时间盲注都无结果

4.SQL注入(非DBA)

测完了其它功能就剩一个搜索框了(之前测得不少小程序搜索框只是摆设,并无实际搜索功能,所以最后才测试有无注入什么的)

未曾想到一发入魂,报错注入:

熟悉TP的师傅们一眼也能看出来,不是TP就是基于TP二开的,试了试老洞也没有结果

sqlmap看看是不是DBA

5.小程序后台

很遗憾并不是,但是此时我们已经收集到了小程序的后台:https://www.xxx.cn/admin/auth/login.html

弱口令无果,那就sqlmap跑出来管理员账号密码

直接跑出管理员账号密码看看登陆进去能不能拿到shell

管理员用户有好几个,密码貌似没见过这种加密方式、强用户名,猜测极有可能是弱密码了,123456做密码,进入后台。

6.文件上传(失败)

进入后台首要找上传点,个人信息处头像上传,课程编辑图片上传、都上传不了马儿

各种提示文件不支持,要么就是不解析什么的


随后随便点开各个功能模块,测试有无别的洞,点击其中一个模块提示无权限。

意思就是这只是其中一个管理员账号,还有别的不同权限的管理员账号

随后换账号,弱密码123456继续登陆进来

7.文件上传(成功)

是一个业务专员的账号,页面功能模块不一样了,感觉有戏

继续找上传。。。终于,ueditor编辑器,然后看到页面URL,tp的伪静态,估计也有注入,还是找上传吧

测试之后,前端绕过即可,PHP上传成功

8.GetShell

蚁剑连接,成功getshell

总结:前台小程序个人头像上传处上传图片失败(大概率)还是成功

推荐阅读

微信小程序抓包

小程序逆向与抓包

微信小程序逆向分析浅析

小程序逆向和抓包技巧浅析

微信小程序抓不到包的解决方法

Android11以上手机小程序抓包解决方案


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247494801&idx=1&sn=c146a1e33f1168bf98dcad2daea07a3f&chksm=ceb8a9dff9cf20c9544dacdf55b25b9bb2808aa76628a59f088871f18000dd1ab8277d0508b8#rd
如有侵权请联系:admin#unsafe.sh