Web 應用未驗證/過濾使用者輸入,直接拼接 SQL 字串。攻擊者在 URL/表單注入惡意 SQL 片段,竊取/竄改/刪除資料,甚至提權至系統管理員(xp_cmdshell)、掛馬感染訪客。防禦必須多層次、纏深。
在需防護頁面引入通用過濾庫(過濾單引號、註釋符、關鍵字等)。局限: 自動化注入分析工具 (SQLMap, Pangolin, Havij) 可繞過靜態規則,自動識別注入點並提取資料。
實測發現:主流自動化工具不針對特定帳號名 (如 admin),而是鎖定權限欄位(如 flag=1、is_admin=1、role=admin)。無論管理員帳號如何改名,只要權限標記存在,即會被鎖定。
varchar(50) 改為 text / ntext / varchar(max)(支援超大長度);密碼欄位同理。ID=549 或更大間隔,權限相同但密碼正常長度。<input maxlength="32"> 或後端驗證 len(pwd) <= 32。誘餌帳號密碼超長將被前端攔截,真帳號正常通過。PreparedStatement, sp_executesql, ORM 參數綁定)。sysadmin、db_owner、xp_cmdshell。「誘餌帳號 + 巨型密碼 + 前端限制」是針對自動化掃描器的低成本戰術延遲手段,不能替代參數化查詢等根本修復。將兩者結合,並納入 SDLC 安全開發生命週期,才能真正封殺 SQL 注入威脅。