什么是 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 = '"