快排CMS1.2文件上传漏洞

news/2024/11/16 11:31:49/文章来源:https://www.cnblogs.com/0kooo-yz/p/18327900

侵权声明

本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。

如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系: [360619623@qq.com]。我们将在确认后的合理时间内采取适当措施,包括删除相关内容。

感谢您的理解与支持

靶场安装地址:/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会被定义完整。

image

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

image

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

image

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

image

复现:

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

image

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

image

3、成功上传

image

4、成功访问

image

总结

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


参考

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


免责声明

本博客所提供的技术知识和信息仅旨在教育和分享网络安全最佳实践,促进网络安全意识的提升。作者严禁将这些技术和信息用于任何非法或不道德的目的。

使用本博客内容而导致的任何违法行为或后果,作者不承担任何法律责任。所有读者在使用本博客的信息时,应自行承担风险,并确保遵守当地法律法规。

我们鼓励所有读者合法地使用所提供的信息和技术,致力于维护安全和负责任的网络环境。

感谢您的理解与支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/772907.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

裂行 换前减震弹簧

换完感受 优点 不在触底了,过坑洼路边更有信心。 缺点: 过弯极限变低,之前可以压很低,现在要重新适应一下,特别是右转,角度比较大的情况下 施工过程 厂家送了减震油,师傅给减震也拆开保养过, 外加换弹幕 ,自己恐怕是搞不定,没关系可以请师傅搞,当然要花点前。20分钟…

外贸邮箱注册:谷歌企业邮箱注册详细教程

做外贸行业,企业邮箱一定是与客户沟通的必要工具,我使用过的企业邮箱有很多,但使用下来体验最好用的还是谷歌企业邮箱。本篇教程就讲下如何注册一个谷歌企业邮箱。 在讲解前先普及一些关于企业邮箱的基础知识吧。 什么是企业邮箱 1.我们平常使用的 XX @qq.com 、 XX @outloo…

【待做】【攻防技术系列+网络协议】SSH攻防一体命令备忘清单

一、关于SSH SSH(缩写为“Secure Shell”或“Secure Socket Shell”)是一种网络协议,用于通过不安全的网络安全地访问网络服务。它包括实现SSH的一套实用工具,例如: ssh-keygen:用于为 SSH 创建新的身份验证密钥对;SCP(安全复制协议):用于在网络上的主机之间复制文件;…

gitlab 通过命令将ssh连接改为http连接

查看当前项目的连接命令git remote -v 更改当前项目的连接方式git remote set-url origin http://****

为什么老板现在要学习财务

一、新常态经济。什么是“新常态”?现在企业赚钱越来越难,利润 越来越薄,需要通过财务手段来精细化核算和精细化管理, 民营企业已进入抠细节、抠成本、抠利润的时代,而财务是 支撑企业精细化管理的核心工具。 二、大数据时代。经营决策需要数据,数据则主要来自 财务部…

如何让SQL Server像MySQL一样拥有慢查询日志(Slow Query Log慢日志)

如何让SQL Server像MySQL一样拥有慢查询日志(Slow Query Log慢日志) SQL Server一直以来被人诟病的一个问题是缺少了像MySQL的慢日志功能,程序员和运维无法知道数据库过去历史的慢查询语句。 因为SQLServer默认是不捕获过去历史的长时间阻塞的SQL语句,导致大家都认为SQL Se…

模拟退火学习笔记

骂谁罕见模拟退火学习笔记 前言 不知道为啥突然有闲情学这个... 模拟退火 (Simulated Annealing) , 简称 \(SA\) . 是一种基于随机化的算法,无门槛,主要是为了骗分... 不是正解!!!! 根据 爬山算法 的过程,我们发现:对于一个当前最优解附近的非最优解,爬山算法直接舍去…

录取查询

这道题赛时是想出来了,但是线段树出锅了,只得了20分。 首先根据题目我们可以得出,一个序列要是为T的子串,就必须满足以下三个条件。 1.该序列单调不降。如 ba肯定是不合法的。 2.该序列除去开头和结尾的字母,其他字母的数量必须为整个序列全部的该字母数量。 如 abbcba 选…

NaplesPU或NPU技术开发文档合成全部(修改版)

NaplesPU或NPU技术开发文档合成全部(修改版) http://www.naplespu.com/doc/index.php?title=Main_Page http://www.naplespu.com/ https://github.com/AlessandroCilardo/NaplesPU https://github.com/AlessandroCilardo/NaplesPU-toolchain http://www.naplespu.com/doc/in…

万恶资本主义观赏记录

万恶的资本主义到底如何没有体验过,我需要去体验,6月开始计划,参考了团队游项目,最终决定自由行。 行程从香港Hongkong飞伊斯坦布尔Istanbul,10小时,再飞纽约市New York City,10小时。再坐巴士去费城Philadelphia,一共15天。总结: 美国New York City,Philadelphia在美…

D. The Omnipotent Monster Killer

D. The Omnipotent Monster Killer题目大意: 有一棵树,树节点数不超过\(310^5\),每个节点的权值,定义为数组\(a(a_i<10^{12})\),初始\(sum=0\),每一轮执行如下操作:计算当前剩余所有的点权和,累计到\(sum\)中 任选若干个互不相邻的节点并移除重复这个操作直到树上没…