这是第一篇,讲的东西可能比较基础,下一篇就直接说方法了。
我们先来加一个单引号看一看效果,为了方便看出结果,我把查询语句打印出来了
结合上下我们可以发现多了个单引号,我们怎么才可以把多余的单引号去掉呢?
在我所知里,有一下几种方法:
一、使用注释的方法:
在mysql数据库中,注释一般有单行注释和多行注释,而多行注释在实际中,基本上无法利用,所以只剩下了#和--,在实际操作中#号一般用%23来表示。而--则用--+来表示,主要是由于他的格式,前后要有空格,所以我们就用加号来表示空格。下面来截两张图。
二:利用那个单引号:
SELECT * FROM users WHERE id=‘1‘‘ LIMIT 0,1 现在查询语句是这样的,当我们在加入的单引号后面无论输入什么,它都会加上一个单引号,我们可以构造一个逻辑,让它那个单引号被我们所利用。下面来演示一下
语句:‘ union select ‘test‘,‘test‘,‘test‘ from users where ‘1‘ = ‘1 我构造一个where判断,后面我少加了一个引号,而它自动加的那个引号,刚好可结束掉前面的单引号
第一关解决这个问题之后可以正常注入,说实话,说的有一点啰嗦,但是没有基础的小伙伴们还是可以看一看的。
最后贴一张爆表名的截图