一、若依特征
绿若依:icon_hash=”706913071”
绿若依常见登录页面
蓝若依:icon_hash=” -1231872293”
蓝若依常见登录界面
若依框架通常使用的组件有springboot、webpack、shiro、druid、swagger、redis、zookeeper、mysql等
二、未授权访问
常见为绿若依,绿若依一般都会常用webpack组件,F12查看js文件,找到一个名为appxxxxxx.js的文件,搜索baseurl,找到api路径
常见的api路径有:/api、/dev-api、/prod-api等
也有一些api路径指向的是另一个网址
访问后为如下界面
对其进行目录扫描能发现许多信息
常见的未授权有druid、springboot、swagger
在api后面拼接对应路径
druid未授权
druid:http://ip/baseurl/druid/login.html
如果有未授权可以直接访问,需要账号密码的可以配合若依系统弱口令进行登录
常见弱口令有:admin/admin、admin\admin123、admin\123456、ry\123456、ruoyi\123456
登录后重点查看Session监控和URI监控两处
Session监控里存在历史登录的Session,可以尝试替换Session值进行登录
URI监控处存在大量接口路径,可以进一步访问获取敏感信息
swagger未授权
swagger:http://ip/baseurl/swagger-ui/
可以通过接口文档进行下一步操作,如果发现大量接口可以使用工具进行自动化测试,如swagger-hack
springboot未授权
springboot:http://ip/baseurl/actuator
重点关注/actuator/heapdump路径
访问下载后使用工具对其进行分析可获得大量敏感信息
redis未授权
若依系统通常会用到mysql和redis数据库,可以尝试redis未授权访问,或者对数据库进行弱口令爆破
三、弱口令+默认密码
常见登录界面路径为:/login
如果页面访问显示不正常,可添加默认访问路径尝试是否显示正常
/login?redirect=%2Findex
/baseurl/login?redirect=%2Findex
有些若依系统的账号密码会直接显示在前台登录框中,可以直接利用进行登录
常见的弱口令有:admin/admin、admin\admin123、admin\123456、ry\123456、ry\admin123、ruoyo\admin123、ruoyi\123456
四、注册接口
在弱口令等方法都试过之后还无法登录,可以尝试访问注册接口看看系统是否允许注册
访问:/register
不允许注册
允许注册
注册成功后就可以使用注册账号登录进一步测试
五、shiro反序列化
若依登录界面通常都采用了rememberMe字段,如果存在默认的key值,则可以进一步利用,实现shiro反序列化
六、未授权文件上传
常见于绿若依系统,F12查找js中的app.js,搜索uploadurl
访问对应路径/baseurl/common/upload
有鉴权
未授权
构造对应的文件上传请求包
访问返回的文件路径
有些网站做了限制,只允许白名单上传
这种情况可以打带有xss的html文件,造成存储xss
没限制的网站可以直接getshell