释义:
#和- - 表示注释,url中的#号是用来对用。服务器端无指导浏览器动作的
所以http请求中不包括#,因此使用#无法表示注入。 - -(空格)在传输过程中空格会被忽略,导致无法注释。
可以使用–+的方式+会被解释成空格,也可以–%20或者#可以写成%23
使用#
号
- 有时发现执行的sql语句中没有
#
号 - 原因是url中
#
号是用来指导浏览器动作的(例如锚点),对服务器端完全无用。
所以,HTTP请求中不包括#
- 将#号改成url的编码%23就可以了
使用--
和使用--+
-
这里发现+号在语句中变成了空格。
用来和后面的单引号分隔开,将后面的语句注释。 -
了解原理后便知道了
--
无法使用的原因,是因为--
与后面的单引号连接在一起,无法形成有效的mysql语句。 -
在mysql中使用这个语句分析原因,输入后回车显示分号没有闭合
-
所以在注入时我们除了使用
--+
外,也可以使用--'
来完成sql注入语句