SQL 注入攻击

名词解释

SQL 注入攻击是黑客对数据库进行攻击的常用手段之一。 随着 B/S 模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。相当大一部分程序员在编写代码的时候,没有对用户的输入数据进行合法性判断。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即 SQL 注入。

LeanCloud 解读

一般我们提交的表单数据都会通过 SQL 语句执行查询。例如:SELECT * FROM users WHERE id='1' ,其中 id 参数 1 就是从表单中传过来的数据。如果用户传的参数不是 1,而是一条 SQL 语句,那么就可能骗过了 SQL 数据库,从而执行了一段恶意的代码,达到了黑客的攻击目的。例如用户可以将表单中的查询参数改为delete from users where =1,那么数据库将执行如下 SQL:SELECT * FROM users WHERE id='delete from users where =1'。这也是黑客窃取用户账号、密码,甚至个人证件信息常见方式。

sql-injection

图片来源于 xkcd 漫画

评论

Loading comments ...