Catfish任意代码执行漏洞 0day

Posted yu22x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Catfish任意代码执行漏洞 0day相关的知识,希望对你有一定的参考价值。

Catfish任意代码执行漏洞

漏洞影响

Catfish6.3.0

复现过程

漏洞位置:application\\install\\controller\\Index.php step3()

在该函数中会将我们传入的内容替换database.php中的数据
我们来看下该文件

这么一看会发现很简单,是不是只要post 传入prefix=','a'=>exec('calc')]?>之类的的就可以成功写入里面呢,但是经过断点跟踪发下存在一些问题。

在此之前会进行一个查询,如果我们传prefix=','a'=>exec('calc')]?>,那么最终的查询语句就是select * from ','a'=>exec('calc')]?>posts where id=1很明显会sql语法错误,所以为了绕过这个地方需要加些东西,我们只要保证能查出数据即可。
所以我们可以传

prefix=information_schema.schemata%23','a'=>exec('calc')]?>

这样拼接的sql语句为select * from information_schema.schemata%23','a'=>exec('calc')]?>>posts where id=1
#后面的会被注释掉,所以最终执行的sql语句为select * from information_schema.schemata。成功达到查出数据的目的。
在安装的过程抓包修改post参数如下。


接着我们来看下本地的database.php文件

可以看到成功写入。
剩下的就简单了,因为是数据库配置文件,所以任何调用数据库的地方都会触发,比如首页。

与50位技术专家面对面 20年技术见证,附赠技术全景图

以上是关于Catfish任意代码执行漏洞 0day的主要内容,如果未能解决你的问题,请参考以下文章

dedecms任意命令执行漏洞0day

seacms V11.5代码执行漏洞(0day)

seacms V11.5代码执行漏洞(0day)

20155306 白皎 0day漏洞——漏洞利用原理之栈溢出利用

Catfish CMS漏洞集合

双杀 0day 漏洞(CVE-2018-8174)复现