Sql 注入

SQL注入:
  通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
 
  我们在登录页面输入用户名和密码后点击登录,后端其实是在查找数据库中用户表(举例如user_table)中相匹配的用户名和密码,也就是执行
SELECT * FROM user_table WHERE username = '用户名' and password='密码';
 
  如果正常输入,后端查询后发现用户表user_table中存在匹配的,就会提示登录成功,
  但是如果输入的用户名为' or 1=1#,密码随便输入,后台查询语句变成了SELECT * FROM user_table WHERE username = '' or 1=1 #' and password='密码';
  或者输入的用户名为' or 1=1 -- ,密码随便输入,后台查询语句变成了SELECT * FROM user_table WHERE username = '' or 1=1 -- ' and password='密码';
  #和-- 在sql中是注释符号,所以后面的语句被注释掉了,即:SELECT * FROM user_table WHERE username = '' or 1=1;
 
 
 
 
posted @ 2019-06-11 23:08  Avicii_2018  阅读(119)  评论(0编辑  收藏  举报