若依管理系统渗透总结
若依管理系统part1
信息收集
首先,我们要做的是收集基于若依CMS的系统
一、若依特征
绿若依:icon_hash=”706913071”
常见登录页面:
蓝若依:icon_hash=” -1231872293”
常见登录页面:
也可以通过标题收集:fofa语法:title=”登录若依管理系统”
也可以通过内容收集:fofa语法:body=”ruoyi.vip”
若依框架通常使用的组件有springboot、webpack、shiro、druid、swagger、redis、zookeeper、mysql等
二.常见漏洞
一,未授权访问
常见为绿若依,绿若依一般都会常用webpack组件(可以使用Packer-Fuzzer打包),F12查看js文件,找到一个名为appxxxxxx.js的文件,搜索baseurl,找到api路径
常见的未授权有druid、springboot、swagger
在api后面拼接对应路径
二,druid目录探测
如果配置不当可能不需要druid密码即可直接访问druid
1./druid/login.html
收集的网址直接拼接,如果成功,就说明存在druid后台
若依存在默认的api,druid的路径可能在api下
1./prod-api/druid/login.html
2./dev-api/druid/login.html
默认路径探测3-开发自定义
在这个情况下,直接扫描是没有任何用处的,通常的思路是首先浅浅登录错误一次,查看数据包的目录
默认路径探测总结
1 | /druid/index.html |
druid弱口令爆破
通常druid不需要验证码就可以进行爆破(请自行收集字典)
常见用户名
1 | admin |
常见密码
1 | 123456 |
总的来说爆破最重要的还是一本好的字典
三.Druid登录后利用
在我们无法登录若依的时候,如果我们获取到了druid连接池,我们可以尝试扩大危害
进入druid后我们重点关注的是/druid/weburi.html
与/druid/websession.html
Druid到获取未授权路由
在这我们可以获得创建了连接池的URI
在这里面如果开发在开发的时候没做权限校验,我们可以获得未授权的API接口
Druid到敏感信息泄露
有时候可能会在路径中翻到上传的文件(如PDF后缀)
访问的话,会发现泄露了大量的敏感信息
Druid到登录系统
在/druid/websession.html
路径下,我们有时候可以看到已经连接的SESSIONID
我们切到登录处在登录的同时替换掉SESSIONID
有可能可以登录系统
四.swagger未授权
除了Druid之外,其实和Swagger组件是一起的
同理也存在自定义路径的可能性需要收集,如果Swagger组件没修改的话,查看的效果和druid泄露的效果类似
可以通过接口文档进行下一步操作,如果发现大量接口可以使用工具进行自动化测试,如swagger-hack
这边提供部分路径(建议确定是否是自定义路径之后进行dirsearche扫描)
1 | /swagger-ui/index.html |
五.springboot未授权
http://ip/baseurl/actuator
重点关注/actuator/heapdump路径
访问下载后使用工具对其进行分析可获得大量敏感信息
六.redis未授权
若依系统通常会用到mysql和redis数据库,可以尝试redis未授权访问,或者对数据库进行弱口令爆破
七.任意用户注册(较少见)
通常我们遇到的ruoyi系统如下
注意URL为
1 | https://xxxxx.edu.cn/login?redirect=%2Findex |
也可能遇到其他二改系统的路径为
1 | https://xxxxx.edu.cn/{任意内容}/login?redirect=%2Findex |
大部分使用ruoyi框架的人都会忽略掉前端的注册界面(后端可能删了)
因此我们拼接/registe
八.shiro反序列化
若依登录界面通常都采用了rememberMe字段,如果存在默认的key值,则可以进一步利用,实现shiro反序列化
九.未授权文件上传
常见于绿若依系统,F12查找js中的app.js,搜索uploadurl
我尝试了一下,一般都有鉴权,如果遇到没有鉴权的可以传文件拿shell。