之前已经简单介绍了sql注入的基本原理,接下来会按照sql注入的各种类型一一进行梳理,sql注入的常见主要分为回显注入、报错注入、bool盲注、延时注入、堆叠注入、二次注入、宽字节注入、http头注入、DNS LOAD注入。
1.布尔盲注
我们知道页面有回显可以确定回显位时可以进行回显注入,而没有回显的话,有sql报错页面可以使用报错注入,而一般设计完善的网站是会将sql报错的内容给屏蔽掉的。但是我们能判断页面是报错了,就算页面没有报错内容我们同样是有办法的,这时候我们可以使用盲注的方式来进行注入。
比如我们看这个sqli-labs的第八关,我们测试注入点和闭合
添加一个单引号后发现页面没有回显内容,但是也没有报错内容,说明页面出错但是又不显示报错的内容,这个时候我们就要使用布尔盲注来进行注入。
与之前一样我们首先判断注入类型,由于id值的变化并不会影响页面内容的变化,所以我们是用and 1=1和and1=2来判断注入类型和闭合
id=1 and 1=2 页面依旧正常,所以说and 1=2并没有溢出执行,所以判断id是字符型