护网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版本的漏洞相似

相关推荐
23级二本计科5 分钟前
Linux信号_信号的产生
linux·运维·服务器
南猿北者1 小时前
docker镜像仓库常用命令
运维·docker·容器
杨浦老苏1 小时前
Docker可视化管理面板DPanel的安装
运维·docker·群晖
JustCouvrir2 小时前
macOS|前端工程部署到Nginx服务器
服务器·前端·nginx
海绵波波1072 小时前
Webserver(4.4)多进程/多线程实现并发服务器
运维·服务器
Kalika0-02 小时前
Linux 文件基本属性
linux·运维·服务器·学习
皓7412 小时前
敏捷开发新助力:超越传统的10大知识库工具
运维·网络·人工智能·安全·零售·敏捷流程
AlbertS3 小时前
使用 Let’s Encrypt 获取免费SSL证书
nginx·免费·centos7·ssl证书·let’s encrypt
乐茵安全3 小时前
linux基础
linux·运维·服务器·网络·安全·网络安全
写代码的学渣3 小时前
Linux SSH免密登入以及配置脚本
linux·运维