当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 数据库下载漏洞攻击技术

MSSQL
SQL Server 中死锁产生的原因及解决办法
教你在SQL Server 2000数据库中使用分区
数据仓库基本报表制作过程中的SQL写法
自动定时重启sql server回收内存
轻松解决SQL Server 2005中的常见问题
用一个案例讲解SQL Server数据库恢复
安装SQL Server 2005时出现计数器错误
讲解SQL Server 2005数据库的同义词Bug
利用SQL语句对不同数据库进行高效果分页
三种数据库利用SQL语句进行高效果分页
数据库连接字符串的常见问题和解决方法
教你快速掌握一些方便易用的SQL语句
深入分析SQL Server的数据转换服务
系统默认的MySQL用户名消失的解决方法
SQL 2008邮件故障排除:发送测试电子邮件
SQL Server 2005日志文件损坏的处理方法
在SQL Server 2005数据库中进行错误捕捉
SQL Server查询速度慢原因及优化方法
加密SQL Anywhere 提升政府行业数据安全
Windows Server 2008之数据安全保护

MSSQL 中的 数据库下载漏洞攻击技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 127 ::
收藏到网摘: n/a

 

  作为脚本漏洞的头号杀手锏——数据库下载漏洞,现在已经被越来越多的人所熟知。在这个信息化技术更新飞快的时代,漏洞产生后随之而来的就是各种应对的招数,比如改数据库的后缀、修改数据库的名字等等。很多人以为只要这么做就可以解决问题了,但事实往往不如你我所愿,即使你这么做了也难逃被高手攻击的命运。为此我们有必要去了解一些攻击的手法,来增强自己的安全技能。

  1.强制下载后缀名为ASP、ASA的数据库文件

  大多数的网管为了节省时间,网站上的文章系统、论坛等程序都是直接下载别人的源程序再经过部分修改后使用的。而现在很多人做的ASP源程序都已经将数据库的后缀由原先的MDB改为了ASP或ASA。本来这是好事,但在这个信息极度膨胀的社会,老的方法所能维持的时间毕竟有限。对于ASP或ASA后缀的数据库文件,黑客只要知道它们的存放位置,就能轻易地用迅雷这样的下载软件下载得到。图1即笔者利用迅雷下载到的数据库文件(注意数据库的后缀为ASP)。



图 1

  2.致命符号——#

  很多网管以为在数据库前面加个#号就可以防止数据库被下载。是啊,我当时也认为IE是无法下载带有#号的文件的(IE会自动忽略#号后面的内容)。但是“成也萧何,败也萧何”,我们忘记了网页不仅能通过普通的方法访问,而且用IE的编码技术也能访问到。

  在IE中,每个字符都对应着一个编码,编码符%23就可以替代#号。这样对于一个只是修改了后缀并加上了#号的数据库文件我们依然可以下载。比如#data.mdb为我们要下载的文件,我们只要在浏览器中输入%23data.mdb就可以利用IE下载该数据库文件,这样一来,#号防御手段就形同虚设一般(图2)。



图 2

  3.破解Access加密数据库易如反掌

  有些网管喜欢对Access数据库进行加密,以为这样一来就算黑客得到了数据库也需要密码才能打开。但事实正好相反,由于Access的加密算法太脆弱,所以黑客只要随便到网上找一个破解Access数据库密码的软件,不用几秒钟就能得到密码。这样的软件网上有很多,比如Accesskey。

  4.瞬杀——数据暴库技术

  本身数据库暴库技术应该是属于脚本漏洞的行列,之所以拿到这里来说是因为它在数据库下载漏洞中起到了举足轻重的作用,如果仔细一点,读者会发现上面的技巧都是假定知道数据库名的情况下才能实施的。但很多时候我们根本不可能知道数据库的名字,这时我们可能会感到很沮丧,觉得无法再进行下去,但数据库暴库技术的出现不仅可以一扫我们的沮丧情绪,也能让我们真正地将前面的技术综合起来利用。

  很多人在用ASP写数据连接文件时,总会这么写(conn.asp):

……
db="data/rds_dbd32rfd213fg.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
function CloseDatabase
Conn.close
Set conn = Nothing
……

  这段语句看上去觉得并没什么问题,而且数据库的名字取得很怪,如果没有数据库暴库技术我们能猜到这样的数据库名的几率几乎为零。但就是这么简短的语句却隐藏着无限的信息。可以说网上绝大部分的程序都存在这个漏洞。我们只要将地址栏上在数据连接文件conn.asp(一般为这个)前的/用%5c替代就可以暴到数据库的位置,接下来的事情应该不需要我说了吧?大家只要开动脑筋没有什么事情是做不成的。

 "