SQL注入漏洞防护看这一篇就够了,不够你打我!
一、什么是SQL注入漏洞
将用于输入的查询参数,直接拼接在 SQL 语句中,导致了SQL 注入漏洞。SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:
①不当的类型处理;
②不安全的数据库配置;
③不合理的查询集处理;
④不当的错误处理;
⑤转义字符处理不合适;
⑥多个提交处理不当。
二、SQL注入漏洞的危害
● 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露
● 网页篡改:通过操作数据库对特定网页进行篡改
●网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击
●数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改
●服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统
●破坏硬盘数据,瘫痪全系统
一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。