ofCMS代码审计

ofCMS代码审计

轻喷。
来先看看主要的目录结构吧(粗略)。

20211109220501-078e3fae-4166-1



核心代码去瞧瞧,我的思路一般都是看看能够登入的地方(下面是我直接找到的后台管理登入系统)。
全局搜索一下。

这算漏洞吗?

20211109220509-0cd1c5e4-4166-1

进入看了一下,但是没什么用,不能强行爆破。有限制账号登入次数。但是这里有个可以探测的,就是管理员的账号,账号的对错分别的得到提示不一样。算个小小的漏洞?

20211109220517-119b52ca-4166-1

路径遍历

既然这里是登入后台,那就进入这一片的代码瞧瞧。看先一些有趣的东西。

20211109220526-16bc99e4-4166-1

这些参数去具体位置看看。
去看看对应代码。然后在这里(com/ofsoft/cms/admin/controller/cms/TemplateController.java)找到了相关漏洞。
先获取一些参数。

20211109220535-1c19bb88-4166-1

这里是关键点!

20211109220544-218759e0-4166-1

这里跟进File 和getSiteTemplateResourcePath()

20211109220553-26984f8e-4166-1
20211109220604-2d6e10e6-4166-1

直接拼接网站路径和获取的dir值,没有任何过滤。主要没有过滤掉 ..就可以在网页里使用../../
往下看,这里这就直接读取出文件了。

20211109220612-3212b458-4166-1

可以构造参数访问。http://localhost:8080/ofcms-admin/admin/cms/template/getTemplates.html?file_name=web.xml&dir=../../&dir_name=(这里dir_name取不值都不影响)

20211109220624-3920f4a8-4166-1

意文件上传

还是上面的位置!同样的方法,点了下save,抓包看看参数。


ofCMS代码审计

同样去看看参数。还是在这里(com/ofsoft/cms/admin/controller/cms/TemplateController.java)。

20211109220645-45e6a69c-4166-1

http://localhost:8080/ofcms-admin/admin/cms/template/save.json?dirs=./&res_path=&file_name=1.txt&file_content=1231afdsfsdfs

20211109220657-4cecc8ae-4166-1

可以任意上传文件。这里会有请求后缀名处理。请看下面
(com/ofsoft/cms/core/handler/ActionHandler)

20211109220754-6f014dca-4166-1


上面清晰表明了,如果是static下的文件就不会做处理。而如果不是,则会。

20211109220806-7606cd0c-4166-1



则会将suffix中的值全部制空。而suffix的值为:

private String[] suffix = { ".html", ".jsp", ".json" };


SQL注入

漏洞出现点在这里(com/ofsoft/cms/admin/controller/system/SystemGenerateController.java)


ofCMS代码审计

一直更进update

20211109220730-60c56c3c-4166-1

这里就getConnection连接数据库了。继续跟进update();

20211109220741-673cbf3e-4166-1

没有任何过滤就返回了输入的sql。

20211109220709-53d08494-4166-1


转载自

https://xz.aliyun.com/t/10509


本文转载自https://xz.aliyun.com/t/10509,只做本站测试使用,本文观点不代表安强科技社区立场。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年3月16日 下午3:08
下一篇 2022年3月16日 下午3:38

相关推荐

发表回复

您的电子邮箱地址不会被公开。