access防下载表原理
2014-03-31      0个评论      
收藏    我要投稿

一、开篇
      自从搞ASP+ACCESS没少为避免数据库下载而伤过神,网上的奇淫技巧更是数不胜数,本文就是同大家共同探讨各路前辈的留下的秘笈并指中其中的优劣,最后为大家提供一种最佳的解决方案
二、剖析
      为了防止ACESS数据库下载,小的见过不少方法,主要有以下几种:
1、数据库加密--------这个自然不用说了,别人如果知道数据库路径,照样能下载,打开数据库其实也很简单,网上破解ACCESS数据库的密码软件太多了,以前我也有所研究,97版的ACCESS的密码是从文件的开头第73(如果这个数字没记错的话)个字符开始连续的十多个,这个是密码与已知的一串字符异和的结果,2000版的ACCESS变聪明了一些它的加密后的密码不是连续是间隔的不过加密密钥还是一样的,由于是对称加密所以破解ACCESS简直易如反掌(呵呵,好像跑题了)
2、数据库文件名更名--------这个用的比较多,主要是用到了HTML的锚点,将数据库的文件名中加入“#”,如果直接敲入数据库的路径试图下载的话,由于浏览器只解析到了#前面一大串URL,#后被认为是锚点标记,数据路径被保护起来了。刚看到这种方法时,俺确实得佩服最初发现这个方法的N人。可惜没多久,在网上看到了另一篇文章对此方法的破解,原理很简单,字符“#”被URL解析后的字符应该是“%35”,这就是我们在地址栏里经常看到%20样的东西,其实是空格,由于进行了URL编码所以解析成了%20(20是因为空格的ASC码值为20)
3、数据库扩展名更名--------这个用的太普遍了,扩展名一般改成.ASP,因为扩展名为。ASP文件都要交给ASP。DLL文件解释执行,ASP。DLL只会解释在之间的代码(还有,其它的一概不管,原封不动地交给浏览器处理,所以直接把扩展名改为ASP后,数据不会被下载,但是会被浏览器直接打开.这样别人将内容拷贝后仍然可以还原成原始的MDB文件。
三、解决
      大家应该比较了解动网论坛,他的数据库里有一个NotDown的表,这个表只有一个字段,并且这个字段的类型是OLE型,用于存放二进制的数据,这个表有什么作用呢?呵呵...
把动网的数据库扩展名改成ASP,然后在浏览器里输入对应路径的数据库地址,看到什么了?一串错误的ASP脚本错误的信息,当然数据库也没办法DOWN下来了,为什么会这样呢,那个NotDown表究竟存放的是什么呢??
大家好好看看第二节中的第3种方法,仔细琢磨一下应该不难明白结论,正是因为NotDown表是有类似这样的脚本致使ASP.DLL把它当作真正的ASP文件来执行,但是这恰恰是动网数据库故意安排的语法错误,致使ASP.DLL解释里出错,因而把ASP出错信息显示出来,从而保护了真正的数据.
四、实践
NotDown表中倒底写了些什么呢??呵呵,是不是有点急了.
我们知道NotDown表由于是二进制字段,所有我们读写数据库的时候,也要改一改常规,ADO中专门有读写二进制字段的方法它们分别是AppendChunk 和GetChunk 有了这两个方法我们就可以看看那个表里面究竟是啥玩意了
------此处省略连接数据200字,得到数据连接对象Conn

set rs=server.createobject("adodb.recordset"
sql="select notdown from NotDown"
rs.open sql,0,1
data=rs(0).GetChunk(rs(0).ActualSize) 读出所有的二进制数据
rs.close
set rs=nothing
----关闭数据库连接
response.BinaryWrite(data)由于data是二进制,所以要调用response打印二进制的方法将其输出
%>

过足瘾了吧,想知道结果是什么吗,赶紧回去调试看看啊
五、改进
上面的方法虽然是保住了数据库,但是有个错误的提示,总是觉得有点不爽,我们来改点别的
如果试图输入数据库的地址来下载数据库,将会自动跳转到搜狐网站,代码如下
------此处省略连接数据200字,得到数据连接对象Conn

set rs=server.createobject("adodb.recordset")
sql="select notdown from NotDown"
str="http://www.sohu.com"""&chr(37)&">"

由于字段是二进制数据,我们要是直接把Str字符串字入数据库的话会有一点问题
在VBS中每一个字符占两个字节,所以我们要去掉高位的空字节

for i=1 to lenb(str)
if midb(str,1,i)0 then
data=data+ascb(midb(str,1,i))
end if
next
rs.open sql,0,3
data=rs(0).AppendChunk(data) 写入二进制数据
rs.update
rs.close
set rs=nothing
%>

OK了,看看运行效果,甚至还可以加入一段JS脚本,弹出一个对话框,吓吓那些下载数据库的小猫们,还不敢快试试去

access防下载表原理相关推荐

  1. ASP.NET中防止Access数据库下载

    如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. ...

  2. asp access的安全:不要认为简单的改后缀mdb为asp就能防下载

    asp access的安全:不要认为简单的改后缀mdb为asp就能防下载 昨天和animator试验了一下,把data.mdb文件改名为data.asp文件后放在wwwroot目录里.然后在IE中输入 ...

  3. ACCESS数据库防下载方法 1

    ACCESS数据库防下载方法 作者:luotoal  来源:网络  点击数: 21131  更新时间:2006年05月21日  ACCESS数据库防下载方法   下面的方法分别适用有IIS控制权和   ...

  4. .NET中防止Access数据库下载

    .net中防止access数据库下载 如何防止access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨asp.net下防止access数据库被下载的方法,有些是对以前方法的总结,部 ...

  5. PDF文档在线浏览防下载加密方案

    PDF文档在线浏览防下载加密方案 (在线浏览防下载,文件不落地.禁止打印.禁止另存.禁止文字复制.动态添加防截图水印) 本方案针对PDF文档在线浏览的版权保护. 其突出特点表现在: 在线浏览防下载,文 ...

  6. [原创].NET中防止Access数据库下载

    .NET中防止Access数据库下载 如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨ASP.NET下防止Access数据库被下载的方法,有些是对以前方法的总结,部 ...

  7. C#使用VS 2010在程序加载时创建Access数据库和表

    最近在用C#做一个时间管理系统,需要用到数据库.但由于之前都没有接触过C#,以至于走了很多弯路,所以做完之后顺便在这里记录一下.一来可以使自己养成写文档的习惯,二来也可以帮助到后面学习C#的朋友,可谓 ...

  8. 密码破解--Ophcrack Rainbow Tables彩虹表原理

    PS:这玩意偶前几天用了一下,确实强悍无比,在这个表面前,md5等公开的加密算法不堪一击啊.记得我之前的公司开发的游戏账号都用修改过的特有MD5加密算法,建议开发人员都这样搞,这样安全性就大大提高.如 ...

  9. 彩虹表原理详解及工具介绍

    PS:这玩意偶前几天用了一下,确实强悍无比,在这个表面前,md5等公开的加密算法不堪一击啊.记得我之前的公司开发的游戏账号都用修改过的特有MD5加密算法,建议开发人员都这样搞,这样安全性就大大提高.如 ...

最新文章

  1. linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量
  2. swift 数组高阶使用(一)
  3. aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解
  4. python开发好学吗-python软件开发好学吗
  5. leetCode题解之反转二叉树
  6. python安装tensorflow_tensorflow安装过程-(windows环境下)---详解(摆平了很多坑!)...
  7. 工作177:表单重置项目处理
  8. 掌门1对1微服务体系Solar|阿里巴巴Sentinel落地实践
  9. 2-2Pytorch1.5环境配置
  10. 嵌套地狱_解决嵌套业务逻辑_使用Js的对象_避免数组嵌套---SpringCloud Alibaba_若依微服务框架改造_ElementUI---工作笔记016
  11. UIViewController 之LoadView详解
  12. python下:用 matplotlib.pyplot 显示 Opencv 读取的图像
  13. Kloxo重启Web服务
  14. java自动化测试_Java自动化测试(一)
  15. 实景三维的基石-osgb
  16. 安装ahci驱动sata
  17. Android系统启动源码分析
  18. 阿里云网站域名备案注销方法
  19. 微信公众号开发工具类
  20. 【AI Studio】飞桨图像分类零基础训练营 - 03 - 卷积神经网络基础

热门文章

  1. 信创迁移适配预研-达梦数据库DM8服务与客户端工具安装使用
  2. 服务器系统945主板,IT教程:945主板最高装什么cpu
  3. 数据库系统日志的处理和作用
  4. Scala编程基础——集合高阶函数
  5. 外文文献看不懂——知云文献翻译神器送给你
  6. 人脸姿态估计预研(二)
  7. signature=475cf910f858e6daa4bbf04f3c6cbe9a,Git学习教程(四--七)
  8. 医药物流配送中心的建设与规划设计
  9. 数据丢失不用怕 iPhone手机数据备份方法分享
  10. seo管理php源码_黑帽SEO,黑帽SEO优化隐身技术(二)