Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17757671
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-04-17 16:24:05

解决:
(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”设置密码之后,接下来如果再使用Access数据库文件时,则Access会先要求输入密码,验证正确后才能够启动数据库。

不过要在ASP程序中的Connection对象的open方法中增加PWD的参数即可,例如:

param=“driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs”

param=param&“;dbq=”&server.mappath(“employer1.mdb”)

conn.open param

这样即使他人得到了Fmployer1.mdb文件,没有密码他是无法看到employer1.mdb的。

5.asp程序密码验证漏洞

漏洞描述 :

很多网站把密码放到数据库中,在登陆验证中用以下Sql,(以ASP为例)

sql=“select * from user where username=”&username&“and pass=”& pass &”

此时,您只要根据SQL构造一个特殊的用户名和密码,如:ben or 1=1

就可以进入本来你没有特权的页面。再来看看上面那个语句吧:

sql=“select * from user where username=”&username&“and pass=“& pass&”

or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立。而在语言中,是以1来代表真的(成立)。那么在这行语句中,原语句的“and”验证将不再继续,而因为“1=1”和“or”令语句返回为真值。

另外我们也可以构造以下的用户名:

username=aa or username<>aa

pass=aa or pass<>aa

相应的在浏览器端的用户名框内写入:aa or username<>aa 口令框内写入:aa or pass<>aa,注意这两个字符串两头是没有的。这样就可以成功的骗过系统而进入。

后一种方法理论虽然如此,但要实践是非常困难的,下面两个条件都必须具备。

(1)你首先要能够准确的知道系统在表中是用哪两个字段存储用户名和口令的,只有这样你才能准确的构造出这个进攻性的字符串。实际上这是很难猜中的。

(2)系统对你输入的字符串不进行有效性检查。

问题解决和建议:对输入的内容验证和“”号的处理。

6.IIS4或者IIS5中安装有Index Server服务会漏洞ASP源程序

问题描述 :

在运行IIS4或者IIS5的Index Server,输入特殊的字符格式可以看到ASP源程序或者其它页面的程序。甚至以及添打了最近关于参看源的补丁程序的系统,或者没有.htw文件的系统,一样存在该问题。获得ASP程序,甚至global.asp文件的源代码,无疑对系统是一个非常重大的安全隐患。往往这些代码中包含了用户密码和ID,以及数据库的源路径和名称等等。这对于攻击者收集系统信息,进行下一步的入侵都是非常重。

通过构建下面的特殊程序可以参看该程序源代码 :

阅读(413) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~