一.前言
基本情况
这是之前挖一个小程序的漏洞,多次尝试后,最后后台拿到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
总结:前台小程序个人头像上传处上传图片失败(大概率)还是成功,可能需要裤子脱下来才能知道,算了吧
你裤子都没脱,你凭什么?(手动狗头)
正式运营星球:
1.src真实漏洞挖掘案例分享(永久不定时更新),过程详细一看就会哦。
2.自研/二开等工具/平台的分享。
3.漏洞分析/资料共享等。
ps:漏洞都是加班加点挖到的,最近白嫖的人日益增多越来越多。
白嫖党过多,增加了新人阅读权限,3天就解除。
关于文章/Tools获取方式:请关注交流群或者知识星球。
关于交流群:因为某些原因,更改一下交流群的获取方式:
1.请点击联系我们->联系官方->客服小助手添加二维码拉群 。
关于知识星球的获取方式:
1.后台回复发送 "知识星球",即可获取知识星球二维码。
2如若上述方式不行,请点击联系我们->联系官方->客服小助手添加二维码进入星球 。
本公众号文章以技术分享学习为目的。
由于传播、利用本公众号发布文章而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任。
一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
原文始发于微信公众号(极梦C):记一次微信小程序实战渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论