ASP主件中的安全问题

安全|问题

  Microsoft推出的asp以简单,易用,多功能,可扩充性等强大功能得到了网友和大多数网管的青睐,大有完全替代cgi的趋势,但是在这里也存在一些问题,如果在使用asp的话,你网络的安全同时也大大降低了!下面为大家举一个例子,请按照下面的步骤:

1,下载这个文件http://home.gbsource.net/xuankong/dll.zip,解压缩后吧其中的test.dll文件拷贝到c:\windows\system(如果你使用的是NT的话,请拷贝到相应的目录中);

2,接下来打开“开始/运行”菜单输入“regsvr32test.dll”命令;

3,拷贝解压缩后的文件包中的那个index.asp到你的服务器目录(如果你使用的是PWS调试可以拷贝到“c:\inetpub\wwwroot“,NT请拷贝到相应的目录);

4,换一台机器用IE浏览index.asp文件看一看(你看到的是出错代码,但是实际上程序已经运行了),你再返回你的机器看一看c:\下面是不是多了一个文件?一个名为xuankong.dat的文件(其实如果我愿意,你的c:\autoexec.bat文件页可以被我打开并写进去一些像"format c:/q/u"等命令,那么等你下次重新启动的时候,嘿嘿。)。

下面我们来看一下到底是怎么回事,你刚才拷贝的那些dll文件其实是我使用Visul Basic5开发的一个主件:
  1,打开VB5新建一个“ActiveX.dll”文件,吧下面的代码输入进去:
Private Declare Function ExitWindowsEx Lib "user32"_
(ByVal uFlags As Long,ByVal dwReserved As Long)_
As Long
Sub Xuankong() "请不要加上“private”
a$=InputBox("请输入你的姓名,如果你输入的是"xuankong""+Chr(13)+Chr(10)+
"则会在你的系统中生成一个"xuankong"文件"+Chr(10)+Chr(13)+
"否则你的机器可能会重起","请输入","xuankong")
If a$="xuankong" Then
Open "c:\xuankong.dat" For Append As #Write#1,"我的朋友,这是一个asp主件测试程序"
#Write#1,"hello world!this is a test"
#Write#1,"如果你看到这个文件测试就成功!"
else
ExitWindowsEx&H43,0使用API函数重新启动机器
End if
Close #1
End sub
  2,把工程名改为dll,类模块改为test,然后把这个工程生成dll文件到c:\windows\system目录下面。
  3,新建一个index.asp文件下面的代码输入进去:
$#@60;html$#@62;$#@60;head$#@62;$#@60;title$#@62;这是一个关于asp主件的测试$#@60;/title$#@62;$#@60;/head$#@62;
$#@60;body$#@62;
$#@60;% set rs=server.createobject("dll.test") %$#@62;
$#@60;% set rs1=rs.xuankong rs1.execute %$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62;
  4,拷贝index.asp到你的服务器内,按照上面的方法调试!

上面所说的是asp主件的安全问题!另外如果有些作者再写asp主件的时候不小心留下系统bug!那就更加不容易发现了!

时间: 2024-09-12 13:49:03

ASP主件中的安全问题的相关文章

ASP文件中的安全问题

安全|问题 ASP中可能有哪些安全问题? ASP具有简单.易用.多功能,可扩充性等强大功能,但也存在一些问题.譬如,如果使用ASP的话,可能会导致网络的安全性大大降低了!下面为大家举一个例子,请按照下面的步骤: (1)从http://home.gbsource.net/xuankong/dll.zip下载这个文件,解压缩后把其中的test.dll文件拷贝到c:windowssystem(如果你使用的是NT的话,请拷贝到相应的目录中): (2)接下来打开"开始/运行"菜单输入"

asp 操作表格行-ASP 如何获取在运行时由用户添加的表格行中单元格控件中的值?

问题描述 ASP 如何获取在运行时由用户添加的表格行中单元格控件中的值? 如图中,用户点击添加或移除按钮后,即可增加或删除一行.增加的新行就是当前最后一行的克隆行.(这部分代码JS都已实现).而"提交申请"就是将当前表格中的所有内容提交保存到数据库.**而我要问的是,由JS克隆新增加的行中各个单元格里控件的值如何获取提交?** 附:表格增加行或删除行的JS代码如下: function addRow() { var oTr = document.getElementById("

在 ASP.NET 页面中使用 TreeView 控件

一.            下载源码 http://www.asp.net/IEWebControls/IEWebControls.exe   二.            安装及编译 1.执行安装文件后,在安装目录找到 "build.bat"文件,用记事本将其打开.把"csc.exe"换成绝对路径"C:/WINNT/Microsoft.NET/Framework/v1.1.4322/csc.exe".保存后执行(记得把"只读"

初识ASP.NET---ASP.NET中验证控件的用法

一.前言         在Web应用程序中,大都是对数据的提供或收集,对于数据的有效性验证是非常重要的,验证就是给所收集的数据应用的一系列规则.         为进行有效性验证而收集的数据来自于在应用程序中提供的Web窗体,Web窗体由不同的类型的HTML元素组成,可以对窗体元素应用不同的验证规则,对元素应用的规则越多,应用到数据上的有效性验证就越严格.          验证可以有客户端和服务器段的验证.客户端的验证主要是用JavaScript脚本,效率高,响应时间短,但安全性不好:服务器

在asp.net页面中怎么使用多个timer控件!!

问题描述 在asp.net页面中怎么使用多个timer控件!!我想在同一个页面中使用多个...... 解决方案 解决方案二:拉2个解决方案三:定时器是干什么的?asp.net为毛还要定时器?解决方案四:引用楼主u010198515的回复: 在asp.net页面中怎么使用多个timer控件!!我想在同一个页面中使用多个...... Timer控件会引起回发,这样另一个Timer就没有用了.解决方案五:asp.net并不是时下流行的"单页应用程序"机制,而是传统(古老)的"一遍遍

ASP.NET开发系列之在用户控件中添加事件

asp.net|控件 在<在用户控件中添加属性>这一篇文章中我们演示了如何在用户控件中添加属性,接下来我们演示如何在用户控件中添加事件. 在<在用户控件中添加属性>这一篇文章中我们定义了一个用户登录的用户控件UserLogin.ascx 文件,里面包含了一个LinkButton服务器按钮控件,当用户单击该按钮时服务器端会自动生成一个回发来激发Page.Load事件.除了服务器自动产生回发来激发Page.Load事件外,我们可以给LinkButton添加一个它自己的事件,添加事件其实

ASP.NET2.0中的AccessDataSource控件

access|asp.net|控件 ASP.NET 2.0包含了AccessDataSource控件,用来从Access数据库中将数据提取至ASP.NET 2.0(.aspx)页面.这个控件拥有的属性很简单.AccessDataSource的最重要的属性是DataFile属性,用来指向硬盘上MDB文件的路径.AccessDataSource拥有的其他属性还有SelectCommand,用来设定一个显示需要返回的结果集(表和列)的语句.SelectCommand必须使用SQL语法来定义. 在VWD

在ASP.NET 2.0中操作数据:在GridView控件中使用TemplateField

asp.net|控件|数据 导言     让我们花点时间在浏览器中来看看我们的成果.这时,你将看到一个表格, 表格中每一个记录都是一个雇员的信息,一共有四列:一个是雇员的姓, 一个是名字,一个是头衔,还有一个是他们的受雇日期.     就像你看到的那样,TemplateField由两个模板组成--一个ItemTemplate,它有一个Label控件,其Text属性被设置为FirstName数据字段的值:还有一个EditItemTemplate,它有一个TextBix控件,其Text属性也被设置为

令你心动的Asp.net 开发中的MessageBox控件

asp.net|控件 令你心动的Asp.net 开发中的MessageBox控件 相信使用ASP.NET做Web开发的程序员们,都会怀念使用MessageBox.Show( "" )的信息提示方式吧.只可惜在ASPX中并不支持此类功能函数,至多也就是在脚本中使用alert( " " )来达到目的.要是想在服务器端的代码中来控制客户端信息提示窗体的显示,就不能直接进行控制了.以下就是我所设计开发的一个用于在服务器端来控制客户端信息提示窗体显示的Web自定义控件,很好用