时间:2016-08-17 09:02 文章来源:http://www.lunwenbuluo.com 作者:李建荣 何保荣 秦奕 点击次数:
2.2屏蔽系统出错信息。一般对数据库操作出现错误时,系统会提示错误提示信息。入侵者根据错误提示很容易得到有关数据库的相关信息,从而进行恶意SQL注入攻击。例如有以下错误信息:
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)[Microsoft][ODBCSQLServerDriver][SQLServer]将nvarchar值“sonybb”转换为数据类型为int时发生语法错误。
根据这个出错信息,有点数据库常识的人就可以获得以下信息:该网站使用SQLserver数据库,用ODBC连接,连接账号名为sonybb。获得这些信息对入侵者下一步的SQL注入提供了重要数据,方便他们恶意构造SQL语句,顺利实现SQL注入式攻击。
2.3SQL语句参数化。SQL语句参数化是指用占位符或绑定变量来向SQL查询提供参数的方法,是一种更加安全的动态字符串构造方法,而不是把用户输入的变量直接嵌入到SQL语句[4]。因为参数化查询可以重用执行计划,SQL语句所要表达的语义不会改变,参数化方法可以杜绝大部分的SQL注入攻击。然而,SQL语句参数化存在一定的缺点,它只能参数化数值,不能参数化标识符或关键字。
2.4加强管理员登录页面所在路径的强壮度。由于管理员具备对整个网站的管理权限,管理员一般通过后台成功登录后就可以对整个网站进行管理。因此入侵者进行SQL注入很重要的一步就是猜测管理员的后台入口。一旦入侵者破解了管理员的后台入口,就可以行使管理员的一切权力,对整个网站进行掌控,很轻松地管理数据、修改数据、删除数据。因此,要加强系统管理后台登录目录的保密工作,不要把登录页面放在admin、login等常用目录名下。
2.5对重要数据信息采用非常规加密方法。目前在程序中对口令等重要信息加密都是采用md5函数加密方法,即密文=md5(明文),此处推荐在原来md5函数加密的基础上再增加一些非常规的加密方法,即在md5加密的基础上再附带一些没有规律的数据,如密文md5(md5(明文)+654321),最终增加重要数据的保密性。
2.6限制管理员登录方式。采取内网认证码方式和设定专属IP登录后台系统措施,限制管理员登录方式,即使入侵者进行了SQL注入攻击,获得了管理员的登录方式,只要使用电脑的IP地址不对,同样也无法进入后台管理页面。
3SQL注入攻击检测方法
一旦网站出现问题,需要网站管理人员经常对网站的相关方面进行查看,除了查毒杀毒以外,更重要的要观察网站是否受到了SQL注入攻击,然后才可以及时采取相应的措施,使网站损失达到最小。网站遭受SQL注入攻击,一般都会留下一定的“痕迹”。SQL注入攻击检测方法主要有数据库检查、IIS日志检查和其他的一些相关信息判断。
3.1数据库检查。如果使用SQL注入攻击软件工具Domain、NBSI和HDSI等进行攻击,一般都会在数据库中生成一些临时表。通过查看数据库中新建表的结构和内容是否有异常,可以判断是否曾经发生过SQL注入攻击。
3.2IIS日志检查。在Web服务器中如果启用了日志记录,则IIS日志会记录访问者的IP地址、访问文件等信息,SQL注入攻击往往会大量访问某个存在SQL注入点的动态网页,日志文件数量会急剧增加,通过查看日志文件的大小以及日志文件中的内容,可以判断是否发生过SQL注入攻击。
3.3其他相关信息判断。SQL注入攻击成功后,入侵者往往会添加用户、开放相关的远程终端服务以及安装木马等,可以通过查看系统管理员账号、远程终端服务器开启情况、系统最近日期产生的一些文件等信息来判断是否发生过入侵。
4结束语
防范SQL注入攻击是保证档案管理网站安全的一个重点。本文通过实例分析SQL注入攻击原理,根据本人平时的工作总结,系统地阐述了如何防范SQL注入攻击、SQL注入攻击检测方法和SQL注入攻击后的补救方法,希望对档案管理网站开发人员和档案管理网站管理人员有一定的启发。由于SQL注入攻击的种类繁多,灵活多变,很难用一种固定的方法全部解决SQL注入问题,如何更加有效地防范更高级别的SQL注入攻击则是以后有待解决的问题。
参考文献:
[1]王云.Web项目中的SQL注入问题研究与防范方法[J].计算机工程与设计,2010.
[2]彭赓.基于改进网络爬虫技术的SQL注入漏洞检测[J].计算机应用研究,2010.
[3]高洪涛.SQL注入攻击途径及策略分析[J].网络安全技术与应用,2011(3).
[4]JustinClarke.SQL注入攻击与防御[M].北京:清华大学出版社,2010(6).
联系方式
随机阅读
热门排行