网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL安全
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.讲解SQL Server危险扩展存储删除.
.数据库下载漏洞攻击技术.
.SQL Server补丁安装常见问题.
.SQL Server:安全设计从头起.
.SQL2000中默认sa帐号改名和删除的.
.浅谈数据库的攻击.
.数据库安全性策略 (2).
.防止Access数据库被非法下载的方.
.Microsoft SQL Server SA权限最新.
.3个步骤结束网站恶梦-SQL注入隐患.
.SQL注入攻击的原理及其防范措施.
.调整重心-从IIS到SQL Server数据.
.网站入侵过程!.
.保护SQL Server:为安全性而安装.
.SQL数据库的一些攻击.
.让SQL注入攻击危害最小化三大措施.
.保障Web数据库安全运行.
.不当编写SQL语句导致系统不安全.
.关于SQL SERVER的一些安全问题.
.小议MSSQL Server 2000的安全及管.

防止Access数据库被非法下载的方法比较

发表日期:2008-4-25


防止Access数据库被非法下载的方法比较

一、密码式

给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。

这种方法,已经很少被用到了,除了对安全不甚了解的程序员,虽然少,但是还是会遇到,比如前几天看到的物业的网站。

二、"#"式

在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,如:http://www.xx.com/access#.mdb,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是很遗憾,URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。

这种方法感觉有点类似于掩耳盗铃,因为通过下载工具,可以很方便的下载,没有什么实际意义,除了对付刚接触的人。

三、ASP式

这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步:

第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的"<%",即(ASP代码chrB(asc("<")) & chrB(asc("%"))的运行结果)

第二步:将数据库改名为ASP

这样从URL上直接请求这个数据库将会提示"缺少关闭脚本分隔符",从而拒绝下载,因为这个方式比较麻烦我在网上找了一段小代码来完成OLE对象的插入工作,只要将数据库名设置好,然后放在和数据库内一目录运行一下就可以了。 代码全文数下:<%db="d.mdb" '这里改成您的数据库地址set conn=server.createobject("Adodb.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)conn.open connstrconn.execute("create table notdownload(notdown oleobject)")'提示表及字段创建成功response.write "表、字段创建成功!"set rs=server.createobject("adodb.recordset")sql="select * from notdownload"rs.open sql,conn,1,3rs.addnewrs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))rs.updaters.close'提示内容添加成功response.write "内容添加完成!"set rs=nothingconn.closeset conn=nothing%>

这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。

这种方法用的比较普遍,正如作者所说,大多数人只是将mdb后缀改称了asp,实际上如果知道路径,用flashget一样可以下载。

作者提供的asp源代码,可以直接创建表和字段,并添加内容。大家可以保存为.asp文件,在浏览器执行一次即可。

当然也可以直接编辑数据库:

1、打开access数据库

2、使用设计创建表,添加字段notdown,类型使用“OLE对象”

3、保存为nodownload,不创建主键。

4、打开记事本,编辑文件nodownload.txt,内容为“<%”。

5、打开nodownload表,点击右键-->插入对象,选择从文件插入,定位到nodownload.txt,确认。

以上都需要在数据库创建一个表,大家可以把这个表留着不管,也可以直接删除,同样可以起到反下载的功能,即:执行后再删除。关于这一点,大家可以试试。

四、asa式

这种方式的真谛是利用IIS对ASA文件的保护,从而使得数据库文件不能从URL上直接请求下载,但是这种方式被误解成只要将文件后缀改成ASA就可以了。要知道IIS只是对global.asa这个文件名有请求保护,所以这种方式只能将数据库名设置为global.asa,而且要注意的是,设置成global.asa之后最好不要将其放在主机或虚拟目录的根目录里,不然会被IIS当然正常的global.asa文件进行尝试运行的。

这种方法也比较不错的,但是如果网站已经使用了global.asa,有时候容易混淆,大家根据情况看吧。

感觉第三第四种是比较安全的,除非IIS有查看ASP或ASA源码的漏洞,否则是无法将数据库下载的。

上一篇:SQL指令植入式攻击的危害及其防范措施 人气:2066
下一篇:SQL注入防御:用三种策略应对SQL注入攻击 人气:2365
浏览全部数据库的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐