sql注入

Sql注入的定义,

百度了一下结果是
Sql全称:Structured Query Language,叫做结构化查询语言
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
虽然是一个恶意的命令但是在网络安全中也极其重要,只有先学会注入的过程,才能防止其攻击

注入主要是在浏览器然后按F12 出现一个框架 你可以注入一些语句。比如火狐浏览器 max hackbar 就可以

万能密码:

万能密码就是在一个用户登陆框中输入1‘or 1=1# 然后成功绕过输入密码这一阶段进行登录
其中登陆的条件是username=username&&password=password
而1‘or 1=1# 这一逻辑语句正好满足这条件即1=1
但这些只适用于研究,在真正的登陆页面还是不切实际的
进入搭建好的靶场后
在这里插入图片描述

然后点击第二个,会出现一些关卡和靶场内容
在这里插入图片描述

联合查询

我们在实际应用中,或许会用到关于sql的联合查询的应用,下面来总结一下联合查询的具体应用,做一下记录便于记忆。

首先,通过一个实例来讲一下联合查询(关键词 union)

语法:

select …

union

select …

union

 
改用union的用法
 
select * from empoloyees where email like "%a%"
 
union 
 
select * from empoloyees where department_id >90;
 
可能很多人不理解,为什么明明可以整合到一起用or解决,为什么还要选择用更为复杂的union
 
其实,union在下面的情形中使用才会显出优势来。
 
*查询中国用户中男性的信息和外国用户中男性用户的信息,数据是分别存在两个不同的数据表格中,且数据的字段名不一致*
 
select id, cname ,csex from t_ca where csex='男'
 
union 
 
select t_id ,tName,tGender from t_ua where tGender='male'; 

所以我们通过上面的例子可以看出来联合查询的应用场景就是:

要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息是一致的。

那我们在使用联合查询时需要注意的事项都有哪些,一起来看一下:

1、要求多条查询语句的查询列数是一致的。

2、要求多条查询语句的查询的每一列的类型和顺序最好是对应一致的。

3、注意union的去重,如果不想去重,使用union all可以包含重复项

这是我现在想到的,以后有新的知识点,再添加(再次感谢大佬的帮助)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值