当前位置:七道奇文章资讯数据防范Access防范
日期:2011-05-01 23:30:00  来源:本站整理

ASP+Access的安全隐患及对策[Access防范]

赞助商链接



  本文“ASP+Access的安全隐患及对策[Access防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
ASP+Access办理筹划的主要安全隐患来自Access数据库的安全性,其次在于ASP网页计划历程中的安全漏洞.

  1.Access数据库的存储隐患

  在ASP+Access利用系统中,假如得到大概猜到Access数据库的存储途径和数据库名,则该数据库便可以被下载到本地.比方:关于网上书店的Access数据库,人们普通命名为book.mdb、store.mdb等,而存储的途径普通为"URL/database"或干脆放在根目录("URL/")下.这样,只要在浏览器地址栏中敲入地址:"URL/database/store.mdb",便可以简单地把store.mdb下载到本地的机械中.

  2.Access数据库的解密隐患

  由于Access数据库的加密机制非常简单,所以即便数据库设置了密码,解密也很简单.该数据库系统通过将用户输入的密码与某一固定密钥举行异或来形成一个加密串,并将其存储在*.mdb文件中从地址"&H42"开始的区域内.由于异或操作的特点是"经过两次异或就恢答复值",因此,用这一密钥与*.mdb文件中的加密串举行第二次异或操作,便可以轻松地得到Access数据库的密码.基于这种原理,可以很简单地编制出解密程序.

  由此可见,无论能否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了.

  3.源代码的安全隐患

   由于ASP程序采取的是非编译性语言,这大大降低了程序源代码的安全性.任何人只要进入站点,便可以得到源代码,从而造成ASP利用程序源代码的泄露.

  4.程序计划中的安全隐患  

  ASP代码操纵表单(form)实现与用户交互的功效,而呼应的内容会反映在浏览器的地址栏中,假如不采取得当的安全办法,只要记下这些内容,便可以绕过考证直接进入某一页面.比方在浏览器中敲入"……page.asp?x=1",便可不经过表单页面直接进入满意"x=1"条件的页面.因此,在计划考证或注册页面时,必须采纳特别办法来避免此类问题的发生.
  
  提高数据库的安全性

  由于Access数据库加密机制过于简单,因此,若何有效地避免Access数据库被下载,就成了提高ASP+Access办理筹划安全性的重中之重.

  1.非通例命名法

  避免数据库被找到的简便办法是为Access数据库文件起一个复杂的非通例名字,并把它存放在多层目录下.比方,关于网上书店的数据库文件,不要简单地命名为"book.mdb"或"store.mdb",而是要起个非通例的名字,比方:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类的深层目录下.这样,关于一些通过猜的方法得到Access数据库文件名的不法拜候办法起到了有效的禁止作用.

  2.利用ODBC数据源

  在ASP程序计划中,应尽大概利用ODBC数据源,不要把数据库名直接写在程序中,不然,数据库名将随ASP源代码的失密而一同失密.比方:

  DBPath = Server.MapPath("./akkjj16t/ kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ")

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

  可见,即便数据库名字起得再独特,躲藏的目录再深,ASP源代码失密后,数据库也很简单被下载下来.假如利用ODBC数据源,就不会存在这样的问题了:

  conn.open "ODBC-DSN名"
 
?????? 对ASP页面举行加密

  为有效地避免ASP源代码泄露,可以对ASP页面举行加密.普通有两种办法对ASP页面举行加密.一种是利用组件技术将编程逻辑封装入DLL之中;另一种是利用微软的Script Encoder对ASP页面举行加密.笔者认为,利用组件技术存在的主要问题是每段代码均需组件化,操作对比烦琐,工作量较大;而利用Script Encoder对ASP页面举行加密,操作简单、收效杰出.Script Encoder办法具有很多长处:

  1.HTML仍具有很好的可编辑性.Script Encoder只加密在HTML页面中嵌入的ASP代码,其他部份仍保持不变,这就使得我们仍旧可以利用FrontPage或Dreamweaver等常用网页编辑工具对HTML部份举行改正、完善,只是不能对ASP加密部份举行改正,不然将招致文件失效.

  2.操作简单.只要掌握几个号令行参数便可.Script Encoder的运路程序是screnc.exe,其利用办法以下:

  screnc [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile

  此中的参数含义以下:

  s:屏蔽屏幕输出;

  f:指定输出文件能否覆盖同名输入文件;

  xl:能否在.asp文件的顶部增添@Language指令;

  l:defLanguag指定缺省的脚本语言;

  e:defExtension 指定待加密文件的扩大名.

  3.可以批量加密文件.利用Script Encoder可以对当前目录中的全部的ASP 文件举行加密,并把加密后的文件统一输出到呼应的目录中.比方:

  screnc *.asp c:\temp

  4. Script Encoder是免费软件.该加密软件可以从微软网站下载:http://msdn.microsoft.com/scripting/VBscript/download/x86/sce10en.exe.下载后,运行安装便可.

  操纵Session对象举行注册考证

  为避免未经注册的用户绕过注册界面直接进入利用系统,可以采取Session对象举行注册考证.Session对象最大的长处是可以把某用户的信息保存下来,让后续的网页读取.

  计划要求用户注册成功后系统启动hrmis.asp?page=1页面.假如不采取Session对象举行注册考证,则用户在浏览器中敲入"URL/hrmis.asp?page=1"便可绕过注册界面,直接进入系统.操纵Session对象可以有效禁止这一情形的发生.相关的程序代码以下:

  <%

  ' 读取用户输入的账号和密码

  UserID = Request("UserID")

  Password = Request("Password")

  ' 查抄UserID 及Password 能否精确(实际程序大概会对比复杂)

  If UserID <>"hrmis" Or Password <>

  "password" Then

  Response.Write "账号错误!"

  Response.End

  End If

  '将Session 对象设置为通过考证状况

  Session("Passed") = True

  %>

  进入利用程序后,首先举行考证:

  <%

  '假如未通过考证,返回Login状况

  If Not Session("Passed") Then

  Response.Redirect "Login.asp"

  End If

  %>   以上是“ASP+Access的安全隐患及对策[Access防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .