Home > Backend Development > PHP Tutorial > 关于php sql注入原理

关于php sql注入原理

WBOY
Release: 2016-06-23 14:28:04
Original
1029 people have browsed it

网上看,比如一个URL  www.xx.com/news.php?id=3   这样一个链接,在后面加上一个 ' 符号就报错了,或者是 and 1=1 然后 and 1=2 如果两个返回值不一样就可以判断有注入点,

那比如 www.xx.com/news.php?id=3  这个地方,我的sql是这样的  select * from news where id='3' 在地址栏加一个 ' 符号以后为什么会出错了,and 1=1 和and 1=2 为什么就可以判断有注入点呢,


回复讨论(解决方案)

加上'就报错,不知道提示什么错误,如果加上',传值就当做字符处理,但是如果你开启agic_quotes_gpc为on
引号就被转义,至于and 1 = 1,比如有
SELECT * FROM tbl_users 
WHERE username='zhang3' OR 1=1 #' AND password = 'abc123' LIMIT 0,1
由于 # 是 mysql中的注释符, #之后的语句不被执行,实现上这行语句就成了:
SELECT * FROM tbl_users 
WHERE username='zhang3' OR 1=1
这样攻击者就可以绕过认证了

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template