一、什么是SQL注入?
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,
攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,
在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,
从而进一步得到相应的数据信息。
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,
最终达到欺骗服务器执行恶意的SQL命令
SQL注入攻击的总体思路
1.寻找到SQL注入的位置
2.判断服务器类型和后台数据库类型
3.针对不通的服务器和数据库特点进行SQL注入攻击
二、SQL注入的危害
数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
网页篡改:通过操作数据库对特定网页进行篡改。
网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
破坏硬盘数据,瘫痪全系统。
SQL注入防护的方法?
字符串过滤
采用sql语句预编译和绑定变量,是防御sql注入的最佳方法。
三、SQL注入的原理?
任何和数据库交互的地方都有可能存在SQL注入
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序