Catfishcms漏洞复现

Catfishcms漏洞复现

环境搭建:

Catfishcms v4.8.54环境搭建

漏洞复现:

代码审计:

_method=__construct
Request类(catfish/library/think/Request.php)用于处理请求,函数method用于获取请求的类型

application/config.php 中定义了“表单请求类型伪装变量”:

 

POST请求参数 “ _method=__construct ”,将 __construct 传给了var_method ,在Request类的method函数中执行后,实现了对Request类的 __construct 构造函数的调用;并且将完整的POST参数传给了构造函数

method=*&filter[]=system
catfish/library/think/Request.php模块中的Request类的构造函数:

函数中循环取出参数,如果是本类中存在的参数,就取用户传入的值为其赋值,property_exists(

先判断该对象是否有这个属性,如果有则返回真。如果该对象没有有这个属性, 则继续判断该对象对应的类是否定义过这个属性,如果定义过仍然返回真,否则才返回假。)

_method=__construct 使得 method 函数调用了 __construct 构造函数, 并且将完整的POST参数传递过去。实现了对本类中的 $method 和 $filter 两个全局变量的覆盖

 

filter[]=system 的补充:
filter[]=system 或者 filter=system都可以,[]符号可有可无;system意为执行系统命令

Method=* 的补充:
method参数的取值限定为:catfish/library/think/Route.php 模块中定义的路由规则,如:GET、POST、PUT、* 等任何一个值都可以;如果值不在此表或为空,都会报错

 

s=whoami
application/config.php 中定义PATHINFO变量名为’ s ’,可用s传入需要执行的命令,如s=whoami

payload:


s=whoami&_method=__construct&method=&filter[]=system
_method=__construct 使得 Request类的method函数调用 __construct 构造函数,并且将完整的payload传递给构造函数;构造函数中对 method 和filter 两个全局变量进行覆盖,method=&filter[]=system ;参数s传入需要执行的系统命令 

这里没有复现出来,不知道问题出在哪里,希望大佬指出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Catfish(鲶鱼) CMS是一款免费开源的PHP内容管理系统,可以免费商用,可以方便地用于新闻、博客、企业、门户、资源、学校、政府等各种不同类型的网站建设。 自动识别CMS、Blog 等网站类型,只要简单的切换主题就可以完成网站类型的切换。 多语言支持,包括简体中文、繁体中文、俄语、德语、法语、韩语、日语、英语各种语言。 全站自适应设计,适用于pc,手机等不同大小屏幕的终端显示,支持手机、微信等小屏幕访问。 Catfish(鲶鱼) CMS系统适合不同程度的使用者使用。 1、您不需要专业技术就可以轻松搭建您需要的网站,操作简单,灵活方便,稳定快捷。 2、Catfish(鲶鱼) CMS使用十分简单,也容易上手,快捷方便的后台操作让您10分钟就会建立自己的爱站。 3、如果您有一定的网页制作基础,那么您可以自己开发漂亮的主题,并方便地应用到Catfish(鲶鱼) CMS系统中。 4、更进一步,如果您有一定的php基础,那么您还可以开发自己的插件,并方便地应用到Catfish(鲶鱼) CMS系统中。 Catfish(鲶鱼) CMS系统特点: 简单 Catfish(鲶鱼) CMS设计是以“为使用者提供方便”为原则的,所以我们尽量做到让使用变得简单。 简单不仅体在使用过程中,同时也体在二次开发中,您可以在Catfish(鲶鱼) CMS系统基础上进行主题和插件的开发,并且这些开发也是相对简单容易的。 官方网站有主题和插件开发的说明文档。 灵活 由于Catfish(鲶鱼) CMS系统的独特设计,支持了该系统可以高度扩展,保证了系统的充分灵活性。 正因为系统高度灵活,所以Catfish(鲶鱼) CMS系统适合用于各种类型的网站,可以搭建出“如您所愿”的站点。Catfish(鲶鱼) CMS系统可以实一个主题变身任意类型的网站,一个插件变身任意功能的网站。 开源 Catfish(鲶鱼) CMS系统是100%开源的PHP程序,这保证了系统的代码更健壮和更安全。 支持好 您可以免费下载并使用Catfish(鲶鱼) CMS系统,并且官方会不定期地升级系统,您也可以随时升级您的系统到最新版。 高可用性 百万级内容负载从容应对各种不同的建站需求。 安全 系统具备多重安全防护体系,Catfish(鲶鱼) CMS是目前最安全的CMS系统之一。 Catfish(鲶鱼) CMS系统的承诺: 免费 Catfish(鲶鱼) CMS系统面向所有用户免费使用,包括商业用途也可免费使用,是一款真正能免费使用的系统。 版权信息自定义 您可以在系统管理后台方便地修改和定义网站前台页面的版权信息。 功能无删减 秉持着开放的原则,Catfish(鲶鱼) CMS官方发布的系统一直是完整版程序,功能无删减。 专业的自动升级服务 使用Catfish(鲶鱼) CMS系统,只需一次安装,终身免维护,您只需要把精力集中到网站内容建设,无需顾及系统升级,因为Catfish(鲶鱼) CMS系统会对所有用户提供自动的升级服务。 详尽的教程 Catfish(鲶鱼) CMS官方网站提供了详尽的系统使用以及开发教程,包括网页、手册、电子书、视频教程等资料可以免费获取。 免费也要做到最好 Catfish(鲶鱼) CMS是一款可以免费使用的CMS系统,尽管可以完全免费使用,我们也尽自己最大的努力做到CMS产品最好,让您可以免费享用真正专业级的产品。 系统安装基本要求: PHP >= 5.4.X (注意:PHP5.4dev版本和PHP6均不支持) PDO PHP Extension MBstring PHP Extension CURL PHP Extension Catfish(鲶鱼) CMS 系统安装: 将解压后index.php所在目录的所有文件以及文件夹全部制到您的WEB运行环境的根目录下。 制完所有文件后,您可以打开浏览器,然后在浏览器的地址栏输入您站点的域名,系统将自动进入安装页面。例如:如果域名是127.0.0.1,那么只要在浏览器地址栏输入“127.0.0.1”就可以开始安装系统了。记住要换成您自己的域名哦! 如果有任何建议和提议可以到官方网站留言 Catfish(鲶鱼) CMS 更新日志: v5.9.6 更新: 支持PHP8; 调整了一些代码; 优化使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值