声明:本公众号大部分文章来黑白之间安全团队成员的实战经验以及学习积累,文章内公布的漏洞或者脚本都来自互联网,未经授权,严禁转载。

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本团队无关。

前言

cnvd 的时候看到 catfish cms 的文件上传漏洞,于是审了审,就发现了这两处文件上传,具体是不是该漏洞,还有待考证。

CNVD编号

CNVD-2021-42363

影响范围

文中标的是 Catfish CMS V5.9.6 ,但这里这个我看了下,最新能下载到的 v5.9.12 也受到影响

漏洞复现

有两个漏洞,不过都需要登陆后台,而且类型都差不多,不过利用方式可以有些区别

上传主题 getshell

后台 -> 系统设置 -> 主题 -> 主题上传

我们去看看主题的位置

CatfishCMS-5.9.6\public

可以看到这里已经有了几个主题,再加上明确有说是上传 zip,因此随便复制一个文件夹出来,将我们的马写进去,然后打包成 zip 上传就可以 getshell

http://www.xxxxx.com/public/blogs/bat.php

上传插件 getshell

这个和之前那个几乎是一模一样的

扩展功能 -> 插件 -> 插件上传

插件位置

CatfishCMS-5.9.6\application\plugins

这里有一个 announcement ,复制出来,在里面加一个马,打包 zip 上传,插件处不一定显示,有可能是因为内容都一样的原因,不过确实传上去了,但是我们想要像主题一样直接 getshell 是不行的,访问

http://www.xxxxxxxxxxx.com/application/plugins/annn/shell.php

我们发现是无法直接访问的,究其原因,原来是 .htaccess 在作怪,.htaccess ,分布式配置文件,可以针对目录改变配置,我们可以在 application 文件夹下面发现他,看看里面的内容

deny from all

也就是 application 文件夹,包括其子目录拒绝一切访问,这才想起来,他是一个 thinkphp 程序,不让直接访问 application 就是正常的操作,想想怎么绕过这个限制呢,在子文件夹中的 .htaccess 优先级是更高的,因此我们同时上传一个 .htaccess ,内容

allow from all

这样就可以直接访问到了,至此, getshell 成功

总结

这里我并没有分析其漏洞代码,造成漏洞的主要原因是允许压缩包内的任意文件上传,这也是开发人员常常忽略的点,只注意上传的文件,而没有在意之后解压出来的文件,从而导致了漏洞,此外 .htaccess 这一手确实挺有意思的,作用很大,当然,其实也可以上传 user.ini

参考链接

  • https://www.cnvd.org.cn/flaw/show/CNVD-2021-42363

欢迎大家关注公众号

代码审计--CatfishCMS文件上传漏洞相关推荐

  1. CatfishCMS文件上传漏洞(CNVD-2021-42363)

    本博客已搬迁至:https://n0puple.github.io/ 此处不再更新文章 本文仅用于技术讨论与研究,文中的实现方法切勿应用在任何违法场景.如因涉嫌违法造成的一切不良影响,本文作者概不负责 ...

  2. PHP代码审计7—文件上传漏洞

    文章目录 一.文件上传漏洞基础 1.漏洞原理 2.常见的防御方法与绕过技巧 3.近期公布的文件上传漏洞 二.Upload-Labs 部分代码分析 1.Pass-4 后缀名黑名单检测 2.文件头白名单检 ...

  3. 通达OA V11.3 代码审计 (文件上传、文件包含、任意用户登录漏洞)

    因为这段时间比较忙,抽出时间写博客很不容易,所以就简单的吧印象笔记里面的内容站上俩,没有写太多具体的分析过程,尽量都在截图中说明了 附件 通达OA11.3源码(未解码,可以自己去下SeayDzend解 ...

  4. 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析

      0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...

  5. 文件上传漏洞——upload-labs(11-20)

    前言:上次文件上传漏洞学习到第十关,这次继续学习 第十一关 分析源码 前面几行代码都是对后缀名进行限制,最重要的就是这一句代码 $img_path = $_GET['save_path']." ...

  6. [网络安全自学篇] 八十一.WHUCTF之WEB类解题思路WP(文件上传漏洞、冰蝎蚁剑、反序列化phar)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了WHUCTF部分题目,包括代码审计.文件包含.过滤绕过.SQL注入.这篇文 ...

  7. 054 webshell介绍与文件上传漏洞

    文章目录 本来想把关于大马.小马.菜刀,蚁剑,upload-labs(部分实验)等小型实验展示单独出一章节内容,后来想想还是整合在一起吧.所以说这一章节的内容会 ¥¥¥有点多¥¥¥ 一:漏洞概述 二: ...

  8. 文件上传漏洞、WebShell、防御及绕过利用、Web容器解析漏洞、编辑器上传漏洞

    文章目录 文件上传漏洞 漏洞概述 漏洞成因 漏洞危害 WebShell 大马 小马 GetShell 漏洞利用的条件 PUT方法上传文件 漏洞的防御.绕过和利用 黑白名单策略 安装upload-lab ...

  9. 渗透测试-文件上传漏洞之MIME type验证原理和绕过

    文件上传漏洞之MIME type验证原理和绕过 文章目录 文件上传漏洞之MIME type验证原理和绕过 前言 一.什么是MIME type 二.MIME type验证原理和绕过 1. MIME ty ...

最新文章

  1. 1109: 胥哥的DOTA-水题(直接做,时间也不超限)
  2. 前端学习(2368):编程式导航
  3. bagging算法_Bagging/Boosting傻傻分不清?来一探究竟吧~
  4. MooFest POJ - 1990
  5. 未名 - markdown
  6. Windows系统如何修改Hosts文件
  7. 面试官:Java的重写和重载有什么区别?
  8. 数学建模之对策论/竞赛论/博弈论(Python)
  9. 【自存代码】划分数据集为训练集和测试集
  10. 【QNX Hypervisor 2.2 用户手册】1.5 内存
  11. 我把Github上最牛b的Java教程和实战项目整合成了一个PDF文档
  12. Scikit-learn实战之最近邻算法
  13. 籍贯怎样填写_籍贯怎么填写才正确(籍贯正确填写方式)
  14. html 怎么做动态效果图,css如何让图片动起来?
  15. 嵌入式linux数控系统,关于ARM+DSP嵌入式Linux数控系统设计.pdf
  16. 查找附近的人-mongodb的实现
  17. Java基础算法题(01):判断101-200之间有多少个素数,并输出所有素数。 素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
  18. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG)
  19. 传感器检测技术——传感器的静态特性
  20. 力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.3.3企业版 旗舰版

热门文章

  1. 关于stm32io口保护二极管的作用
  2. 阿里巴巴集团副总裁贾扬清:开源大数据生态前瞻
  3. 深圳大学电信C语言期末大作业 弹球模拟
  4. FatFs R0.14 - FF_USE_LFN
  5. lda主题模型困惑度_Perplexity(困惑度)详解
  6. 吉大计算机物联网工程学院,许德智
  7. 写一函数,实现删除字符串str1中含有的字符串str2.
  8. Tensorflow tf.gradients 详解
  9. Putty,VNC链接树莓派
  10. 苹果终端date命令_mac date命令详解