本文主要知识点
解析漏洞
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系统,用网上方法
名词解释补充
解析漏洞
解析漏洞是什么
解析漏洞是指Web服务器在解析文件名或目录名时,由于配置不当或自身缺陷,错误地将某些文件解析为脚本文件并执行,从而导致安全问题。这种漏洞通常与Web服务器(如Apache、IIS、Nginx)的配置或版本有关。
解析漏洞的常见类型及例子
1. Apache解析漏洞
Apache服务器会从右到左解析文件扩展名,直到遇到一个它认识的扩展名为止。例如:
文件名
test.php.owf.rar
,由于.owf
和.rar
是不可识别的扩展名,Apache会将其解析为test.php
。配置问题:如果配置了
AddHandler
或AddType
,可能导致即使文件扩展名不是.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漏洞类型
SQL注入(SQL Injection)
- 攻击者通过向数据库查询中插入恶意SQL代码来获取或操纵数据。如果CMS对用户输入的数据缺乏适当的验证和过滤,攻击者可以利用此漏洞获取敏感信息或绕过身份验证。
跨站脚本(XSS)
- 攻击者将恶意脚本插入到网页中,当其他用户访问该网页时,这些脚本会在他们的浏览器中执行。XSS攻击通常分为存储型、反射型和基于DOM的三种类型。
文件上传漏洞
- 如果CMS对上传文件的类型和内容缺乏严格的验证和过滤,攻击者可以上传恶意文件(如可执行脚本或WebShell),从而控制服务器或窃取数据。
跨站请求伪造(CSRF)
- 攻击者利用用户在已登录状态下的授权,通过伪造请求来执行未授权操作。这种攻击通常依赖于社会工程手段,诱骗用户点击恶意链接。
远程代码执行(Remote Code Execution, RCE)
- 某些CMS漏洞允许攻击者在服务器上执行任意代码,从而完全控制服务器。
具体CMS漏洞案例
WordPress
Heartbleed漏洞:WordPress使用的OpenSSL库存在漏洞,可以泄露网站的私钥和SSL证书。
TimThumb插件远程代码执行漏洞:攻击者可以利用此漏洞获得网站控制权。
Joomla
SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。
CSRF攻击:攻击者可以通过提交恶意表单获取网站数据。
Drupal
SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。
文件包含漏洞:攻击者可以上传恶意文件,从而获取网站数据。
Magento
SQL注入漏洞:攻击者可以通过提交恶意SQL查询获取网站数据。
XSS攻击:攻击者可以注入恶意JavaScript或HTML代码,从而更改网站内容。
编辑器漏洞
编辑器漏洞是什么
编辑器漏洞是指在Web内容管理系统(CMS)或Web应用程序中使用的富文本编辑器(如UEditor、CKEditor、KindEditor等)中存在的安全缺陷。这些漏洞可能被攻击者利用,导致未经授权的文件上传、代码执行、跨站脚本攻击(XSS)等问题。
常见的编辑器漏洞类型
任意文件上传漏洞:
攻击者可以绕过文件类型检查,上传恶意文件(如PHP脚本、WebShell等),从而在服务器上执行任意代码。
例子 :UEditor的.NET版本存在任意文件上传漏洞,攻击者可以通过构造恶意请求上传
.aspx
文件。跨站脚本攻击(XSS):
- 编辑器未对用户输入进行充分过滤,导致攻击者可以注入恶意脚本,影响其他用户。
未授权访问漏洞:
- 编辑器的某些功能(如文件管理器)未进行适当的权限验证,攻击者可以访问或操作敏感文件。
列目录漏洞:
- 编辑器的文件管理功能可能泄露服务器上的文件结构,攻击者可以利用此信息进一步攻击。
绕过文件格式限制:
- 编辑器在处理文件上传时,可能未严格检查文件扩展名或内容类型,导致攻击者可以上传非预期的文件。
影响范围
这些漏洞可能影响多种流行的编辑器,如UEditor、CKEditor、KindEditor、FCKeditor等。不同版本的编辑器可能存在不同的漏洞,攻击者可以利用这些漏洞上传恶意文件、执行代码或窃取数据。
CVE漏洞
CVE漏洞是什么?
CVE(Common Vulnerabilities and Exposures,通用漏洞和暴露)是一个公开的网络安全漏洞列表,由MITRE公司维护。它为每个已知的安全漏洞和暴露分配了一个唯一的标识符(CVE ID),以便安全研究人员、供应商和组织能够一致地讨论、分析和修复这些漏洞。
CVE漏洞的分类
CVE漏洞主要分为两类:
漏洞(Vulnerability):软件或硬件中的缺陷,攻击者可以利用这些缺陷直接访问系统或网络,执行未经授权的操作。
暴露(Exposure):软件或配置中的错误,使攻击者能够间接访问系统或网络,通常用于收集敏感信息。
CVE漏洞的具体例子
CVE-2017-5638(Struts2 S2-045)
描述 :Apache Struts2框架的远程代码执行漏洞。攻击者可以通过构造恶意的
Content-Type
头来触发该漏洞,执行任意Java代码。影响:攻击者可以完全控制服务器,安装恶意软件、窃取敏感信息等。
CVE-2018-15473(OpenSSH User Enumeration)
描述:OpenSSH服务器中的一个用户枚举漏洞。攻击者可以通过发送特定请求并观察服务器响应,确定服务器上是否存在特定用户。
影响:攻击者可以为后续攻击做准备,如暴力破解密码或进行社交工程攻击。
CVE漏洞的特点与作用
唯一性:每个CVE漏洞都有一个唯一的标识符,便于跟踪和管理。
标准化描述:CVE为每个漏洞提供标准化的描述,便于安全团队理解和修复。
漏洞评分:通过CVSS(Common Vulnerability Scoring System)对漏洞的严重性进行评分,帮助组织确定修复优先级。