1、攻击原理
漏洞成因可以归结为以下两个原因叠加造成的:1)程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句;2)未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。
2、危害影响
1、攻击者可能利用SQL注入漏洞篡改网页数据,窃取用户数据,植入WebShell,甚至可能获取业务系统服务器账号权限等。
3、防御方法
1.使用参数检查的方式,拦截带有SQL语法的参数传入应用程序
2.使用预编译的处理方式处理拼接了用户参数的SQL语句(推荐!)
3.在参数即将进入数据库执行之前,对SQL语句的语义进行完整性检查,确认语义没有发生变化
4.在出现SQL注入漏洞时,要在出现问题的参数拼接进SQL语句前进行过滤或者校验,不要依赖程序最开始处防护代码