网易游戏运维林伟壕:永不落幕的数据库SQL注入攻防战
《网易游戏运维林伟壕:永不落幕的数据库SQL注入攻防战》要点: 讲师介绍 主题简介:
记得以前有人说过,对于一家软件公司来说,最重要的不是它的办公楼,也不是它的股票,而是代码.代码这东西,说到底就是一堆数据.这话不假,但是不仅仅这样,对于一家企业来说,它的用户数据也是最重要的几个之一.在座各位想必多为DBA或者数据分析相关岗位的同学,关于数据对企业的重要性,应该理解很深刻了. 那么,换一个角度,如果站在用户角度,数据对他们而言,更是要害.从以前的“艳照门”、“电信诈骗”,到现在的“50亿条公民信息泄露”,数据泄漏每天都在发生着.所以,不管是谁,不管站在企业还是用户角度,保护数据安全是重中之重.今天的主题——数据库注入攻防,就属于数据安全这个领域的问题. 一、数据库能有什么安全问题?1、那些年泄漏的数据 说起数据库存在的安全问题,大家必定会想到很多答案,可能因暴露外网被攻击,可能因架构或网络原因破坏数据一致性,可能因备份还原机制不可用丢数据. 但对于企业、用户来说,数据泄漏却是一个特别突出的问题.这里贴一张图.如图1,过去10年,中国互联网泄漏了10亿多条用户信息,不过跟最新泄漏的“50亿条公民信息”相比,简直小巫见大巫.现在这些数据库在互联网上早就传了一遍,网上很多“社工库”的数据,如图2,就是从这里来的.但还有很多是不公开的,还在地下买卖,恐怕我们现在知道的数据泄漏只是冰山一角. 图1 图2 2、泄漏的数据哪来的? 那么,这些数据是怎么泄漏的?根据搜狐网上的一些报道,我按类型整理了大概有6种途径,分成用户提供和不法分子利用2个大类,占比大概如图3所示. 图3 (1)用户提供 (2)不法分子利用
今天,我们将从原理、攻防等方面去剖析数据库注入. 二、何为数据库注入1、原理 通过把恶意 SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,从而欺骗服务器执行恶意的SQL命令,而不是按照设计者意图去执行SQL语句.从图4可以看到,正常用户输入的是自己的账号密码,但攻击者不会按开发者想法来,他会用各种畸形输入来测试.比如图4就是传说中的“万能密码”,10年前,很多网站倒在它面前,就是因为完全信任用户输入. 图4 2、有什么危害
看起来数据库注入的危害可不止信息泄漏,破坏数据库数据和进一步入侵也是入侵题中的应有之义. 跟其他的Web攻击如XSS/CSRF/SSRF之类比有什么不同? 危害最大.根据OWASP(Open Web Application Security Project)2013年安全报告,如图5,数据库注入是最严重的Web安全问题. 图5 直接攻击数据库,而数据是最敏感的.容易被深度利用,造成威胁扩散.刚才上面也提到,数据库注入可以用来传播木马,甚至控制服务器,想象空间很大. 三、数据库注入攻击实战在网络安全行业有一句话,“未知攻,焉知防”.所以我们要理解数据库注入,想做好防御措施,必须先看看它是怎么攻击数据库的. 1、利用思路 攻击一般可以采用手工和自动化工具两种方式,各有千秋. 手工: 工具: (编辑:ASP站长网) |