当前位置: 首页 > news >正文

OFCMS代码审计-freemaker注入sql注入xxexss文件上传

环境搭建

下载地址:https://gitee.com/oufu/ofcms/repository/archive/V1.1.2?format=zip

SSTI模板注入(freemaker)

FreeMarker模板注入实现远程命令执行 - Eleven_Liu - 博客园

在admin中找到这个

发现请求的是这个

找到他

<#assign value="freemarker.template.utility.ObjectConstructor"?new()>${value("java.lang.ProcessBuilder","calc.exe").start()}

这么输入然后保存

刷新

文件上传

查看源代码可以发现

这个是通过新建file来改文件的所以我们可以直接从后端来改

改成后门就可以造成文件上传漏洞

XSS

56:代码审计-JAVA项目Filter过滤器及XSS挖掘 - zhengna - 博客园

先看看

有没有xssfilter过滤器

发现都只存在与前端,那就相当于没有了

那直接随便找就可以找到xss了

sql注入

跟普通的sql注入不一样,他是直接执行sql语句,不是直接的参数传入

直接跟进到代码

int update(Config config, Connection conn, String sql, Object... paras) throws SQLException {PreparedStatement pst = conn.prepareStatement(sql);//做了预编译,但是没有传入参数所以没有用config.dialect.fillStatement(pst, paras);int result = pst.executeUpdate();//这里直接执行传入的sql语句DbKit.close(pst);return result;
}

注意这个是excuteupdata所以他只会执行这种update,insert,delete这种函数,而且不会有回显,就相当于直接执行sql语句

成功操作,由于没有回显所以我们得使用报错注入

INSERT INTO of_sys_user_site (user_role_id, role_id, site_id, status) VALUES (6, extractvalue(1,concat(0x7e,user(),0x7e,version(),0x7e)), 6,5);

XXE漏洞

JRXmlloader

首先先搜索jrxmlloader

看这些类之中有哪个实现这个代码的

这里有个小技巧:因为这些类都是导入的jar包内部的,这说明,不是每个类和方法都会被使用到;
与之不同的则是项目自己写的类和方法,一般都会被用到。
因此:我们可以先查找类中方法的调用,确定有没有使用到,没有使用到就不用管了,这样可以节省大量的时间。

发现到一个,而且被writeapi调用

可以看到,同类下的execute()方法对其有调用,但是通过查找execute()的调用,发现并没有被使用。因此,此处就不需要再往下进行了。

例如:

找到一个这个,find in usages

发现被这么调用

找到前端调用的接口、

先上传一个文件到这个目录下

写入xxe的文件

成功反弹

xmlreader

也是像上面的方法一样一起找

找到了这个类

但是找使用run的类发现有很多,但是不是由run传进来的,就不知这个方法的参数是否可以调用

发现是从这里调用的

博主累了,后面就先不分析了

相关文章:

  • 用1W字讲透数据预处理,数据增强
  • C++ 迭代器
  • 【深度学习】目标检测算法大全
  • 从模型加密到授权交付,CodeMeter赋能3D打印商业化全流程
  • 【Nginx配置域名以及ssl证书】
  • 学习黑客5 分钟深入浅出理解Windows User Accounts, Profiles, and Permissions
  • Spring Boot 的 CommandLineRunner
  • Docker原理与使用教程
  • WebSocket集成方案对比
  • 测试文章标题01
  • 用Trae+Claude写一个学习网络基础的小网站
  • 【Python 变量类型】
  • 日常组件复用与基于构件开发的本质区别
  • MySQL 学习(七)undo log、redo log、bin log 的作用以及持久化机制
  • 多令牌预测Multi-Token Prediction(MTP)
  • 高防云的主要优势表现在哪些方面?
  • RabbitMQ 工作模式
  • Android音频解码中的时钟同步问题:原理、挑战与解决方案
  • Power BI 实操案例,将度量值转化为切片器(动态切换分析指标)
  • Redis——达人探店
  • 网站建设设计图图片/搜索引擎优化的简称
  • 广告公司名字测试打分/seo培训班 有用吗
  • 最优网络做网站骗/南京响应式网站建设
  • 湖州网站制作/杭州网络
  • 可以做任务看漫画的漫画网站/自己建网站详细流程
  • 江苏省备案网站/策划方案怎么做