【学习笔记】文件上传漏洞--中间件解析漏洞、编辑器安全

目录

一、IIS

[二、Apache HTTP Server](#二、Apache HTTP Server)

[三、Apache HTTPD 未知后缀解析漏洞](#三、Apache HTTPD 未知后缀解析漏洞)

[四、Apache HTTPD 换行解析漏洞](#四、Apache HTTPD 换行解析漏洞)

五、黑、白名单

六、nginx解析漏洞

七、编辑器漏洞


一、IIS

文件夹

正常:image/qq.jpg

执行:image.asp/qq.jpg

qq.jpg就会被当做asp解析执行

文件

正常:image.jpg

执行:image.asp;jpg或image.asp;image.jpg

image.jpg 就会被当做asp解析执行

asp可以换做php,如果换了php,那么就当php执行

详细操作:"文件上传"配合中间件"解析漏洞"

二、Apache HTTP Server

Apache HTTP Server ,通常简称为 Apachehttpd,是由 Apache 软件基金会开发和维护的一个开源的网页服务器软件。它是全球使用最广泛的 Web 服务器之一,能够在几乎所有的计算机平台上运行,包括各种 Unix 系统、Linux 系统和大多数 Windows 平台。

三、Apache HTTPD 未知后缀解析漏洞

Apache HTTPD不安全的配置导致未知后缀解析漏洞

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件:

复制代码
AddType text/html .html
AddLanguage zh-CN .cn

其给.html后缀增加了media-type,值为text/html给.cn后缀增加了语言,值为zh-CN此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面。

以上就是Apache多后缀的特性。如果运维人员给.php后缀增加了处理器:

复制代码
AddHandler application/x-httpd-php .php

那么,在有多个后缀的情况下,只要一个文件含有**.php**后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

即:xxx.php.jpg会被当做php文件解析。

Apache HTTPD 未知后缀解析漏洞复现

四、Apache HTTPD 换行解析漏洞

Apache在2.4.0-2.4.29版本中存在一个解析漏洞。程序在解析PHP时,如果文件名最后有一个换行符x0A,apache依然会将其当成php解析,但是在上传文件时可以成功的绕过黑名单。(如果上传文件的php程序是设置的白名单,那么这个漏洞将无法利用。)

详细操作:Apache HTTPD 换行解析漏洞复现

五、黑、白名单

白名单黑名单是两种常用的网络安全措施。

白名单是一种安全程序,它限制用户只能访问网络所有者定义的受信任内容。而黑名单则会阻止特定的网站、用户和应用程序。

白名单是以「正向表列」的方式允许某些行为;黑名单则是以「负面表列」的方式禁止某些行为。因此,白名单又称为「通行名单」,而黑名单又称为「阻挡名单」。

凡是涉及到网络控制的各种机制,都会应用到白名单和黑名单规则。这些规则都能保护您免受恶意软件、病毒、电子邮件、IP地址、网站的攻击。

六、nginx解析漏洞

这个漏洞其实是由php.ini中cgi.fix pathinfo选项与php-fpm的配置一起导致的,防范的话,只需在php-fpm配置文件中设置security.limit_extensions=.php,重启一下服务即可。

该漏洞与nginx、php版本无关,属于用户配置不当造成的解析漏洞。

详细操作:Nginx解析漏洞分析:环境配置、复现与防范策略

七、编辑器漏洞

编辑器目录:ewebeditor、Ueditor、kindeditor、Fckeditor

各类编辑器漏洞:常见编辑器漏洞汇总

相关推荐
网络研究院28 分钟前
新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
网络·网络协议·安全·http·攻击·漏洞
喜欢吃燃面39 分钟前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程40 分钟前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
草莓熊Lotso42 分钟前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
guts°1 小时前
6-服务安全检测和防御技术
安全
_Kayo_7 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC131016310 小时前
嵌入式学习(day 28)线程
jvm·学习
sinat_2869451910 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
星星火柴93611 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头11 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习