快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP漏洞分析和解决方式

有人说一台不和外面联系的电脑是最安全的电脑,一个关闭所有端口,不提供任何服务的电脑也是最安全的。黑客常常利用我
们所开放的端口实施攻击,这些攻击最常见的是DDOS(拒绝服务攻击).下面我会列出ASP的二十几个漏洞,每个漏洞都会有漏洞描
述和解决方式。

1 在ASP程序后加个特别符号,能看到ASP源程序

  受影响的版本:
  win95+pws
  IIS3.0
  98+pws4 不存在这个漏洞。
  IIS4.0以上的版本也不存在这个漏洞。
  问题描述:
  这些特别符号包括小数点,%81, :DATA。比如:
http://someurl/somepage.asp.
http:// someurl/somepage.asp%81
http:// someurl/somepage.asp:DATA
http:// someurl/somepage.asp %2e
http:// someurl/somepage %2e%41sp
http:// someurl/somepage%2e%asp
http:// someurl/somepage.asp %2e
http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini (可以
看到boot.ini的文件内容)
  那么在安装有IIS3.0和win95+PWS的浏览中就很轻易看到somepage.asp的源程序。毕竟是什么原因造成了这种可怕的漏洞呢?
究其根源其实是 Windows NT 特有的文件系统在做怪。有一点常识的人都知道在 NT 提供了一种完全不同于 FAT 的文件系统:
NTFS,这种被称之为新技术文件系统的技术使得 NT 具有了较高的安全机制,但也正是因为它而产生了不少令人头痛的隐患。大家
可能不知道, NTFS 支持包含在一个文件中 的多数据流,而这个包含了所有内容的主数据流被称之为"DATA",因此使得在浏览器
里直接访问 NTFS 系统的这个特性而容易的捕捉在文件中的脚本程序成为了可能。然而 直接导致 :DATA 的原因是由于 IIS 在
解析文件名的时候出了问题,它没有很好地规范文件名。

  解决方式和建议:
  假如是Winodws NT用户,安装IIS4.0或者IIS5.0,Windows2000不存在这个问题。假如是win95用户,安装WIN98和PWS4.0。

2 ACCESS mdb 数据库有可能被下载的漏洞

  问题描述:
  在用ACCESS做后台数据库时,假如有人通过各种方式知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够
下载这个ACCESS数据库文件,这是异常危险的。比如:假如你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么
有人在浏览器中打入:
http:// someurl/database/book.mdb
  假如你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都把握在别人的手中。

  解决方式:
  (1) 为你的数据库文件名称起个复杂的异常规的名字,并把他放在几目
录下。所谓"异常规",打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把他起个"book.mdb"的名字,起个怪怪的名
称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方法得到你的ACCESS数据库
文件就难上加难了

  (2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:

DBPath = Server.MapPath("cmddb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

  如果万一给人拿到了源程序,你的ACCESS数据库的名字就一览无余。因此建议你在ODBC里设置数据源,再在程序中这样写:
conn.open "shujiyuan"

  (3)使用ACCESS来为数据库文件编码及加密。首先在选取"工具->安
全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:
employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..
  要注重的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看
数据库文件的内容。
  接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方法。然后选取功能表的"工具-
>安全->设置数据库密码",接着输入密码即可。
  为employer1.mdb设置密码之后,接下来假如再使用ACCEES数据库文件时,则ACCESS会先要求输入密码,验证准确后才能够启
动数据库。
  不过要在ASP程序中的connection对象的open方式中增加PWD的参数即可,例如:
param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"
param=param&";dbq="&server.mappath("employer1.mdb")
conn.open param
  这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
返回类别: 教程
上一教程: ASP初学者常犯的几个错误
下一教程: ASP 生成 XBM 图可用作验证码

您可以阅读与"ASP漏洞分析和解决方式"相关的教程:
· ASP文章系统的解决方案
· 较长数据无法在ASP页面中取出的三种解决方式
· 在ASP中常见的错误80004005信息和解决办法
· ASP中怎么添加验证码的解决方式
· ASP中常见的错误80004005信息和解决办法
    微笑服务 优质保证 索取样品