<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>&amp;Lt;%eval-Request on Lucien's Blog</title><link>https://www.lucien116.com/tags/lteval-request/</link><description>Recent content in &amp;Lt;%eval-Request on Lucien's Blog</description><generator>Hugo</generator><language>zh-Hans</language><lastBuildDate>Mon, 12 Sep 2016 05:58:57 +0000</lastBuildDate><atom:link href="https://www.lucien116.com/tags/lteval-request/feed.xml" rel="self" type="application/rss+xml"/><item><title>Webdav安全配置相关与漏洞利用</title><link>https://www.lucien116.com/archives/110/</link><pubDate>Mon, 12 Sep 2016 05:58:57 +0000</pubDate><guid isPermaLink="false">http://www.lucien116.com/?p=110</guid><description>&lt;h3 id="0x00-简介"&gt;0x00 简介&lt;/h3&gt;
&lt;hr&gt;
&lt;p&gt;WebDAV是一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1，在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法。&lt;/p&gt;
&lt;p&gt;使应用程序可直接对Web Server直接读写，并支持写文件锁定(Locking)及解锁(Unlock)，还可以支持文件的版本控制。&lt;/p&gt;
&lt;p&gt;IIS实现Webdav是采用的其两种接口CGI、ISAPI的ISAPI接口。&lt;/p&gt;
&lt;p&gt;但因为其没有采用影射的方式，所以IIS的主程序w3svc.dll本身包含了Webdav的信息。&lt;/p&gt;
&lt;p&gt;其识别出是Webdav的请求后就调用Webdav的处理模块httpext.dll。&lt;/p&gt;
&lt;p&gt;对于常见几种请求方法 &lt;code&gt;GET、HEAD、POST&lt;/code&gt; 等，因为常见一些映射都支持。&lt;/p&gt;
&lt;p&gt;所以不能以请求方法作为Webdav请求的判断，w3svc.dll就根据请求头的字段识别。&lt;/p&gt;
&lt;p&gt;如果请求头里面包含 &lt;code&gt;Translate:&lt;/code&gt;、 &lt;code&gt;If:&lt;/code&gt;、 &lt;code&gt;Lock-Token:&lt;/code&gt; 中的一种，就认为是Webdav的请求。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Translate:&lt;/code&gt; 就是那个 &lt;code&gt;Translate:f&lt;/code&gt; 的泄露源代码的一个请求头，其实设置别的两个也是一样的。&lt;/p&gt;
&lt;p&gt;可能很多IDS是没有这点知识的。W3svc.dll还内置了几个别的请求方法 &lt;code&gt;TRACK&lt;/code&gt;、 &lt;code&gt;TRACE&lt;/code&gt; 等。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;TRACK&lt;/code&gt; 就是用于调试错误的，如果收到这样的请求头，w3svc.dll会原样返回请求数据。&lt;/p&gt;
&lt;p&gt;相当于我们常见的ping.exe。&lt;/p&gt;
&lt;p&gt;IIS对 &lt;code&gt;TRACK&lt;/code&gt; 请求没有进行LOG记录，这点我们可以用于来获得banner。&lt;/p&gt;
&lt;p&gt;对于IIS将优于大家习惯使用的 &lt;code&gt;HEAD&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;如果上面的请求方法没匹配，那么w3svc.dll就会认为是Webdav的请求，交给httpext.dll处理了。&lt;/p&gt;
&lt;p&gt;这些请求包含Webdav支持的 &lt;code&gt;PROPFIND&lt;/code&gt;、 &lt;code&gt;PROPPATCH&lt;/code&gt;、 &lt;code&gt;MKCOL&lt;/code&gt;、 &lt;code&gt;DELETE&lt;/code&gt;、 &lt;code&gt;PUT&lt;/code&gt;、 &lt;code&gt;COPY&lt;/code&gt;、 &lt;code&gt;MOVE&lt;/code&gt;、 &lt;code&gt;LOCK&lt;/code&gt;、 &lt;code&gt;UNLOCK&lt;/code&gt; 等。&lt;/p&gt;
&lt;h3 id="0x01-配置"&gt;0x01 配置&lt;/h3&gt;
&lt;hr&gt;
&lt;p&gt;为了安全上的考虑，IIS默认并不会启动WebDAV的功能，因此必须另外来激活它。&lt;/p&gt;
&lt;p&gt;通过启动“IIS管理器”，展开本地计算机，选择“Web服务扩展”，选择“允许”的途径来启动WebDAV功能。&lt;/p&gt;
&lt;p&gt;开启WebDAV之后，IIS就支持 &lt;code&gt;PROPFIND&lt;/code&gt;、 &lt;code&gt;PROPPATCH&lt;/code&gt;、 &lt;code&gt;MKCOL&lt;/code&gt;、 &lt;code&gt;DELETE&lt;/code&gt;、 &lt;code&gt;PUT&lt;/code&gt;、 &lt;code&gt;COPY&lt;/code&gt;、 &lt;code&gt;MOVE&lt;/code&gt;、 &lt;code&gt;LOCK&lt;/code&gt;、 &lt;code&gt;UNLOCK&lt;/code&gt; 等方法了。&lt;/p&gt;
&lt;p&gt;&lt;img alt="enter image description here" loading="lazy" src="http://static.wooyun.org/20140714/2014071411022117223.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;当IIS中的配置允许写入的时候就可以直接PUT文件上去，由此可能引发非常严重的安全问题，强烈建议禁制&lt;/p&gt;
&lt;p&gt;&lt;img alt="enter image description here" loading="lazy" src="http://static.wooyun.org/20140714/2014071411022191372.jpeg"&gt;&lt;/p&gt;</description></item></channel></rss>