sql注入中的union联合查询,union select 1,2,3

这篇具有很好参考价值的文章主要介绍了sql注入中的union联合查询,union select 1,2,3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(此文章是记录本人对知识理解的随手笔记,内容不肯定百分百正确,如有错误望指出并谅解)

结论:

union联合查询是为了判断SQL语句中哪个地方可以被代替,代替的地方是可以在网页上显示出来的{ 例:若 select 1,2,3; 中的2这个地方可以被代替,我们就可以通过一些SQL语句或数据库函数(如 database())来代替2的位置,让自己需要查询到的信息显示到网页上。}

原理:

当查询语句为:

select uid,username,password where uid='1' union select 1,2,3;

此SQL语句操作后,查询到的结果为俩行,查询结果如图所示:union select,sql注入,sql,网络安全,web安全,数据库 

第一行的内容(结果)是union前面的SQL语句 (即select uid,username,password where uid='1' )的查询结果。第二行的内容(结果)是union后面的SQL语句 (即select 1,2,3)的查询结果。俩行查询的结果一一对应。

例子:

1、若URL地址如图所示 :              (id为1)
union select,sql注入,sql,网络安全,web安全,数据库
此时服务器数据库后台查询到的结果为:
union select,sql注入,sql,网络安全,web安全,数据库
正常情况下在网页上显示的是结果一的内容:
union select,sql注入,sql,网络安全,web安全,数据库

2、但为了让union操作符后面的我们自定义的SQL语句查询到的结果显示到网页上,我们让结果一的查询结果为空,那怎么为空呢?
我们让id=-1(数据库中的uid是从1开始往后记录的,所以当id=-1时查询不到结果,结果就为空了)

union select,sql注入,sql,网络安全,web安全,数据库
此时数据库的查询结果:
union select,sql注入,sql,网络安全,web安全,数据库
原本结果二的内容就顺理成章的代替了结果一的位置,最终的查询结果也就一行(也就是原来的结果二),此时“2”和“3”就回显示在网页上:
union select,sql注入,sql,网络安全,web安全,数据库

3、前期工作做完了,我们可以利用这俩个回显点了。
利用点1:
如下图的地址栏所示,用database()函数来代替2位置的回显点来获取所使用的数据库的名字:

union select,sql注入,sql,网络安全,web安全,数据库
通过下图可以看到数据库的名字为security
union select,sql注入,sql,网络安全,web安全,数据库
其他可利用函数,可以参考另一篇文章:
(5条消息) SQL注入中可利用的函数,如database()、user(),@@datadir_头顶蜘蛛网,脚踩大水缸的博客-CSDN博客

利用点2:
原理同上,把3位置的回显点代替了。
URL地址设为:http://127.0.0.1/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
   

该SQL语句详解,可以参考另一篇文章:详解union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘ ‘--+_头顶蜘蛛网,脚踩大水缸的博客-CSDN博客

所以最终此利用点可以让该数据库的表名显示出来,通过下图可以看到表名有emailsreferersuagentsusers
union select,sql注入,sql,网络安全,web安全,数据库文章来源地址https://www.toymoban.com/news/detail-712513.html

到了这里,关于sql注入中的union联合查询,union select 1,2,3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL注入(一)联合查询 报错注入

    目录 1.sql注入漏洞是什么 2.联合查询: 2.1注入思想 2.2 了解information_schema 数据库及表 3.可替代information_schema的表 3.1 sys库中重要的表 4. 无列名注入 利用 join-using 注列名。 4. 报错注入 4.1 常用函数:updatexml、extractvalue 1.updatexml 注意几点: 2.extractvalue 3.floor 是web网站的常见攻击

    2024年02月02日
    浏览(29)
  • SQL注入之联合查询

    适用数据库中的内容会回显到页面中来的情况。联合查询就是利用union select 语句,该语句会同时执行两条select 语句,实现跨库、跨表查询。 必要条件 两条select 语句查询结果具有相同列数: 对应的列数据类型相同(特殊情况下,条件被放松)。 联合查询就是利用SQL语句中的un

    2024年02月11日
    浏览(26)
  • 二、SQL注入之联合查询

      SQL注入(Sql Injection)就是Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数时攻击者可控的,并且参数带入数据库查询,攻击者可以通关构造不同的SQL语句来实现对数据库的任意操作。 参数用户可控 :前端传入后端的参数内容是用户可以控制的。 参数

    2024年02月11日
    浏览(21)
  • SQL注入进阶:掌握联合查询注入和报错注入攻击技巧

    数据来源         本文仅用于信息安全的学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 介绍         联合查询注入是SQL注入的一种,通过在原有的SQL语句中添加UNION(联合)操作,将恶意构造的

    2024年02月06日
    浏览(43)
  • SQL中的UNION和UNION ALL的区别及用法详解、“提高SQL查询效率:UNION和UNION ALL的比较、使用实例详解SQL中的UNION和UNION ALL操作符

    UNION 和 UNION ALL 都是 SQL 中用于将多个 SELECT 语句的结果合并成一个结果集的操作符。它们都适用于需要将多个表或查询结果合并在一起的情况。但是它们的行为略有不同。 UNION 和 UNION ALL 的区别在于, UNION 会将结果集合并成一个不含重复行的结果集,而 UNION ALL 则会保留所有

    2024年02月03日
    浏览(47)
  • BUUCTF-sql注入联合查询的创建虚拟表-词频-steghide的使用

    第七周第三次 目录 WEB [GXYCTF2019]BabySQli [GXYCTF2019]BabyUpload Crypto 世上无难事 old-fashion ​Misc 面具下的flag 九连环 这是一道很新的题目 我们打开环境 发现登入注册界面 先看看源码有没有提示 发现有一个 php文件 进入看看 发现加密 先base32 再64  发现就是很简单的字符型注入 开始

    2023年04月13日
    浏览(41)
  • 五、多表查询-3.4连接查询-联合查询union

    1、查询薪资低于5000的员工  2、查询年龄大于50岁的员工  3、将薪资低于5000的员工,和 年龄大于50岁的 员工全部查询出来(把上面两部分的结果集直接合并起来)  4、 去重 ,“鹿杖客”既薪资低于5000,年龄也大于50岁,所以有两条数据 union all 改为 union,即可去重    5、

    2024年02月11日
    浏览(43)
  • DVWA中SQL注入时union出错,union排序混乱(Illegal mix of collations for operation UNION)

    目录 union排序错误 解决方式 问题:当你sql注入查询数据库表时,跳转到某个页面显示Illegal mix of collations for operation UNION 原因:说明你的union字符规则不一致导致的 小皮里安装phpMyAdmin4.8.5(Mysql管理工具) 找到数据库里的dvwa里的数据表名users,在结构里找到first_name和last_nam

    2024年02月05日
    浏览(48)
  • 【postgresql 基础入门】多表联合查询 join与union 并,交,差等集合操作,两者的区别之处

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 ​ 开源贡献 : toadb开源库 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 入门准备 postgrersql基础架构 快速使用 初始化集群 数据库服务管理 psql客户

    2024年02月08日
    浏览(32)
  • C语言联合体(Union)在实战中的使用技巧

    联合体(Union)是一种特殊的数据结构,允许在同一内存位置存储不同的数据类型。联合体在实战中可以用于一些特定的场景,具有一些使用技巧,以下是一些常见的实战中使用技巧: 1.节省内存空间: 联合体中的所有成员共享同一块内存空间。如果你有一组相关的数据,但

    2024年01月25日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包