SQL注入——union获取数据库信息

数据库知识点补充

1.union联合查询:可以通过联合查询来获取指定的数据

用法举例: 

select username,password from user where id = 1 union select 字段一,字段二 from 表名

注意:联合查询的字段数需要和主查询一致,否则会报错

 如上图所示,结果主查询给出了用户kobe的id和email,联合查询给出了id=1的用户的username和pw。

2.order by x:对查询的结果进行升序排序,按照第x列进行排列,默认数字0-9,字母a-z

用法举例:

select id,email from user order by 3

对查询到的id和email按照user表中第三列进行排序,若指定的列不存在,数据库会报错。

通过报错判断查询结果的列数,从而确定主查询的字段数

3.数据库信息查询:

select version();//查询数据库的版本

select database();//查询当前使用的数据库

select user();//查询当前登录的用户

 

利用union获取网站的数据库信息--以pikachu为例

首先要判断主查询有几个字段,这里要用到order by

 

 对输入a构造闭合,后面接上order by 5,表示按照第五列进行排序查询,结果确显示第五列不存在,然后改变数字5,依次输入4,3,2,发现输入2时没有异常,只是显示用户名不存在,说明主查询有两个字段。

 知道主查询有两个字段后,然后就要用到union联合查询数据库信息

在输入框输入 a' union select version(),user(),这样就可以联合查询出数据库信息

 注:这里union的第二个字段输入了4(输入其他数字都可以)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值