前言
最近闲来无事,所以挖挖EDU小程序找一找感觉,这个漏洞比较有意思的一点就是wxapkg文件反编译获取源码从而找到接口泄露而成功挖到高危漏洞的案例,话不多说,直接开始。
测试步骤
微信小程序搜索关键字,找到一个学校系统相关的小程序
点击小程序进入其中默认跳转至信息绑定处,发现要使用该系统需要绑定用户,任意绑定还不行,你必须知道姓名和手机号才可以进去其中
通过BURP抓包也没有什么有用处的信息,因此到这里基本上已经没有功能点可以测试了,所以我们可以把wxapkg文件进行反编译来查看源码是否有什么敏感信息可以利用的
打开微信设置找到文件默认存在位置
打开后点击Applet目录进去其中可发现如下文件情况
按照日期最近情况可找到最近所访问的小程序文件目录,点击进去其中是一个数字命名目录,直接双击即可再次进入下一层目录即可发现_APP_.wxapkg文件
使用PC微信小程序工具先对该文件进行解密过后才能够反编译获得源码,解密过后会在该工具下的wxpack文件中存放解密后的wxapkg文件
把解密后的wxapkg文件复制至crckminapp工具进行反编译获取源码(工具怎么使用和安装就不详细说了,互联网上很多)
反编译完成后会在crckminapp目录下的wxapkg生成文件,viscode访问即可进行代码审计查看是否存在敏感信息接口等泄露情况,通过搜索/api等关键信息果然发现大量接口,而且接口一般存在get字段都是作为请求接口存在,那么大概率就是可以进行查询操作来达到注入的效果
通过前端源码审计和发现是POST注入的而且参数都在源码中有显示,我想这里那可以测测啊,路径和请求参数都有了那访问一下,不过我先浏览器进行接口访问还没有加参数发现提示登录后操作
这里其实我有点懵了,因为小程序并不能没有提示登录,但是这里通过推测可能该接口只能小程序访问才可以使用,或者说在点击小程序的时候会自动生成一个类似于登录操作的令牌或者认证字段,要么就是该小程序其实也存在WEB访问形式,而WEB访问必须进行登录,可能需要登录才能正常访问该接口,直接浏览器访问该系统发现确实需要登录
那我们先使用小程序访问,然后抓包把接口添加上去看是否能够正常请求,请求抓包的时候发现请求包里确实存在token,那么到这里应该八九不离十了,大概率就是可以访问成功了
这里就很简单明显了,直接添加分号,400报错直接SQL注入报错了,这不就有了吗
直接使用sqlmap插件进行SQL注入,成功获取当前数据库用户名以及当前数据库名称
原文始发于微信公众号(蓝云Sec):教育局小程序渗透至SQL注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论