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

2016-01-29 18:02 111 1 收藏

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

【 tulaoshi.com - ASP 】

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

二:他是如何实现的。是靠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:winntsystem32help.exe" --      'NT中的一个帮助文件(没有危险)。
或试一试!
<!--#exec cmd="c:windowscommandmem.exe" --      'window98下的显示内存的一个命令。(没有危险)
  
然后你在该虚拟目录中将其权限设为脚本,或可执行。

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

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

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

来源:http://www.tulaoshi.com/n/20160129/1504054.html

延伸阅读
标签: ASP
  简介 文件上传是将任意的文件从客户机发送到服务器的过程。最简单、最方便的上传方法是使用支持RFC1867的浏览器,如微软的Internet Explorer4.0以上版本,Netscape3.0以上版本,或者带附件的Internet Explorer3.0。基于浏览器的文件上传是通过带有属性ENCTYPE="multipart/form-data"的HTML form实现的。这个form也必须包含一...
最近搞Delphi,发现原来的程序中使用了很多包,但是总是处于懵懵懂懂的状态。索性来好好研究一下这个问题,可能要花一些时间。所以首先把需要分析的问题列出来: 什么是包?什么是exe?它们在组成上有什么不同?包跟dcu是什么关系?dcp是干什么的?这些文件在编译时是什么关系?又是怎么装载的?装载了以后怎么样操作包?dll可以export...
标签: 浏览器
在IE浏览器中快速保存网页中的图片 现在网络上关于图片分享的网站越来越多,这也是因为图片相比文字更容易产生,不一定每个人都可以写出有质量的文字,但是每个人都很容易发布有意思的图片。 随着图片内容的增多,我们不免会将自己喜欢的图片保存到本地。以往在IE浏览器中,我们一般保存图片方法都是在图片上单击右键,然后选择图片...
//------------------------------------------------------------ // 编译下边的类,并运行无需任何参数 //----------------------------------------------------------- package com.swing.tree; import java.io.*; import java.util.*; import javax.swing.tree.*; public class file_path_obj { private String dir_tree=""; pr...
第一步:在桌面找到IE浏览器,打开。 第二步:浏览器上面找到工具。 第三步:点击工具,在下拉菜单里选择Internet选项,打开。 第四步:出现Internet选项,切换到程序,勾选检查Internet Explorer是否为默认的浏览器。 第五步:然...

经验教程

578

收藏

19
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部