转自:http://www.oecp.cn/hi/right_way/blog/2273
什么是sql注入呢?
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。
SQL注入攻击的简单示例:
statement := "SELECT * FROM Users WHERE Value= " + a_variable + "
上面这条语句是很普通的一条SQL语句,他主要实现的功能就是让用户输入一个员工编号然后查询处这个员工的信息。但是若这条语句被不法攻击者改装过后,就可能成为破坏数据的黑手。如攻击者在输入变量的时候,输入以下内容SA001’;drop table c_order--。那么以上这条SQL语句在执行的时候就变为了SELECT * FROM Users WHERE Value= ‘SA001’;drop table c_order--。
这条语句是什么意思呢?‘SA001’后面的分号表示一个查询的结束和另一条语句的开始。c_order后面的双连字符 指示当前行余下的部分只是一个注释,应该忽略。如果修改后的代码语法正确,则服务器将执行该代码。系统在处理这条语句时,将首先执行查询语句,查到用户编号为SA001 的用户信息。然后,数据将删除表C_ORDER(如果没有其他主键等相关约束,则删除操作就会成功)。只要注入的SQL代码语法正确,便无法采用编程方式来检测篡改。因此,必须验证所有用户输入,并仔细检查在您所用的服务器中执行构造 SQL命令的代码。
SQL注入攻击原理。
可见SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。
SQL注入是目前比较常见的针对数据库的一种攻击方式。在这种攻击方式中,攻击者会将一些恶意代码插入到字符串中。然后会通过各种手段将该字符串传递到SQLServer数据库的实例中进行分析和执行。只要这个恶意代码符合SQL语句的规则,则在代码编译与执行的时候,就不会被系统所发现。
SQL注入式攻击的主要形式有两种。一是直接将代码插入到与SQL命令串联在一起并使得其以执行的用户输入变量。上面笔者举的例子就是采用了这种方法。由于其直接与SQL语句捆绑,故也被称为直接注入式攻击法。二是一种间接的攻击方法,它将恶意代码注入要在表中存储或者作为原书据存储的字符串。在存储的字符串中会连接到一个动态的SQL命令中,以执行一些恶意的SQL代码。
注入过程的工作方式是提前终止文本字符串,然后追加一个新的命令。如以直接注入式攻击为例。就是在用户输入变量的时候,先用一个分号结束当前的语句。然后再插入一个恶意SQL语句即可。由于插入的命令可能在执行前追加其他字符串,因此攻击者常常用注释标记“—”来终止注入的字符串。执行时,系统会认为此后语句位注释,故后续的文本将被忽略,不背编译与执行。
分享到:
相关推荐
sql注入攻击原理分析 sql注入攻击原理分析 sql注入攻击原理分析
sql注入式攻击与防范秘籍
ASP.NET下如何防范SQL注入式攻击
本文在分析了SQL 注入原理的基础上,提出了几点Java Web 环境下防范措施。 随着Ineternet 技术的迅猛发展,为了能更充分地使用互联网这个世界上最大的交流平台,许多单位或个人纷纷建立自己的网站。但是...
SQL注入式攻击的分析与防范 学术论文 有深度
C#防止SQL注入式攻击C#防止SQL注入式攻击
ASP.NET中如何防范SQL注入式攻击 自己看,共3页,感觉还是有点用处
SQL注入攻击的原理及防御
注入式攻击的实例,适合大家研究防止被注入式攻击。
SQL注入式攻击的主要形式有两种。一是直接将代码插入到与SQL命令串联在一起并使得其以执行的用户输入变量。上面笔者举的例子就是采用了这种方法。由于其直接与SQL语句捆绑,故也被称为直接注入式攻击法。二是一种...
SQL注入式攻击下的数据库安全——SQL Server下SQL注入攻击的有效防范.pdf
如何斩断 SQL 注入式攻击的疯狂魔掌? Fuzzing tool 帮助 Oracle DBA 删除 SQL 注入错误 Web 安全性测试——SQL 注入 实例讲解 MYSQL 注入中导出可执行文件至启动项原理μ一ν 实例讲解 MYSQL ...
SQL注入攻击实验报告,自己写了试验的网站,举了一些基本的攻击和防御方法,有xp_cmdshell的执行,用的是sqlserver 2005
防止SQL注入式攻击例程序,可以参考学习使用。。。。。。。。。。。
7. 防范Sql注入式攻击 27 8.PHP与SQL注入攻击 29 9.SQL注入攻击零距离 30 10.SQL注入技术和跨站脚本攻击的检测 34 11.菜鸟入门级:SQL注入攻击 39 12. SQL注入渗透某网络安全公司的网站全过程 42 13.利用SQL注入2...
sql注入法攻击sql注入法攻击.rarsql注入法攻击.rarsql注入法攻击.rarsql注入法攻击.rar
防sql注入式攻击SQLInjection
SQL注入是Internet上最危险、最有名的安全漏洞之一,《SQL注入攻击与防御》是目前唯一一本专门致力于讲解SQL威胁的图书。《SQL注入攻击与防御》作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的...
PHP中全面阻止SQL注入式攻击 出于无赖,我也是办法了,要搞点分用啦!