ofcms代码审计

部署
1 | https://blog.csdn.net/oufua/article/details/82584637 |
sql注入
追踪路由 看update的意思感觉像是个更新操作的功能点
追Db.update方法 一直追我们就可以看到
就是执行了一个update语句的操作
1 | UPDATE of_cms_access SET access_ip=extractvalue(1,concat(0x7e,(SELECT user()),0x7e)); |
报错注入成功
任意文件写入
模版文件我们点击保存 然后抓包 看看路由
找到处理的代码
我们可以看到这段代码并没有过滤../的参数
dirName参数可控 也就是说我们可以通过../穿越到任何一级目录进行文件写入
可以直接写入jsp文件 拿到木马 这里就不一一演示了
ssti注入
这个版本有漏洞
结合前面的任意文件写入的漏洞 尝试ssti注入
可以看到49 成功渲染
https://www.cnblogs.com/Eleven-Liu/p/12747908.html
插入
1 | <#assign value="freemarker.template.utility.Execute"?new()>${value("calc.exe")} |
成功弹计算器
文件上传
需要绕过
jsp也能成功上传 但是没法写入内容 因为上传的时候好像也限制了jsp 我是用jsp;.png上传绕过的
能力有限找不到是哪里过滤了这个万一 是黑盒测试出来的
前台xss
前台评论留言
没有过滤参数
xxe
src/main/java/com/ofsoft/cms/admin/controller/ReprotAction.java
我们发现
file 参数是可控的 可以指定他xml解析我们的文件
结合前面任意文件写入可以达到xxe的目的
在目录下写入一个恶意的xml文件 内容为
1 | <!DOCTYPE foo [ <!ENTITY % xxe SYSTEM "http://127.0.0.1/">%xxe; ]> |
尝试执行
- Title: ofcms代码审计
- Author: UWI
- Created at : 2025-08-06 09:47:43
- Updated at : 2025-08-13 14:42:05
- Link: https://nbwsws.github.io/2025/08/06/代码审计/ofcms代码审计/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments