java审计之ofcms(二)

简介: java审计之ofcms

任意文件读取

但仅限读取html js css xml文件

710c178d9b204187515ca74f7224b128_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里默认只能读取default里面的文件

3e6ed466f361fa0d1c8ae93db4e077b5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6d93c6d0c184e1c07208d9d124675439_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

因为第一次审计 不太了解框架结构 所以点击页面的时候进行抓包来寻找Controller层

cd092ef151fa6c9e6521b18f90dfac84_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

8bd2e81d118a74bd6095e85d874ef7ef_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

在idea找到这个方法

2706eb95682a88de6ec6cfd884a035e9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

dir是当前目录 也就是可查看代码的目录  这个是可控的 通过这里可以看出

继续往下跟

0ed536107faaef82c0f66b38d9e140f9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

pathFile 则是根据传入的dir 获取到绝对路径

跟到这里则可以看到只能返回html xml css js

90269fc8aac2a285c944e3948198db9e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

files则是default目录下的html等文件的绝对路径

090f952057310d4a9e7798019da03574_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

755ef9229404c6bab51ea235b2ee5517_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后在通过传的文件名 和 files里面的进行比较  默认是index.html

ccb5341352952e14d374bf577573a355_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

通过这里读取到源码

fcce494eca807f69b2100c1afc3931d2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

最后渲染到页面上

整个操作没有对dir进行限制 然后我们又可控 就能够读取其他目录的文件

测试

0a9ab7a6f0a1a9d84f4a8d15f3803170_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

052ed94c694fb0a3e8bcf9985b835c66_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



任意文件写入

还是上面这个Controller

e7cc2550eb5965df8cc2d2ed8ed5d2f5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可以发现只获取这几个参数的值

3fe276b223efcc70253e42e7cf0bb366_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后在这一行把content的进行了尖括号的替换

没有进行其他的过滤  可以任意写入

测试

336715aa95c030eb226d63842f376972_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

17689ac2d61cb8ee5892212f8130781a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


相关文章
|
12月前
|
安全 Java API
Java审计之Freemarker模板注入漏洞
Java审计之Freemarker模板注入漏洞
10319 1
|
12月前
|
存储 XML SQL
Java审计之XSS篇
继续 学习一波Java审计的XSS漏洞的产生过程和代码。
125 0
Java审计之XSS篇
|
12月前
|
SQL 安全 前端开发
Java审计之SQL注入篇
本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长。
278 0
|
存储 Java 应用服务中间件
Java代码审计之jspxcms审计(三)
Java代码审计之jspxcms审计
389 0
Java代码审计之jspxcms审计(三)
|
Java
Java代码审计之jspxcms审计(二)
Java代码审计之jspxcms审计
217 0
Java代码审计之jspxcms审计(二)
|
存储 Java 数据库连接
Java代码审计之jspxcms审计(一)
Java代码审计之jspxcms审计
202 0
Java代码审计之jspxcms审计(一)
|
Java 测试技术 数据安全/隐私保护
|
SQL Java 关系型数据库
|
2天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。
|
1天前
|
安全 Java 开发者
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第15天】本文将深入探讨Java并发编程的核心概念,包括线程安全和性能优化。我们将通过实例分析,理解线程安全的重要性,并学习如何通过各种技术和策略来实现它。同时,我们也将探讨如何在保证线程安全的同时,提高程序的性能。