首页 >> 大全

php search file content 漏洞

2024-01-02 大全 18 作者:考证青年

之前完全没有听说过这个cms,这个漏洞又有cve。

因此拿着个来举个例子,看看怎么顺瓜摸藤。

分析

从漏洞发现者所提供的来看,这个漏洞的触发应该是需要后台权限。漏洞触发点位于inc/.php中的方法中,并且需要修改模板并通过搜索功能执行该利用点。

首先先看下inc/.php中的方法

可以看到有一处eval方法,这个应该是最终代码执行触发的地方。

既然触发点已经找到了,那继续往上跟,找到可用的调用链

方法只在两处被调用

先看位于第2238行的第二处调用

这处在方法自身内部,递归调用来解析嵌套。此处虽然调用了方法,但是并不处于方法的调用链的上层,因此排除。

再看第一处:位于23行这处

方法调用方法并将$传入其中。

再看看方法在何处被调用

跟入.php中

.php中一共四处调用了方法,每一处都将名为$的参数传入其中。

这四处分别位于四个条件中。

先一处处来看,首先选个短的看起来容易触发的条件分支先来。

先看第二处,这里中的条件最短,为 $conf[‘’]==1

漏洞盒子_漏洞百出_

只要$conf[‘’]==1,就可以顺利的进入这个条件分支,就能有机会被调用

查看配置文件,此处默认为0

但是由于漏洞介绍,这是个后台漏洞,那默认我们可以有后台的操作权限

于是我在后台管理那把缓存开启了

现在.php中

可见现在为1了。

现在的思路:

1、$conf[‘’] 目前已经是1,稳稳的进入这个分支

2、由于此处执行点位于.php中,而.php文件中没有定义任何函数,代码逐行执行,一马平川。

3、只有找到.php被加载的地方,才能进入该分支执行我们的

4、找到控制传入方法中$值的方法,将构造好的$传入我们的eval中执行。

首先要找.php被加载的地方

看起来这四处都可以加载.php

我们首先选主入口index.php

不出意外,直接执行到断点处

此时传入方法中$值为

C://www////pc//html/index.html

加载的是index.html模板

漏洞百出__漏洞盒子

也就是说,我们只要在index.html中加入,就可以触发底层的eval执行任意代码。

找到后台编辑模板处

编辑index.html,插入

成功执行

但是需要注意的是 如下图

当在第一次执行后,就会被成功创建

下一次再进入($conf[‘’]==1)分支后,

由于

这个if条件不满足

不会再次调用$->($)的。

总结来说,此处可以远程代码执行,但是当被创建后,此处调用链失效。

到此为止,我们找到了一处不同于原作者的利用链。但仅仅中就有四个分支调用了存在漏洞的函数。

也就是说,同一个漏洞触发点所生产的利用链远远不止两处,有兴趣的朋友也可以自己试试。

总结

在分析一个漏洞时,当找到存在漏洞的部位时,不妨仔细的检查下这个存在漏洞的方法在何处被调用,为什么被调用,实现了什么功能。不拘泥于漏洞作者给出的poc,也许可以找到其他的利用链进行利用。

tags: 漏洞

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了