初识SQL注入

什么是SQL注入(SQL Injection)?html

SQL注入是网站攻击途径之一,这里引用一下百度百科的解释:“所谓SQL注入,就是经过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令”。sql

简单示例数据库

网站的登陆界面,须要用户输入用户名和密码来进行登陆,若是网站开发者在开发时没有考虑对SQL注入加以防范,则恶意攻击者就能够经过在用户名和密码输入框中添加特定的SQL语句,以达到查询后台数据库获取数据,甚至对后台数据库中的数据形成破坏的目的。服务器

网站全部用户的用户名和密码通常都保存在后台数据库的表中,当用户输入用户名和密码时,经过执行诸以下面形式的查询语句来验证用户名和密码是否输入正确。测试

select * from login where username='XXX' and password='YYY'网站

若是恶意攻击者对用户名和密码分别输入XXX和password' OR 1=1,则验证用户名和密码时将执行这样的语句:htm

select * from login where username='XXX' and password='password' OR 1=1blog

由于1=1永远为真,所以若是开发者没有采起任何措施验证用户输入,就会使得攻击者在无需知道正确的用户名和密码的状况下轻易的登陆成功。开发

如何测试SQL注入漏洞字符串

做为Tester,最关注的就是如何测试SQL注入漏洞,基于我目前的理解,那就是:以黑客的心态,经过各类SQL注入方法,来攻击被测目标。所以,掌握各类SQL注入方法很重要。本文的参考资料中介绍了一些SQL注入方法,之后有时间,再进行research整理SQL注入方法吧:)

参考资料:

SQL注入攻击

MSDN-SQL注入

相关文章
相关标签/搜索