IIS6PUT上传原理
1.在Web服务扩展中开启了WebDAV。
2.网站开启了写入权限。
使用PUT进行文件上传时,不能直接上传asp类型的文件,只能采用先上传txt文件,然后在通过move进行重命名。
上传一个txt文件,并且同时写入一句话木马。
上传成功。
move时,要添加Destination:,后面可以不用加域名,但是要有/shell.asp。
IIS在利用PUT上传后,在进行move的时候,请求包的最下面一定要加两个空格,不然无法重命名成功。
加上空格后,重命名成功。
webshell管理工具连接。
防御措施
1.关闭webdav
2.关闭写入权限
文件解析基于文件名文件名解析
xx.asp;.jpg像这种畸形文件名在;后面的直接被忽略,也就是说当成xx.asp文件执行。
IIS6.0默认的可执行文件除了asp还包含这三种 .asa,.ce,.cdx。
当我们上传一个asp后缀的文件时,G。
修改后缀后上传成功,并且返回了文件上传的目录。
访问并连接webshell工具。
防御措施
1.禁止创建和上传此类畸形文件
2.图片存放目录设置成禁止脚本文件执行
3.升级iis版本
基于文件夹文件夹解析
服务器默认会把/xx.asp/目录下的文件都解析成asp文件。
我们先创建一个asp后缀的文件夹(在抓包上传的时候或许也有可能创建,没试)
上传成功后会显示目录,并且文件被重命名。
将文件改为txt看一下,然后访问。
利用BP进行抓包,修改文件上传的位置。
上传返回的目录,访问。
Success
防御措施
1.禁止创建此类文件夹
2.升级iis版本
IIS短文件名原理
IIS8.0以下版本需要开启ASP.NET支持,IIS>=8.0版本,即使没有安装ASP.NET,通过 OPTIONS和TRACE方法也可以猜解成功。
特征
1.只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的6个字符是相同的,后面的数字进行递增。
2.后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。
3.所有小写字母均转换成大写的字母
4.长文件名中包含多个”.”的时候,以文件最后一个”.”作为短文件名的后缀。
5.长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包 含空格或者其他部分特殊字符,不论长度均会生成短文件。
使用payload验证目标是否存在IIS短文件名漏洞,下图显示的404,说明目标存在该短文件名。
注:* 可以匹配n个字符, n可以为0。
访问一个不存在的短文件名,会返回400状态码, 400说明该文件不存在。
通过网上的用IIS短文件名扫描软件,也可以快速获取。
防御措施
1.升级.net framework
2.修改注册表键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。
CVE-2017-7269原理
Microsoft windows Server 2003 R2中的 Interne信息服务IIS6.0中的 WebDAV服务中的 ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以 If:<http://开头的长标头执行任 意代码 PROPFIND请求。
服务器需要开启 WebDAV扩展。
直接使用PY脚本或者MSF内的插件也可。
https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269
python iis 目标IP 端口 攻击IP 监听端口
IIS7iis7文件解析漏洞原理
IIS7.x版本在Fast-CGl运行模式下,在任意文件,例:a001.jpg/png后面加上/.php,会将a001.jpg/png 解析为php文件。
打开目标服务器,提前上传进去后缀为jpg的一句话木马。
以图片的形式访问1.jpg,G。
在图片后面加上/.php,看到被按照php的文件进行解析。Success
防护措施
1.配置 cgi fix_pathinfo(php inil中)为0并重启php-cgi程序。
MS15-034原理
HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引 入,IIS服务进程依赖HTTP.SYS。
主要存在Windows IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008 R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响。
影响版本
IIS7.5、IIS8.0、IIS8.5
访问网站。
用BP进行抓包,请求包内输入:Range: bytes=0-18446744073709551615字段,返回的是416的话,代表漏洞存在。
使用MSF进行攻击。
目标服务器蓝屏,G。
防御措施
1.安装修复补丁(KB3042553)