关于在浏览器中执行*.exe文件的深入探讨(z)

浏览器|执行

from chinaasp.com

一:真的能在浏览器中执行命令文件吗?
答案是肯定的。(哇,酷耶!可以......)不过先别高兴,只能执行服务器端的,而且是必须经过授权的。否则服务
器想黑你就太容易了。谁敢看我我就格式化谁。(真希望可以,老是黑客黑服务器,也该服务器黑别人了。哈哈!)

二:他是如何实现的。是靠asp文件吗?
在服务器端执行文件是靠SSI来实现的,SSI时服务器端包含的意思(不是SSL),我们经常使用的#include 就是服务
器端包含的指令之一。不过,这次要介绍的就是---------#exec。就是他可以实现服务器端执行指令。
不过,这次他不能用于.asp的文件。而只能用.stm、.shtm 和 .shtml这些扩展名。(很熟悉吧)而能解释执行他们的
就是Ssinc.dll。所以,你写好的代码必须保存成.stm等格式才能确保服务器能执行。

三:如何执行呢?
终于开始讨论实质性问题了。
它的语法是:<!-- #exec CommandType = CommandDescription -->
CommandType是参数,他有两个可选类型:
1.CGI 运行一个应用程序。如 CGI 脚本、ASP 或 ISAPI 应用程序。
CommandDescription 参数是一个字符串。此字符串包含应用程序的虚拟路径, 后跟一个问号以及传送给应用程序的任
一参数,参数之间由加号分隔 (+)。

他可是#exec命令最有用的参数,也是#exec命令存在的大部分理由。他可以处理已授权的CGI脚本,或Isapi应用程序。
微软为了向下兼容一些早期的ISAPI应用程序,而创建了该项命令。我们知道,微软早期的WEB应用程序都是靠ISAPI解释
的,而且也兼容CGI程序。你现在也可以在你的WEB根目录中找到CGI-BIN的目录。
我们可以用一下例子说明。
<!-- #exec cgi="/CGI-BIN/chat.exe?user+passw" -->
这种命令我们在一些UNIX主机上可以经常见到。现在,我们也可以在自己的.shtml中运用他了。当然,如果服务器允许
的话。
还有一种类型的程序:
<!-- #exec cgi="/CGI-BIN/login.dll?name" -->
这种命令方式将启动一个进程外的程序来解释并动态输出信息到网页上。这种方式不常见。但你仍然可以在一些网站中
见到。

2.CMD参数。
他可是#exec命令中最可怕的参数,也是#exec命令禁止使用的大部分理由。他也是我们一些网友实现最终幻想的利器。
可惜。要得到我们幻想的招数有些困难(如de...,fo....)。也几乎是不可能的。
一下是微软关于CMD参数的说明,你一定要读明白在试!
CMD 运行 shell 命令。 CommandDescription 参数是一个字符串,其中包含 shell 命令程序的完整物理路径,后跟由
空格分隔的任何命令行参数。如果没有指定全路经, Web 服务器将搜索系统路径。默认情况下,该指令是被禁用的,这是
因为它会对 Web 站点造成安全方面的危险;例如,用户可能使用 format 命令格式化您的硬盘。
我本人建议关闭,因为现在微软也不推荐用这个命令。
不过,如果你是服务器的管理员,可以试一试。
你可以新建一个test.shtml的文件。
然后在首行设置一个命令。
<!--#exec cmd="c:\winnt\system32\help.exe" --> 'NT中的一个帮助文件(没有危险)。
或试一试!
<!--#exec cmd="c:\windows\command\mem.exe" --> 'window98下的显示内存的一个命令。(没有危险)

然后你在该虚拟目录中将其权限设为脚本,或可执行。

最后,你可以在浏览器中输入该地址http://localhost/xxx/test.shtml
如果你看到浏览器中显示了他们的屏幕输入信息。那么,恭喜你。你试成功了。

四:最终幻想!(最好不要试。如果出了问题与本人无关!本人也不解答相应的问题)

如果我们想执行多的命令呢?那么闭上眼,往下看吧
首先,你打开注册表编辑器(记住要先备份),然后找
KEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet
\Services
\W3SVC4 '也可能是w3svc
\Parameters
选择新建一个Dword值
SSIEnableCmdDirective
它的两个值为0,1。下面是微软的说明。
服务器端的 #exec cmd 命令包括可执行外壳命令。安全意识强的站点希望通过将此值设置为 0 来关闭 #exec cmd 命令,
并以此作为外加的安全防范,尤其是在允许不受信任的使用者将文件放置到服务器时更是如此。默认状态下,注册表中不
存在此值;要允许该命令执行外壳命令,必须先创建此值并将值设置为 1 。

还可以在添一个Dwordd值
AllowSpecialCharsInShell
它的两个值为0,1。下面是微软的说明。
范围: 0, 1
默认值: 0 (禁用)
本值控制在运行批处理文件( .bat 和 .cmd 文件)时,是否允许在命令行使用 [ | ( , ; % < > ] 等 Cmd.exe 特殊字
符。这些特殊字符可能引发严重的安全隐患。 如果该项值设置为 1,心怀叵测的用户可以在服务器上随意执行命令。因
此,强力推荐用户保留其默认设置 0。默认情况下,这些特殊字符不能传递到脚本映射 CGI 程序。如果设置为 1,除了管
道符号 | 和标准 I/O 重定向符(< 和 >)之外(这两类字符在命令处理器中具有特殊含义),这些特殊字符都能够传递
到脚本映射 CGI 程序。

哈哈,下面我就不详述了。
不过你要执行一些你希望的命令可不是这么简单
(如:<!--#exec cmd="c:\winnt\system32\format.com /y a:" -->)
你不会成功的,如果死机不要怨我。

时间: 2025-01-31 01:45:17

关于在浏览器中执行*.exe文件的深入探讨(z)的相关文章

关于在浏览器中执行*.exe文件的深入探讨!

关于在浏览器中执行*.exe文件的深入探讨! [ 繁體中文 ] | 文章类别:ASP技巧 | 文章等级: | 发表日期:2000-10-16  星期一 [ 计数器 | 精彩博客 | 魔法表情 | 博客申请 | 源码下载 | IP查询 | 字体下载 | 投票调查 | Html2Js ] 转自:动态网制作指南 www.knowsky.com一:真的能在浏览器中执行命令文件吗?    答案是肯定的.(哇,酷耶!可以......)不过先别高兴,只能执行服务器端的,而且是必须经过授权的.否则服务器想黑你就

求助啊 如何用process定位并打开VB.EXE所在文件夹中的.exe文件,该文件的位置在不同电脑上是不固定的

问题描述 求助啊如何用process定位并打开VB.EXE所在文件夹中的.exe文件,该文件的位置在不同电脑上是不固定的 解决方案 解决方案二:你可以做个窗口,让用户选择路径,然后把路径保存到文件.这是最简单的办法.复杂一点,你就遍历磁盘,找到VB所在的文件夹,然后写入文件.下次打开,发现文件里有路径,就不再遍历了.解决方案三:谢谢谢谢能不能直接定位该程序位置比如以下语句:DimFilePathAsNewSystem.IO.StreamWriter(AppDomain.CurrentDomain

IE及IE6浏览器中判断JS文件加载成功失败的方法

 这篇文章主要介绍了IE及IE6浏览器中判断JS文件加载成功失败的方法,本文使用vbscript来解决这个问题,需要的朋友可以参考下     浏览器的文件加载实际上是有非常纠结的兼容问题的.最近看到@lifesinger做了一个具体的总结.这里比较麻烦的是IE6~8不区分加载成功或失败,都走一个回调.在网上看了一种解决方案是,在加载文件的最后置一个全局变量或改变标签的属性来区分,这样成功与否就通过这个标志位判断.但显然不太完美,还要改加载文件. 后来尝试另一种思路,先创建一个vbscript,s

C#和Java中执行SQL文件脚本的代码(非常有用)

原文:C#和Java中执行SQL文件脚本的代码(非常有用) 我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析 去除其中的注释,还有把每一句sql语句取出来,然后再利用各个平台中的数据库相关执行它.   接下来放代码! java版本的 001 package com.zz; 002   003 import java.io.*; 004 import java.util.ArrayList; 005 impor

return-webservices发布的项目在浏览器中得到的文件的解析&amp;amp;lt;jackson或是Xstream解析&amp;amp;gt;

问题描述 webservices发布的项目在浏览器中得到的文件的解析<jackson或是Xstream解析> {"return": [{"@type":"ax21:Student","age":1,"id":100,"name":"张三"}, {"@type":"ax21:Student","age&quo

CLR寄宿(中) 托管exe文件的加载和执行

托管exe文件的加载和执行过程在之前的文章做过简要的介绍,现在结合本章的内容进行详细的分析. 托管exe文件被启动的时候,首先被PE Loader载入.PE Loader载入exe文件之后,会分析PE文件头的data directory table,如果CLR_Header内的值不为0,表示该文件是托管PE文件,PE Loader 会立即载入 MsCorEE.dll,并且执行 MsCorEE.dll内的_CorExeMain()函数. 如果是Windows XP以前版本的操作系统(比如Windo

利用wscript执行文件[包括可执行exe文件]vbs脚本_vbs

昨天下载并且安装了Updater Application Block后,需要执行一个Deploy.vbs的文件,鄙人才疏学浅,这个小问题竟然也花费了我不少心机. 现在把结论共享一下. 首先,我的vbs文件关联已经被"豪杰"夺取了.我双击Deploy.vbs就会打开豪杰,比较郁闷.但是我用了打开方式,试了浏览器.cmd,都无济于事. 今天,我想到这个问题后,就有想法去Microsoft的News Group上去问一问.然后又去了CSDN的全文检索.果然很争气,我的关键字只是vbs,执行,

利用certutil.exe实现在批处理(bat)中嵌入exe文件的方法_DOS/BAT

利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体.图片之类二进制文件的简单方法! 实际上利用certutil.exe 把二进制文件(包括各种文件,exe可执行程序,图片,声音,mp3) 经过base64编码为文本,可以实现把这些文件嵌入到批处理代码中. ###有什么用?: 举个例子,批处理经常需要依赖其它命令行工具实现自动化脚本,如果把这些工具转成文本嵌入到代码中,贴到网上就可以直接把可用的代码发出去了.不需要上传附件. ###缺点: base64编码后的文本比原文

如何在浏览器中打开PDF文件并实现预览的思路与代码

 其实也就是简单的在浏览器中实现一个打开pdf文件,并有类似预览功能的边框. 其实在网上经常见到类似的页面,在浏览器中打开pdf文档,可大部分都是由于版权的原因使用了一些很特殊的技术,自然很难模仿了. 即使有直接在浏览器打开的例子,也必须手动点击一下链接然后才能打开pdf文件.如何直接打开,而不用点击链接呢? 本以为自己对js很熟,也就使用js模拟点击,可就是不管用,没办法,只能在网上继续寻找资料.最终想不到代码却很简单. 最主要的是使用到了一个jquery的插件jquery.media.js,