文件上传--解析漏洞和编辑器

本文主要知识点

解析漏洞

IIS6/7.X、 Apache、 Nginx
CMS漏洞

某CMS上传1、某CMS上传2、某CMS上传3

其他漏洞

编辑器漏洞

fckeditor、ewebeditor、ckeditor、kindeditor...

CVE等漏洞

CVE-2015-5254、CVE-2017-12615、CVE-2019-2618

-- #该倒数第二个视频有讲整体思路

环境资源:

phpStudy 2013B php5.2 珍藏版(apache 2.2.25+php 5.2.17) 下载-脚本之家https://www.jb51.net/softs/75619.html

[1]解析漏洞

IIS6/7 简要说明-本地搭建

常见web中间件漏洞(一)IIS漏洞 - anoldcat - 博客园https://www.cnblogs.com/lcxblogs/p/13539558.html

Apache配置安全--vulhub
Apache解析漏洞-低版本

X.php. xxx. yyy

识别最后的yyy如果不识别的向前解析 直到识别

利用场景:

如果对方中间件apache属于低版本,我们可以利用文件上传,上传一个不识别的文件后缀,利用解析漏洞规则成功解析文件,其中后门代码被触发。

Apache换行解析-vulhub

在1.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截,同时修改Hex属性成0a

Nginx解析漏洞-vulhub

Nginx文件名逻辑-vulhub

[2]编辑器漏洞

直接参考手册,知道对方使用的编辑器之后进行漏洞利用

编辑器漏洞手册 - 代码先锋网https://www.codeleading.com/article/27886084008/

在Web开发和内容管理系统(CMS)中,编辑器(通常指富文本编辑器)是一个非常重要的组件,它允许用户以直观的方式创建和编辑内容,而无需直接编写HTML代码。编辑器的主要作用包括以下几个方面:

1. 内容创建与编辑

编辑器提供了一个用户友好的界面,使用户能够轻松地创建和编辑内容。用户可以通过点击按钮、使用快捷键或拖放操作来插入文本、图片、链接、表格等元素,而无需手动编写HTML代码。

例子

  • WordPress:WordPress的编辑器(如Gutenberg)允许用户通过拖放模块来创建复杂的页面布局,插入图片、视频、文本块等。

  • UEditor:UEditor是一个流行的富文本编辑器,广泛用于各种CMS系统,支持多种格式化选项,如加粗、斜体、下划线、颜色选择等。

2. 内容格式化

编辑器提供了丰富的格式化选项,帮助用户创建美观且结构化的文档。这些格式化选项包括字体选择、段落对齐、列表、标题等。

例子

  • CKEditor:CKEditor支持多种格式化选项,用户可以轻松地将文本设置为标题、段落、引用等,并且可以插入图片、链接、表格等元素。

  • TinyMCE:TinyMCE是一个轻量级的富文本编辑器,提供了简洁的用户界面和丰富的格式化功能,适合嵌入到各种Web应用程序中。

3. 内容预览

编辑器通常提供了一个"所见即所得"(WYSIWYG)的预览功能,用户可以在编辑时实时看到内容的最终效果。这使得用户能够更直观地调整内容的格式和布局。

例子

  • WordPress:在编辑文章时,用户可以切换到"预览"模式,查看文章在前端页面上的实际效果。

  • UEditor:UEditor提供了即时预览功能,用户在编辑过程中可以随时查看内容的最终效果。

4. 内容存储与管理

编辑器不仅负责内容的创建和编辑,还负责将内容存储到数据库或文件系统中。编辑器通常会将用户输入的内容转换为HTML格式,并将其保存到相应的存储介质中。

例子

  • Joomla:Joomla的编辑器将用户创建的内容保存到数据库中,以便在网站的前端页面中显示。

  • Drupal:Drupal的编辑器支持多种内容类型和字段,用户可以创建和管理不同类型的内容,如文章、页面、媒体等。

5. 多媒体支持

编辑器支持插入和管理多媒体内容,如图片、视频、音频等。用户可以通过编辑器上传和插入这些多媒体文件,丰富内容的表现形式。

例子

  • WordPress:WordPress的编辑器支持上传图片和视频,并提供了丰富的插入选项,用户可以轻松地将多媒体内容嵌入到文章或页面中。

  • CKEditor:CKEditor支持插入图片、视频、音频等多媒体内容,并提供了丰富的配置选项,如图片的对齐方式、大小调整等。

6. 插件与扩展

许多编辑器支持插件和扩展,用户可以根据需要添加额外的功能。这些插件可以扩展编辑器的功能,如支持代码高亮、表格编辑、拼写检查等。

例子

  • TinyMCE:TinyMCE提供了丰富的插件生态系统,用户可以根据需要添加各种功能,如代码高亮、表格编辑、拼写检查等。

  • UEditor:UEditor也支持插件扩展,用户可以通过插件添加自定义的功能,如自定义工具栏按钮、自定义格式化选项等。

形象的例子:Word文档编辑器

想象一下,你正在使用Microsoft Word创建一个文档。Word提供了丰富的编辑功能,如文本格式化、图片插入、表格创建等。这些功能使得你可以轻松地创建一个美观且结构化的文档,而无需手动编写HTML代码。Word还提供了"所见即所得"的预览功能,你可以实时看到文档的最终效果。此外,Word还支持保存文档到本地或云端,方便管理和共享。

[3]CMS漏洞

知道对方使用的CMS系统,用网上方法

【春秋云镜】Subrion CMS 4.2.1 文件上传漏洞实战全过程CVE-2018-19422 - FreeBuf网络安全行业门户https://www.freebuf.com/vuls/369761.html

名词解释补充

解析漏洞

解析漏洞是什么

解析漏洞是指Web服务器在解析文件名或目录名时,由于配置不当或自身缺陷,错误地将某些文件解析为脚本文件并执行,从而导致安全问题。这种漏洞通常与Web服务器(如Apache、IIS、Nginx)的配置或版本有关。

解析漏洞的常见类型及例子

1. Apache解析漏洞

Apache服务器会从右到左解析文件扩展名,直到遇到一个它认识的扩展名为止。例如:

  • 文件名test.php.owf.rar,由于.owf.rar是不可识别的扩展名,Apache会将其解析为test.php

  • 配置问题:如果配置了AddHandlerAddType,可能导致即使文件扩展名不是.php,文件也会被当作PHP脚本执行。

2. IIS解析漏洞

IIS服务器会忽略分号;后面的扩展名。例如:

  • 文件名test.asp;.jpg,IIS会忽略;jpg,将其解析为test.asp

  • 目录解析漏洞:以.asp命名的文件夹里的文件都将会被当成ASP文件执行。

3. Nginx解析漏洞

Nginx在某些配置下可能会错误地解析文件。例如:

  • cgi.fix_pathinfo开启时,Nginx可能会将test.jpg/test.php解析为test.jpg并尝试执行。

  • 特殊字符绕过:如使用%20%00等非法字符组合,可能导致Nginx解析错误。

解析漏洞的危害

攻击者可以利用解析漏洞上传恶意文件,绕过应用程序的安全限制,执行恶意代码或访问敏感数据。例如,攻击者可以上传一个看似无害的图片文件,但服务器错误地将其解析为PHP脚本并执行,从而获取WebShell。

CMS漏洞

如何理解CMS

形象的例子:图书馆管理员与CMS

  • 图书馆管理员:负责管理图书馆中的书籍,确保书籍信息准确,方便读者查找和借阅。

  • CMS:就像一个智能的图书馆管理系统,帮助管理员完成上述任务,提高工作效率。

CMS漏洞是什么

CMS漏洞是指内容管理系统(Content Management System,简称CMS)中存在的安全缺陷,这些缺陷可能导致未经授权的访问、数据泄露、代码执行等安全问题。

常见的CMS漏洞类型

  1. SQL注入(SQL Injection)

    • 攻击者通过向数据库查询中插入恶意SQL代码来获取或操纵数据。如果CMS对用户输入的数据缺乏适当的验证和过滤,攻击者可以利用此漏洞获取敏感信息或绕过身份验证。
  2. 跨站脚本(XSS)

    • 攻击者将恶意脚本插入到网页中,当其他用户访问该网页时,这些脚本会在他们的浏览器中执行。XSS攻击通常分为存储型、反射型和基于DOM的三种类型。
  3. 文件上传漏洞

    • 如果CMS对上传文件的类型和内容缺乏严格的验证和过滤,攻击者可以上传恶意文件(如可执行脚本或WebShell),从而控制服务器或窃取数据。
  4. 跨站请求伪造(CSRF)

    • 攻击者利用用户在已登录状态下的授权,通过伪造请求来执行未授权操作。这种攻击通常依赖于社会工程手段,诱骗用户点击恶意链接。
  5. 远程代码执行(Remote Code Execution, RCE)

    • 某些CMS漏洞允许攻击者在服务器上执行任意代码,从而完全控制服务器。

具体CMS漏洞案例

  1. WordPress

    • Heartbleed漏洞:WordPress使用的OpenSSL库存在漏洞,可以泄露网站的私钥和SSL证书。

    • TimThumb插件远程代码执行漏洞:攻击者可以利用此漏洞获得网站控制权。

  2. Joomla

    • SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。

    • CSRF攻击:攻击者可以通过提交恶意表单获取网站数据。

  3. Drupal

    • SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。

    • 文件包含漏洞:攻击者可以上传恶意文件,从而获取网站数据。

  4. Magento

    • SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。

    • XSS攻击:攻击者可以注入恶意JavaScript或HTML代码,从而更改网站内容。

编辑器漏洞

编辑器漏洞是什么

编辑器漏洞是指在Web内容管理系统(CMS)或Web应用程序中使用的富文本编辑器(如UEditor、CKEditor、KindEditor等)中存在的安全缺陷。这些漏洞可能被攻击者利用,导致未经授权的文件上传、代码执行、跨站脚本攻击(XSS)等问题。

常见的编辑器漏洞类型

  1. 任意文件上传漏洞

    • 攻击者可以绕过文件类型检查,上传恶意文件(如PHP脚本、WebShell等),从而在服务器上执行任意代码。

    • 例子 :UEditor的.NET版本存在任意文件上传漏洞,攻击者可以通过构造恶意请求上传.aspx文件。

  2. 跨站脚本攻击(XSS)

    • 编辑器未对用户输入进行充分过滤,导致攻击者可以注入恶意脚本,影响其他用户。
  3. 未授权访问漏洞

    • 编辑器的某些功能(如文件管理器)未进行适当的权限验证,攻击者可以访问或操作敏感文件。
  4. 列目录漏洞

    • 编辑器的文件管理功能可能泄露服务器上的文件结构,攻击者可以利用此信息进一步攻击。
  5. 绕过文件格式限制

    • 编辑器在处理文件上传时,可能未严格检查文件扩展名或内容类型,导致攻击者可以上传非预期的文件。

影响范围

这些漏洞可能影响多种流行的编辑器,如UEditor、CKEditor、KindEditor、FCKeditor等。不同版本的编辑器可能存在不同的漏洞,攻击者可以利用这些漏洞上传恶意文件、执行代码或窃取数据。

CVE漏洞

CVE漏洞是什么?

CVE(Common Vulnerabilities and Exposures,通用漏洞和暴露)是一个公开的网络安全漏洞列表,由MITRE公司维护。它为每个已知的安全漏洞和暴露分配了一个唯一的标识符(CVE ID),以便安全研究人员、供应商和组织能够一致地讨论、分析和修复这些漏洞。

CVE漏洞的分类

CVE漏洞主要分为两类:

  1. 漏洞(Vulnerability):软件或硬件中的缺陷,攻击者可以利用这些缺陷直接访问系统或网络,执行未经授权的操作。

  2. 暴露(Exposure):软件或配置中的错误,使攻击者能够间接访问系统或网络,通常用于收集敏感信息。

CVE漏洞的具体例子

  1. CVE-2017-5638(Struts2 S2-045)

    • 描述 :Apache Struts2框架的远程代码执行漏洞。攻击者可以通过构造恶意的Content-Type头来触发该漏洞,执行任意Java代码。

    • 影响:攻击者可以完全控制服务器,安装恶意软件、窃取敏感信息等。

  2. CVE-2018-15473(OpenSSH User Enumeration)

    • 描述:OpenSSH服务器中的一个用户枚举漏洞。攻击者可以通过发送特定请求并观察服务器响应,确定服务器上是否存在特定用户。

    • 影响:攻击者可以为后续攻击做准备,如暴力破解密码或进行社交工程攻击。

CVE漏洞的特点与作用

  • 唯一性:每个CVE漏洞都有一个唯一的标识符,便于跟踪和管理。

  • 标准化描述:CVE为每个漏洞提供标准化的描述,便于安全团队理解和修复。

  • 漏洞评分:通过CVSS(Common Vulnerability Scoring System)对漏洞的严重性进行评分,帮助组织确定修复优先级。

相关推荐
亦双城的双子娴29 分钟前
基于ueditor编辑器的功能开发之重写ueditor的查找和替换功能,支持滚动定位
编辑器
bicijinlian32 分钟前
多语言笔记系列:使用导入魔法命令
笔记
世界尽头与你1 小时前
【安全扫描器原理】网络扫描算法
网络·安全
AI拉呱_1 小时前
医院行业等保2.0案例
安全·web安全
电子云与长程纠缠2 小时前
Unreal Niagara制作SubUV贴图翻页动画
学习·ue5·编辑器·贴图·niagara
2301_810154552 小时前
纯真社区IP库离线版发布更新
web安全
中云时代-防御可测试-小余2 小时前
高防IP是如何防护DDoS攻击和CC攻击的
运维·服务器·tcp/ip·安全·阿里云·ddos·宽度优先
xing_x_xx2 小时前
Linux系统学习----概述与目录结构
学习
foo1st3 小时前
JDK(Ubuntu 18.04.6 LTS)安装笔记
java·笔记·ubuntu
DKPT3 小时前
常见正则表达式整理与Java使用正则表达式的例子
java·笔记·学习·面试·正则表达式