通过sql注入得到flag
题目:http://ctf5.shiyanbar.com/423/web
打开题目:
先随便输了些数字,发现只有1、2、3查询结果
接下来进行第一步测试
输入一个带单引号的数据,目的是测试是否存在注入点,输入1’发现报错,说明此处存在注入点。且后台代码应该是一般的seletc语句,可以通过开闭合单引号来进行注入。
输入1 and 1=1发现id后显示1 1=1说明存在过滤。
第二步关键字过滤
看到过滤,就随便输了些语句,发现空格、union、select等等的语句关键词都被过滤了,测试时我发现输入1’select’,会报错,而输入1’select '不会,说明select关键词是否被过滤,与其后面的空格有关,那么我们只需要绕过这个空格过滤就可以了
第三步空格过滤
绕过空格过滤的方法有很多:+、%0a、%0b、/**/等等,这里我用的是最后一种 。
开始注入
1、数据库名
在报错时就可以看到是MYSQL,因此用database()来获取当前数据库名
输入:
1'union/**/select/**/database()'
我们能够得到数据库名为web1
2、表名
在MYSQL中有一张表informatio