0x00 IIS简介

IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在Windows XP Home版本上并没有IIS。

IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器.

分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

0x01 Put漏洞造成原因

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

0x02 实验环境搭建

1:安装VMware

2:安装WIN2003

3:配置网络连接

4:安装IIS6.0(64bit)

VMware虚拟机选择的网络是.NET模式,或者桥接模式也可以!但前提必须让2003和物理机相互Ping通才可以!

有时候互相Ping不通可能是防火墙的原因,可以把防火墙关闭就可以Ping通了

在这里我的物理机IP:192.168.1.100

WIN2003虚拟机的IP:192.168.119.133

然后配置完IIS后我们用物理机访问WIN2003的IP看看能不能打开网页:

访问:http://192.168.119.133/



上面说明是可以访问到网站的。(一切就绪)

0x03 需要用到的工具

这里不借助这个工具也是可行的,熟悉了这些请求方式的格式之后,就可以通过burp抓包,改数据也行。

当然也可以利用这个工具:IIS写权限的利用 - 桂林老兵:https://www.arpun.com/soft/13406.html

(PS:不建议下载到本机吼~)

0x04 IIS-PUT漏洞演示实战

首先来到Internet信息服务(IIS)管理器 - Web服务扩展:

我们把WebDAV设置为允许、然后网站主目录下设置可写入权限:

这个时候就有可能照成任意文件上传,我们来先来发送一个OPTIONS请求:

options 请求属于浏览器的预检请求,查看服务器是否接受请求,预检通过后,浏览器才会去发 get, post, put, delete 等请求。

可以看到服务器可以使用PUT、DELETE、MOVE等敏感请求方式,那么我们来试试用PUT写一个文件:

发现成功上传了txt文件。(这里如果无法上传的话,有可能是多重原因,网站目录权限不够或者没有在文件名前面加上/)

那我们再上传脚本文件asp试试:

这个时候就不行了,但是我们可以通过MOVE请求方式,并利用刚刚上传上去的test.txt文件做些改动:

这里就可以看到,我们通过先前上传的test.txt,借助MOVE给他更改了后缀名,那看看里面的内容有没有发生变化:

文件内容并没有发生任何变化,这里的MOVE协议是不可以更改文件内容的。

总结一下,只要能够上传恶意的txt文件,同时借助MOVE请求方式就可以生成恶意连接后门。

从新上传一个恶意txt,尝试连接菜刀,完全没问题的。

0x05 常见请求协议

GET:

GET /test.txt HTTP/1.1
Referer: http://192.168.101.100
Host: 192.168.101.100
Cookie: iscookies=0;

DELETE:

DELETE /test.txt HTTP/1.1
Host: 192.168.101.100

PUT:

PUT /test.txt HTTP/1.1
Host: 192.168.101.100
Content-Length: 17 this is a test

POST:

POST /test.txt HTTP/1.1
Referer: http://192.168.101.100
Host: 192.168.101.100
Content-Length: 5
Cookie: iscookies=0; this is a test

MOVE:

MOVE /test.txt HTTP/1.1
Host: 192.168.101.100
Destination: http://192.168.101.100/shell.asp

0x06 漏洞修复建议

1:关闭WebDAV

2:关闭写入权限

[WEB安全]IIS-PUT漏洞的更多相关文章

  1. Web Server (IIS) Administration Cmdlets in Windows PowerShell

    https://technet.microsoft.com/en-us/library/ee790599.aspx Web Server (IIS) Administration Cmdlets in ...

  2. Web 服务器 (IIS) 角色

    原文:Web 服务器 (IIS) 角色 1. 对于默认安装,请在命令行提示符下键入以下命令,然后按 Enter: start /w pkgmgr /iu:IIS-WebServerRole;WAS-W ...

  3. 基于Web的IIS管理工具

    Servant:基于Web的IIS管理工具   Servant for IIS是个管理IIS的简单.自动化的Web管理工具.安装Servant的过程很简单,只要双击批处理文件Install Serva ...

  4. web端常见安全漏洞测试结果分析-- appscan

    基于appscan测试结果分析: 一.XSS跨站脚本 指的是攻击者往Web页面里插入恶意html代码,通常是JavaScript编写的恶意代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被 ...

  5. VS2017 无法连接到Web服务器“IIS Express”终极解决方案

    今天日了gou了,一大早打开VS2017的时候出现无法连接到Web服务器"IIS Express"的错误,然后必应了一下,再谷歌了一下找到的解决方法也都千篇一律,奈何都没能解决,最 ...

  6. ArcServer10.1系列产品之ArcGIS Web Adaptor (IIS)

    1.关于 ArcGIS Web Adaptor 通过 ArcGIS Web Adaptor,可以将 ArcGIS for Server 与您现有的 Web 服务器进行集成.ArcGIS Web Ada ...

  7. Visual Studio 2017 无法连接到Web服务器"IIS Express"

    .net core2.2 无法连接到Web服务器"IIS Express" 解决方案: 用命令提示符输入以下命令 sc config http start= auto 重启计算机, ...

  8. 通过混合编程分析的方法和机器学习预测Web应用程序的漏洞

    通过混合编程分析的方法和机器学习预测Web应用程序的漏洞 由于时间和资源的限制,web软件工程师需要支持识别出有漏洞的代码.一个实用的方法用来预测漏洞代码可以提高他们安全审计的工作效率.在这篇文章中, ...

  9. Unable to connect to web server 'IIS Express'(无法连接到Web服务器“IIS Express”)的解决方式-Jexus Manager

    在运行微软示例工程eShopOnWeb时候, 在经过一段时间再运行启动报Error "Unable to connect to web server 'IIS Express'"  ...

  10. web前后端分离漏洞分析防御

    web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...

随机推荐

  1. Java Web-Redis学习

    Java Web-Redis学习 基本概念 Redis是一款高性能的NOSQL系列的.非关系型数据库 NOSQL:not only SQL,是一系列非关系型数据库的总称,例如radis.hbase等数 ...

  2. day14-python之集合函数字符串格式化

    1.集合 #!/usr/bin/env python # -*- coding:utf-8 -*- # s=set(['alex','alex','sb']) # print(s) # s=set(' ...

  3. bootstrap-table分页

    首先引用css: <link rel="stylesheet" type="text/css" href="css/bootstrap.css& ...

  4. Story of Jerry Wang's Wechat subscription account

    As an SAP Techinical Ambassador,Jerry is always willing to share his SAP expertise to various social ...

  5. SLAM面试常见问题

    之前我们分享过视觉SLAM找工作.面试经历,见<2018年SLAM.三维视觉方向求职经验分享>,<经验分享 | SLAM.3D vision笔试面试问题>. 从零开始学习SLA ...

  6. Zookeeper监控平台

    JMX: 安装配置 1.修改zookeeper的启动脚本 vi  zkServer.sh 找到启动参数ZOOMAIN ​ 修改为下面值(修改一项,新增4项): -Dcom.sun.management ...

  7. 《hello--world团队》第四次作业:项目需求调研与分析

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 <hello--w ...

  8. 安装Android Studio开发环境

    下载安装包 中文社区官网 http://android-studio.org/ 目前最新的是2.3.3版本 安装Android Studio 双击安装 等待安装包自动解压 下一步 选择安装Androi ...

  9. 2.4 vue配置(下)

  10. 转: java 双向map

    package tools; import java.util.HashMap; public class DuplexMap<K,V> { class Entry{ K k; V v; ...