如何保证SQL Server免遭SQL注入攻击?
2008-09-02 09:59:24 来源:WEB开发网SQL注入攻击可能是黑客攻击面向互联网的SQL Server数据库最常用的方式。任何使用动态SQL、允许未经检验的用户输入提交到数据库的应用程序都面临SQL注入攻击的风险,无论你的网络有多安全,或者你安装了多少防火墙。最近有一项关于Web黑客攻击的报告显示,SQL注入攻击呈上升趋势,不仅仅导致数据盗窃和数据丢失,而且在最近一连串的自动注入攻击中,数据库被破坏,向用户提供恶意Java脚本。这种渗透导致Web服务器令客户端电脑感染上其它的病毒。报告对于已经遭到攻击的网站数量统计不一,不过,哪怕是最低的数字都上万。在感染的高峰期,甚至联合国的网站也无法幸免。
你可能会认为SQL Server平台既然这么不安全,不如考虑更换平台。但事实上,所有的数据库平台都受到这种攻击的困扰。由于在主机环境中更多部署的是SQL Server,所以,针对SQL Server的攻击也就相应更为普遍。开发人员进行网页开发工作,他们不知道如何防范这样的攻击。由于这种攻击的成功率很高,所以,在恶意软件的社区内颇为流行。
SQL注入攻击是如何工作的?
容易遭受SQL注入攻击的Web应用程序具有以下特点:
1.你的网站使用动态SQL。这不是指应用程序动态生成select或者insert语句。它是指任何代码是动态生成的,包括应用程序在执行语句之前,动态生成一个存储过程。
2.当从客户端应用程序取值的时候,这些值没有经过验证——也可能没有对语法或者转义符进行验证。
SQL注入攻击是这样进行的:攻击者修改现有命令行,通过在字符串值内插入一个单引号,或者在数字后面添加分号,在转义符后面写入SQL语句。命令行看上去类似这样:
exec sel_CustomerData @CustomerId=47663; truncate TABLE Customer
- ››如何检查oracle的归档空间是否满了
- ››如何在浏览器中打开PDF文件并实现预览的思路与代码...
- ››如何改Win7系统我的文档保存位置
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››如何让ios app支持32位和64位
- ››如何删除Windows 8系统未知的账户
- ››如何提高win7系统的响应速度?
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››如何避免iPhone应用中内存泄露
- ››如何转移Win 7系统C盘的用户文件夹
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
更多精彩
赞助商链接