mysql中/**/and干扰写法
时间: 2023-10-21 21:33:31 浏览: 124
在MySQL中,/**/是注释符号,可以用于注释掉一段代码或者SQL语句中的一部分。在SQL注入中,攻击者可以利用/**/来干扰SQL语句的执行,从而实现恶意注入。具体的写法如下:
1. 利用/**/注释掉and后面的条件
例如,原始SQL语句为:
SELECT * FROM users WHERE username='admin' AND password='123456';
攻击者可以将其改写为:
SELECT * FROM users WHERE username='admin'/**/AND/**/password='123456';
这样,当MySQL解析SQL语句时,会将and后面的条件注释掉,从而使查询结果不受password条件的限制。
2. 利用/**/注释掉整个where条件
攻击者可以将整个where条件注释掉,从而使查询结果返回所有记录。例如:
SELECT * FROM users WHERE username='admin' AND password='123456';
可以改写为:
SELECT * FROM users/**/WHERE/**/1=1;
这样,由于1=1永远为真,所以查询结果会返回所有用户记录。
总之,为了防范SQL注入攻击,开发者应该始终保持警惕,避免在SQL语句中使用动态拼接参数,同时对用户输入进行严格的校验和过滤。
阅读全文