所谓SQL注入,就是把SQL命令插入到Web表单提交, 或输入域名, 或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的
具体来说,它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行
它可以通过在Web表单中输入SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者的意图去执行SQL语句
举个例子,你要登录一个网站,上面让你输入用户名字和密码。
那么,假如你输入的用户名是 admin ,但是你不知道密码,你就输入了一个 1' OR '1' = '1
那么,你就提交了两个参数给服务器。
假如,服务器拿这两个参数拼SQL语句
SELECT T.* FROM XXX_TABLE T WHERE T.USER_ID = '/*param1*/'AND T.PASSWORD = '/*param2*/'
那么,你提交的两个参数就使SQL语句变成了
SELECT T.* FROM XXX_TABLE T WHERE T.USER_ID = 'admin' AND T.PASSWORD = '1' OR '1' = '1'
那么,这个SQL原来的校验功能就被你绕过去了,你的这种行为就称之为SQL注入
为了成功注入SQL命令,攻击者必须将开发者现有的sql命令转化成合法的sql语句,当然,要盲注总是有难度的,但一般都是
'OR1=1– 或者 ')OR1=1--
总结一下SQL注入的思路
否则继续
对SQL注入的防御方法