快排CMS1.2文件上传漏洞

admin 2024年8月16日19:06:23评论15 views字数 1107阅读3分41秒阅读模式

靶场安装地址:/index.php/install

漏洞成因:

对文件后缀逻辑判断不当,当上传文件后缀为php时,该in_array($extension, ['gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf'])判断会返回false就不会继续执行后面的语句返回true。因该加一个取反。

if (in_array($extension, ['gif', 'jpg', 'jpeg', 'bmp', 'png', 'swf']) && !in_array($this->getImageType($this->filename), [1, 2, 3, 4, 6, 13]))

漏洞的位置

漏洞地址:
/admin.php/post/add/cid/5.html
/admin.php/config/index.html
/admin.php/banner/edit/id/1.html
漏洞代码位置:
thinkphp/library/think/File.php的267行方法

分析:

下面是检查文件上传的主要验证代码,因为rule数组是空的没有被定义,所以只有红框处的函数起作用即检查文件后缀是否为图片函数。可能在实际生成环境中rule会被定义完整。

快排CMS1.2文件上传漏洞

跟进checkImg()函数即可以啊看到红框处就前一个是验证后缀

快排CMS1.2文件上传漏洞

后一个判断跟进发现是判断常见类型图片的基本信息如:长宽,因为第一个判断的函数不存在所以是直接判断图片的基本信息了。因为第一个判断已经是false了并且两个判断的关系是与,所以该判断是不会执行的,不过该函数应该可以通过制作图片马进行绕过,我试了一下我现在制作的图片马绕不过去。(如有不对请指出)

快排CMS1.2文件上传漏洞

发现有意思的如果你文件上传成功后网址不仅会返回文件保存地址还会去访问一次你上次的文件,可以用bp看到这现象

快排CMS1.2文件上传漏洞

复现:

1、找文件上传位置,点击管理 -> 文章管理 -> 发布

快排CMS1.2文件上传漏洞

2、一句话或其他利用文件

快排CMS1.2文件上传漏洞

3、成功上传

快排CMS1.2文件上传漏洞

4、成功访问

快排CMS1.2文件上传漏洞

总结

代码逻辑问题,形成了漏洞。


参考

https://blog.csdn.net/weixin_52635170/article/details/126950674
https://github.com/wgpsec/peiqi-wiki/blob/master/PeiQi_Wiki/CMS%E6%BC%8F%E6%B4%9E/%E5%BF%AB%E6%8E%92CMS/%E5%BF%AB%E6%8E%92CMS%20%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%BC%8F%E6%B4%9E.md

原文始发于微信公众号(菜鸟小新):快排CMS1.2文件上传漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月16日19:06:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   快排CMS1.2文件上传漏洞http://cn-sec.com/archives/3072964.html

发表评论

匿名网友 填写信息