环境搭建
项目地址:ofcms 发行版 - Gitee.com
采用IDEA+tomcat进行搭建
数据库配置
修改数据库配置文件:ofcms-V1.1.3\ofcms-admin\src\main\resources\dev\conf\db-config.properties
并且导入数据库
mvn clean package -DskipTests 打包 复制 ofcms-V1.1.3\ofcms-admin\target\ofcms-admin.war 到apache-tomcat-9.0.118\webapps 复制之后改名为ROOT.war 切换到目录C:\Tools\apache-tomcat-9.0.118\bin 运行catalina.bat run如果手动配置完,启动项目还是安装界面,重启服务器后无效
把ofcms-V1.1.3\ofcms-admin\src\main\resources\dev\conf\db-config.properties的db-config.properties文件修改为db.properties
项目启动成功之后
访问前台http://localhost:8080/
后台http://localhost:8080/admin/login.html
账号密码为:admin/123456
代码审计
SSTI模板注入
网站的后台个模板文件,并且是可以进行修改的
在pom.xml中查看使用的技术
使用freemarker模板注入的POC
<#assign value="freemarker.template.utility.Execute"?new()>${value("calc.exe")}保存之后访问首页可以看见计算机弹出来了,命令执行成功
任意文件写入
这里还是模板文件这里进行测试
抓包保存文件
可以看到访问的路由是/cms/template,然后全局搜索进行定位
dirs、file_name完全由前端可控,无任何过滤
然后需要寻找是否存在jsp的解析
发现在static目录下可以解析.jsp文件,那么我们上传jsp木马到static目录下即可
sql注入
在后台发现了可以添加sql语句的地方
然后进行抓包来进行定位代码段
可以看到sql是可控的,然后就可以进行测试
update of_cms_ad set ad_id=updatexml(1,concat(0x7e,(user())),0) where ad_id=1XSS(存储型)
前台的文章处发现可以进行用户评论,可以试试xss
抓包查看对应的代码
用户输入comment_content直接完整存入数据库,无任何 HTML/JS 转义过滤
留言处进行测试<script>alert(1)</script>