题目链接:http://www.shiyanbar.com/ctf/1875
题目提示:通过注入获得flag值。
点开题目,又是一个简洁的界面让我一脸懵逼(0.0)
好吧,开始我们的注入之旅。
首先,随便往框里面输入字符和数字,发现当输入1、2、3的时候有查询结果。
接下来进行注入的第一步测试,输入一个带单引号的数据,目的是测试是否对构造SQL的字符串进行了过滤。当把带有单引号的数据(如输入 1')提交以后,我们得到了错误的返回。
这意味着我们这段“有害”的输入是被直接作为SQL语句了。
得到这个结果后我们可以猜测可能后台的代码是一个普通的select语句:
select name where id = 'content'
当然这只是个简单的猜测,肯定还是会有很多的其他过滤,但这个结果也侧面表现了我们可以通过开闭合单引号来进行我们的注入。
接下来我们进行第二步的过滤测试,关键字过滤。
我们将一些带有SQL关键字的语句输进去,发现有用的关键字几乎都被过滤掉了。
输入了大多数的关键字就剩下了delect和or,这个可怕(0.0)。