护网HW面试—apache&iis&nginx中间件解析漏洞篇

参考:Apache/IIS/Nginx中间件解析漏洞_分别说出iis、apache、nginx解析漏洞原理-CSDN博客

一、apache

1、Apache HTTPD 换行解析漏洞

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。

其2.4.0~2.4.29版本中存在一个解析漏洞。

在解析PHP时,1.php\x0A将被按照PHP后缀进行解析(修改16进制编码为0a),导致绕过一些服务器的安全策略。

2、Apache HTTPD 多后缀解析漏洞

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令,对于Apache来说,它认为一个文件可以有多个后缀,就像:test.txt.png.jpg,但是放在windows大多数操作系统眼里,它认为最后一个"."后的"jpg"为后缀,Apache解析文件的规则是从右到左开始判断,如果后缀名为Apache不认识不可解析的文件时,则再往左判断,比如/test.php.owf.rar,".owf"和".rar"这种后缀的Apache不可直接解析,Apache就会把/test.php.owf.rar解析成它所认知的,也就是php文件

漏洞形式:www.xxx.com/test.php.pzzzp

其余配置文件导致漏洞(运维人员修改或版本未升级)

(1)如果在apache的conf里有这样一行配置Addhandler php5-script.php,这时只需文件名里面包含.php即使文件名为test2.php.jpg也会以php来执行

(2)如果在apache的conf里有这样一行配置AddType application/x-httpd-php.jpg,即使扩展名为jpg,一样以php方法执行

下面不是解析漏洞但是也一起写上了

3、Apache SSI 远程命令执行漏洞

在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用

中间这个id就是执行任意命令的地方,将这个内容保存到.shtml然后访问就是执行了这个命令的结果

4、Apache HTTP 路径穿越漏洞------CVE-2021-41773

在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响:

  • 版本等于2.4.49
  • 穿越的目录允许被访问(默认情况下是不允许的)

攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令

5、Apache HTTP 路径穿越漏洞------CVE-2021-42013

Apache HTTP 服务器项目旨在为包括 UNIX 和 Windows 在内的现代操作系统开发和维护开源 HTTP 服务器。

CVE-2021-42013 是一个漏洞,由 CVE-2021-41773 修复不完整导致,攻击者可以使用路径遍历攻击将 URL 映射到类别名指令配置的目录之外的文件。

此漏洞影响 Apache HTTP Server 2.4.49 和 2.4.50,而不是早期版本。

服务端开启了cgi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令:

6、Apache HTTP SSRF漏洞------CVE-2021-40438

Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.48及以前的版本中,mod_proxy模块存在一处逻辑错误导致攻击者可以控制反向代理服务器的地址,进而导致SSRF漏洞。

二、IIS

1、目录解析(6.0)

解析漏洞只能解析asp文件,而不能解析aspx文件

形式:www.xxx.com/xx.asp/xx.jpg

原理:服务器会默认把asp,asa目录下的文件都解析成asp文件

例如创建一个文件夹,将文件夹重命名为1.asp,那么在此文件夹内创建一个一句话木马,会被当成asp解析,假设攻击者可以控制上传文件夹路径,即可拿shell

2、文件解析

形式:www.xxx.com/xx.asp;.jpg

原理:服务器默认不解析;后面的内容,因此xx.asp;.jsp会解析成asp文件

解析文件类型(IIS6.0 默认的可执行文件除了asp)

xxx.asa

xxx.cer

xxx.cdx

3、7/7.5解析漏洞

IIS7/7.5在Fast-CGI运行模式下,在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件(url访问路径)。

三、nginx

nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。当访问www.xxx.com/phpinfo.jpg/1.php这个链接时,$fastcgi_script_name会被设置为"phpinfo.jpg/1.php",然后构造SCRIPT_FILENAME传递给PHP CGI,但是PHP为什么会接受这样的参数,并且将phpinfo.jpg作为PHP文件解析呢?这就要说到fix_pathinfo选项了,如果开起这个选项(该值默认为1,表示开启)

漏洞主要形式

www.xxx.com/Upload/image/1.jpg/1.php

www.xxx.com/Upload/image/1.jpg.php

www.xxx.com/Upload/image/1.jpg/ \1.php(CVE-2013-4547)

或上传一个名字为test.jpg,内容如下:

');?>

然后访问/test.jpg/.php,在这个目录下就会生成一句话木马shell.php

和iis的7.5版本的漏洞相似

相关推荐
周末不下雨3 分钟前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
耗同学一米八1 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
_半夏曲1 小时前
node.js、nginx、iis、tomcat针对部署方面的简述
nginx·node.js·tomcat
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
肖永威2 小时前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
布鲁格若门2 小时前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student2 小时前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
dessler2 小时前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
腾科张老师2 小时前
如何进行Apache的配置与调试?
apache
DC_BLOG2 小时前
Linux-Apache静态资源
linux·运维·apache