SQL注入是一种将SQL代码茶u日或添加到用户输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行。
sql注入不止会影响web应用,还能影响例如“胖客户端”程序。不止能影响服务器端数据库,也能访问客户端数据库以窃取数据。
数据库驱动的Web应用通常包含三层:表示层(浏览器),逻辑层(PHP 等编程语言),存储层(MySQL等数据库)。
表示层向逻辑层发送请求,逻辑层通过查询,更新存储层响应请求。
SQL注入产生过程
- 转义字符处理不当
SQL数据库将单引号解析成代码与数据的分界线 单引号不是唯一的转义字符,mysql中转义字符