【代码审计】OFCMS-V1.1.2 三处安全问题分析
目录
SSTI
任意文件写入
SQL注入
SSTI
pom依赖中存在freemarker,可以尝试打SSTI

关注修改模板文件的功能点

插入payload:
<#assign value="freemarker.template.utility.Execute"?new()>${value("calc")}

插入后访问index.html成功执行命令

调试分析下,其实没啥好看的,不做waf就行(

调用的是src/main/java/com/ofsoft/cms/admin/controller/cms/TemplateController.java的save方法

可以看到仅仅对用户输入做了一些xss层面的过滤,不影响SSTI

任意文件写入
同样的功能点
file_name参数设置为../../../static/evil.jsp,目录穿越上传写入恶意文件


成功写入


SQL注入
聚焦这个功能点

回显了报错

随便发个包看下

调用的是src/main/java/com/ofsoft/cms/admin/controller/system/SystemGenerateController.java的create方法

payload:
update of_cms_field set is_disabled=updatexml(1,concat(0x5e,database(),0x5e),3) where field_id=2




成功报错注入带出执行结果

