什么是 SQL 注入?如何防范?
1. SQL 注入概述
1.1 基本定义
SQL 注入(SQL Injection)是一种通过将恶意SQL 语句插入到应用程序的输入参数中,从而欺骗服务器执行非预期SQL命令的攻击技术。攻击者可以利用此漏洞绕过认证、窃取数据甚至破坏数据库。
关键结论:SQL 注入是OWASP Top 10长期排名第一的Web安全风险,所有使用关系型数据库的应用都必须防范。
1.2 攻击原理
当应用程序使用字符串拼接方式构造SQL时:
"SELECT * FROM users WHERE username = '" + userInput + "' AND password = '"