8.2.3 FrontPage

Microsoft的FrontPage(FP)Web创作工具是更流行和易用的网站内容管理平台。它主要是针对希望在单个Web服务器上创建和管理内容的低到中端用户,但是常常得到迎合个人和任何规模公司的大型Web主机提供商的支持。

FP实际上是客户端,而FP服务器扩展(FPSEs)在服务器端运行,使授权用户能进行远程内容操纵。FPSEs是作为IIS5的默认组件分发的,具体的实现是一组HTML文件、脚本、可执行文件和DLL,存在于一序列名称为_vti_*的虚拟根目录中,这里的*号代表bin、cnf、log、pvt、script和txt(FrontPage是从Vermeer Technologies公司购买的,因此名称为vti)中的任何一个。下列的请求/响应通常表示FPSEs的运行:


C:\>nc -vv luxor 80
luxor [192.168.234.34] 80 (http) open
GET /_vti_bin/shtml.dll HTTP/1.0
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 07 Mar 2010 04:38:01 GMT
Content-Type: text/html; charset=windows-1252
<HTML><BODY>Cannot run the FrontPage Server Extensions' Smart HTML
 interpreter on this non-HTML page: ""</BODY></HTML>

FP通信通过一种专有协议FrontPage远程过程调用(Remote Procedure Call,RPC)在HTTP上传播。用POST操作将方法传递给相关的FP DLL,如下例所示:


POST /test2/_vti_bin/_vti_aut/author.dll HTTP/1.0
Date: Thu, 18 Apr 2010 04:44:28 GMT
MIME-Version: 1.0
User-Agent: MSFrontPage/4.0
Host: luxor
Accept: auth/sicily
Content-Length: 62
Content-Type: application/x-www-form-urlencoded
X-Vermeer-Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
Pragma: no-cache
method=open+service%3a4%2e0%2e2%2e3406&service%5fname=%2ftest2

第一行显示POST的目标DLL,最后一行显示调用的方法(在这个例子中,FP客户端尝试打开应用目录test2进行编辑,在该行的结尾你可以看到fname=/test2)。

FPSE方法也可以在URL查询串参数中调用,如(由于页宽限制进行了折行):


/_vti_bin/_vti_aut/author.dll?method=list+documents%3a3%2e0%2e2%2e1706
&service%5fname=&listHiddenDocs=true&listExplorerDocs=true&listRecurse=false
&listFiles=true&listFolders=true&listLinkInfo=true&listIncludeParent=true&
listDerivedT=false&listBorders=false

默认情况下,FP authoring对服务器的访问使用Windows验证(NTLM over HTTP,参见第4章),所以不要以为攻击者能够轻松地进入运行FPSE的服务器的大门,但是任何对默认安全性的松懈都可能导致这样的问题。如果你担心FP webs的安全性(允许调用FP authoring访问的虚拟根目录),可以在IIS 5上的IISAdmin工具(iis.msc)中右键单击服务器,选择All Tasks|Check Server Extensions(全部任务|检查服务器扩展),然后你会看到下面的提示:

如果你选择检查服务器扩展,将会完成如下的任务:

·检查Web上的读权限。

·检查Service.cnf和Service.lck的读写权限。

·更新Postinfo.html和_vti_inf.htm。

·验证vti_pvt、_vti_log和_vti_bin已安装,_vti_bin可执行。

·确定虚拟根目录或者元数据库设置是否正确和最新。

·检查IUSR_machinename账户没有写权限。

·警告:如果在FAT文件系统上运行,就意味着没有提供任何Web安全性。

提示  你也可以使用Microsoft的UrlScan工具控制对FrontPage的访问;具体内容参见本章结尾处的“参考与延伸阅读”小节。

多年以来,FP服务器扩展在安全方面积累了很多坏名声。最广泛公开的问题是与Unix上的Apache HTTP Server一同运行的FrontPage 98服务器扩展,它会造成服务器的远程root用户权限泄露。还有一系列针对后续版本FP的漏洞利用攻击,严重性较低。

个人而言,我们不认为这些问题会使FP成为一个不好的Web内容管理平台。所有公布的漏洞都早已修复,大部分最近的问题都不怎么严重(跨站脚本漏洞大概是最糟糕的影响了)。FP大体上已经被WebDAV取代,这是接下来的话题。