什么是sql注入?如何防止sql注入?

sql注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作

造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码

防止策略 
1.严格限制Web应用的数据库的操作权限,给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害 
2检查输入的数据是否具有所期望的数据格式,严格限制变量的类型 
3.对进入数据库的特殊字符(’” \ 尖括号 & * ;等符号)进行转义处理,或编码转换。

在应用发布之前建议使用专业的SQL注入检测工具进行检测,以及时修补被发现的SQL注入漏洞。网上有很多这方面的开源工具,例如sqlmap、SQLninja等。

你可能感兴趣的:(数据库,数据库,java,mysql,sql,python)