钢铁苍穹安全服务中心

钢铁苍穹安全服务中心致力于造网络安全行业信息门户网站,专注于网络安全技术防范,黑客攻防技术研究,网络安全技术资讯,网络安全在线沟通交流互动,DDOS攻击防御等方面的内容讨论。

请输入网址:
最近检测:www.352.cn

如何解决ACCESS数据库的SQL注入攻击

来源:未知 时间:
 

本文所讨论的所有情况都是基于ACCESS数据库的,因为针对ACCESS数据库的注入手法一般很固定,容易防御,而其他类型数据库的攻击手法更多、更难防御,并且因为我个人技术水平问题,其它类型数据库的解决方案就暂且不讨论了,所以如果你的网站不是ACCESS数据库,那么本文是解决不了你的问题的。
要解决ACCESS数据库的SQL注入攻击,手法无非这么几种:
一、从本身代码入手,修改源代码,过滤所有变量
二、从本身代码入手,修改源代码,将管理员信息直接写到登录验证文件中,不放在数据库中
三、从本身数据库结构入手,将管理员信息放在生涩的、不易被猜到的表中
四、从外部代码入手,挂上防注入代码
下面是我个人对这几种方案的一点见解:
方案一无疑是工作量最大的,耗时耗力,并且我们不能保证一次修改就将全部变量都过滤完全了,毕竟代码不是好看的,再者,因为注入的手法实在太灵活,我们很有可能考虑不到太多的情况,导致过滤不完全,如果是这样,那攻击者也是可以突破的,但这种方法却是最可靠、最底层的方案,毕竟是我们自己写的代码,用着放心。
方案二,是非常稳妥的一个方法,个人推荐一下,这种方案的优点在于不怕注入攻击,因为我们的管理员的用户名和密码没有放在数据库中,就算是我的网站有注入点,并且被攻击者成功利用了,攻击者也是拿不到我们的管理员用户名和密码的,自然也就控制不了我们的后台,所以这种方法很值得推荐。
方案三,这个方案是在我们不想去修改网站结构的情况下采取的一种比较折中的方法,因为一般我们都是用的CMS或者其他的成套的系统,如果我们自己去修改源码,说不定哪里就会出问题,所以,如果你不想修改源码,那么这种方法也是可行的,因为我们知道,对于ACCESS数据库的注入攻击,都是走的猜表、猜字段,再爆内容的路子,所以如果攻击者发现了我们的网站存在注入点,但是我们的表名很复杂,并不是常规的表名,那么这个时候攻击者也是无法利用这个注入点的,使用这种方法我们还可以构筑双重防线,就是把表名设置的复杂的同时也将列名设置的复杂一些,这样就OK了。
方案四,这种方法我个人并不推荐,这完全是一种治标不治本的方法,并且根据现在网络上比较出名的通用防注入程序来说,都并不是完全有效的,都是过滤了post和get的数据,但没有过滤cookie集合的数据,攻击者使用cookie注入中转一下就突破了这些所谓的通用防注入,所以这样也就无法保证网站的根本安全。再者,别人写的代码,我们怎么知道到底好用不好用,别明明自己挂上了通用防注入,却发现根本防不了,那就悲剧了。
关于基于ACCESS数据库的SQL注入攻击的解决方案,我能说的也就这么多了

 
    栏目导航




    更多>>推荐方案



    钢铁苍穹安全服务中心