热情软件屋

 

ASP程序安全性的漏洞有哪些


编号:QA002324
建立日期: 1999年12月26日 最后修改日期:2000年2月28日
所属类别:

李真:
    编程工具: Microsoft Visual InterDev 6.0
    操作系统: NT 4.0
    问题:ASP程序安全性的漏洞有那些?

回答:

    下面是一篇文章,作者不详。
    

本文主要叙及有关asp/iis的安全性问题及其相应对策,不提倡网友使用本文提及的方法进行任何破坏,否则带来的后果自负。
    通过asp入侵web server,窃取文件毁坏系统,这决非耸人听闻...
    iis的安全性问题
    1.iis3/pws的漏洞
    我实验过,win95+pws上运行ASP程序,只须在浏览器地址栏内多加一个小数点ASP程序就会被下载下来。IIS3听说也有同样的问题,不过我没有试出来。
    2.iis4的漏洞
    iis4一个广为人知的漏洞是::$DATA,就是ASP的url后多加这几个字符后,代码也可以被看到,使用ie的view source就能看到asp代码。 win98+pws4没有这个问题。(主持人注:参见微软的Knowledge Base的文章:“Q197464 ow to Detect the ::$DATA Attack in IIS Log Files”和微软的Knowledge Base的文章:“Q188806 ::$DATA" Data Stream Name of a File May Return Source”。)
    解决的办法有几种,一是将目录设置为不可读(ASP仍能执行),
    这样html文件就不能放在这个目录下,否则html不能浏览。二是安装微软提供的补丁程序。三是在服务器上依次安装sp3+ie4.01sp1+option pack+sp4。
    3.支持ASP的免费主页面临的问题
    你的ASP代码可能被人得到。
    ASP1.0的例子里有一个文件用来查看ASP原代码,/ASPSamp/Samples/code.asp如果有人把这个程序弄上去了,他就可以查看别人的程序了。(主持人注:参见微软的Knowledge Base的文章:“Q232449 ample ASP Code May be Used to View Unsecured Server Files”。)
    例如: code.asp?source=/someone/aaa.asp
    你使用的ACCESS数据库可能被人下载既然ASP程序可以被人得到,别人就能轻而易举的知道你的数据库放在何处,并下载它,如果数据库里含有的密码不加密,那...就很危险了。
    webmaster应该采取一定的措施,严禁code.asp之类的程序(似乎很难办到,但可以定期检索特征代码),限制mdb的下载(不知行不行)。
    4.来自filesystemobject的威胁
    IIS4的ASP的文件操作可以通过filesystemobject实现,包括文本文件的读写目录操作、文件的拷贝改名删除等,但是这个东东也很危险。利用filesystemobjet可以篡改下载fat分区上的任何文件,即使是ntfs,如果权限没有设定好的话,同样也能破坏,遗憾的是很多webmaster只知道让web服务器运行起来,很少对ntfs进行权限设置。
    比如,一台提供虚拟主机服务的web服务器,如果权限没有设定好,用户可以轻而易举地篡改删除机器上地任何文件,甚至让nt崩溃。
    程序请参考http://www.chinaasp.com/上的active server explorer,该程序可以浏览不设防web服务器的所有文件和目录。
    webmater应该将web目录建在ntfs分区上,非web目录不要使用everyonefull control,而应该是administrator才可以full control。
    

    除了上文提到的问题,还有以下问题:
    微软的Knowledge Base的文章:“Q241407 iles on an FTP Server Can Be Improperly Accessed”
    微软的Knowledge Base的文章:“Q241562 IS May Permit Clients with an Unresolved IP Address to Connect”
    建议你经常访问http://www.microsoft.com/security,这里通常会有最新的漏洞报告和补丁下载。
    下面是另一篇文章:
    ASP源代码泄露漏洞
    受影响的系统:PWS,IIS
    不受影响的版本: 未知
    远程: YES / 本地:UnKnown
    内容摘要:
    在ASP编程中,为了使程序更加简洁,利于调用,在很多情况下,程序员喜欢把一些被调用的ASP语句写如到一个名为conn.inc的文件中,然后再使用HTML中的标记<!--#include file=conn.inc>来调用。但由于该文件不会在服务器端被解释成HTML返回给用户,所以文件内容可以被远程用户下载,将有助于入侵者收集系统资料。有心的黑客只要自己编个程序对该文件进行寻找,很快就可以找到存放该文件的目录,并将其下载。
    漏洞的利用:
    这是我从网上下载的一个ASP制作的BBS,就存在这个问题。
    http://soft.xxinfo.ha.cn/mudfrog/bbs/conn.inc
    只要您对该文件进行简单的分析,就可以找到保存有用户资料的数据库文件以及其所在的目录。
    解决方案:
    1、直接调用ASP,不使用#include标记来调用conn.inc文件
    2、对该文件进行改名
    本文出自MudfrogTechnology,如有转载请标明出处。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio