sql注入中-- -和--+和#的区别怎么用
时间: 2023-10-07 07:06:03 浏览: 171
在SQL注入中,"--"和"#"都是注释符号,用于在SQL语句中注释掉后面的内容,从而达到绕过SQL语句限制的目的。而"-"和"+"是用于连接字符串的运算符。
在使用"--"注释符号时,需要紧跟着注释符号写一个空格,这样才能生效。例如:
```
SELECT * FROM users WHERE username = 'admin' -- ' AND password = '123456';
```
这个SQL语句在注释掉"AND password = '123456'"后,将直接返回所有用户信息,因为--后面的内容被注释掉了。
而在使用"#"注释符号时,则不需要加上空格。例如:
```
SELECT * FROM users WHERE username = 'admin' # ' AND password = '123456';
```
这个SQL语句也会将"AND password = '123456'"注释掉,从而返回所有用户信息。
而当使用"-- -"或"-- +"时,它们会被当做减号或加号运算符来处理。例如:
```
SELECT * FROM users WHERE username = 'admin' -- -' AND password = '123456';
```
这个SQL语句会被当做"SELECT * FROM users WHERE username = 'admin'"和"- ' AND password = '123456'"两个语句来处理,因此不会注释掉后面的内容。
因此,在SQL注入中,"--"和"#"是注释符号,而"-- -"和"-- +"则是运算符,需要根据具体情况进行使用。
阅读全文