解析阻止或减轻SQL注入攻击实用招数

上传人:m**** 文档编号:48035904 上传时间:2018-07-08 格式:DOCX 页数:4 大小:16.98KB
返回 下载 相关 举报
解析阻止或减轻SQL注入攻击实用招数_第1页
第1页 / 共4页
解析阻止或减轻SQL注入攻击实用招数_第2页
第2页 / 共4页
解析阻止或减轻SQL注入攻击实用招数_第3页
第3页 / 共4页
解析阻止或减轻SQL注入攻击实用招数_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《解析阻止或减轻SQL注入攻击实用招数》由会员分享,可在线阅读,更多相关《解析阻止或减轻SQL注入攻击实用招数(4页珍藏版)》请在金锄头文库上搜索。

1、解析阻止或减轻解析阻止或减轻 SQLSQL 注入攻击实用招数注入攻击实用招数SQL 注入攻击对企业安全形成巨大潜在威胁。一旦这种攻击得逞,黑客可利用这种攻击危害你的网络并访问破坏你的数据,甚至控制你的电脑。什么是 SQL 注入?SQL 注入的原理十分简单。当应用把客户数据当作一种输入的时候,那些心怀不轨的人就有机会注入刻意编写的数据,这些数据会导致输入行为会成为 SQL 查询的一部分。SQL 注入是通过把 SQL 命令插入到 Web 表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令,比如先前的很多影视网站泄露 VIP 会员密码大多就是通过 WEB 表单递交查

2、询字符暴出的,这类表单特别容易受到 SQL 注入式攻击。当应用程序使用输入内容来构造动态 sql 语句以访问数据库时,会发生 sql 注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生 sql 注入。sql 注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造(或者影响)动态 sql 命令,或者作为存储过程的输入参数,这些表单特别容易受到 sql 注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使

3、应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是 sql 注入就发生了。棋牌评测网 http:/例如,以下列代码为例:SELECT * FROM UsersWHEREUsername=$usernameANDPassword=$password该代码旨在展示用户列表的用户名和密码记录。使用 Web 界面,当系统提示输入用户名和密码的时候,黑客可能会输入:1 or 1=11 or 1=1结果是:SELECT * FROM Users WHERE Username=1 OR 1 =1ANDPassword=1OR 1 =

4、 1黑客已经将 OR 条件成功注入验证过程。更糟糕的是,条件 1=1 通常为真,因此这个SQL 查询往往会导致黑客绕过验证过程。用类似;的符号将另一个查询附加到已有查询之后(此附加查询还对一部分已有查询进行解释)。黑客可能删除你的整个列表,甚至更改其中的数据。黑客可以用命令来控制你的操作系统,从而操控你的电脑,并将之作为攻击你其他网络的一个中间站。总而言之,SQL注入攻击可带来以下后果:数据私密性的丧失数据完整性的丧失数据泄漏损害整个网络如何才能防止 SQL 注入攻击呢?要做到防微杜渐,最重要的是清理数据和验证数据,这两项工作不能出现懈怠。清理数据是指通过函数运行任何递交的数据(如 MySQL

5、 的 mysql_real_escape_string()函数),以确保任何有威胁的字符,如,不会以数据方式输入到 SQL 查询。验证则有所不同。验证是确保数据以被许可的方式递交。在最基础的操作中,验证包括确保电子邮件地址包含符号,当验证只接受整数的时候,就只能提供数字,而且数据长度不能超过最大限度。验证通常以两种方式执行:一是列出危险字符或不受欢迎字符的黑名单;二是列出给定字符的名单,后者需要编程人员花费更多心思。虽然可以在客户端验证数据,但是黑客同样能够对数据进行修改,因此用户有必要在服务器端验证所有数据。但是清理数据和验证数据还远远不能保障用户数据的安全。下面为大家介绍十种方法,帮助大家

6、防止或减缓 SQL 注入攻击:1.不信任任何人:假设所有用户递交的数据全部危险,对所有数据都进行验证。2.没必要的话,就不要使用动态 SQL:包括使用过的预备陈述,参数化的查询或保存好的进程。天地棋牌 http:/3.更新和补丁:通常程序和数据库中都存在黑客可以通过 SQL 注入而利用的漏洞,因此非常有必要使用程序补丁和更新。4.防火墙:无论是基于软件还是基于设备,都可考虑使用 Web 应用防火墙(WAF)来过滤恶意数据。好的防火墙具备一套完整的默认规则,而且很容易随时添加新规则。一个 WAF可以在新漏洞的相应补丁推出前,为用户提供有效的安全保护。5.减少攻击界面:及时对数据库的功能进行处理,

7、以免被黑客利用。例如,xp_cmdshell 扩展了 MSSQL 中保存的进程,而这使得 Windows 命令窗口激增,并且还通过了一个用于执行的字符串,这些无疑都对黑客有益。被 xp_cmdshell 激增的 Windows 进程有着和 SQLServer 服务帐户相同的优先安全权限。6.使用合适的权限:使用管理员级别权限的时候不要连接你的数据库,除非迫不得已。使用有限的帐户权限有利于数据安全,而且这样也能限制黑客的权限。7.保密隐私:假设你的应用不安全,而且会随加密操作或哈希密码以及其他机密数据,包括连接字符串,作出相应调整。捕鱼游戏 http:/8.不要泄露过多信息:黑客可以从出错信息中读取大量有关数据库架构的信息,因此要确保这些出错信息中尽可能显示比较少的信息。使用 RemoteOnlyCustomErrors 模式在本地电脑上显示冗长的错误信息,如此外部黑客的不良操作就只能收到无法操作的出错信息。9.不要忘记根本原则:经常更改应用帐户的密码。虽然这是常识,但是实际生活中,很多人的密码都是几个月甚至几年也难换一次。10.购买更好的软件:在买下软件前,就让代码编写者先检查代码并修复客户应用中的安全漏洞。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号