WEB安全之SQL注入

SQL注入漏洞


SQL注入攻击是由于SQL语句的调用方案不完善而产生的安全隐患。一旦应用在存在SQL注入漏洞,就可能产生一下影响:
- 数据库的内容被外界窃取
- 数据库内容被篡改
- 登陆认证被绕过
- 其他,例如服务器上的文件被读取或修改、服务器上的程序被执
产生SQL注入漏洞的根本原因是:被指定为参数的字符串部分被排除出字面量,导致SQL语句发生变化。


防范对策
使用占位符拼接SQL语句。
占位符依据实现方法分为静态占位符和动态占位符。理论上,静态占位符能够完全小吃SQL注入漏洞的可能性,尽量采用静态占位符。


Java+MySQL的安全连接方式
java连接数据库MySQL时使用JDBC驱动的MySQLConnector/J。这一组合默认使用的是动态占位符,因此修改如下代码给位使用静态占位符。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/dbname?user=xxx&password=xxx&userServerPrepStmts=true&useUnicode=true&characterEncoding=utf-8")

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。