首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

解決 SQL 注入攻擊:清除惡意腳本通用腳本(修正版)

     編輯:關於SqlServer

與 ID 49089 內容相同,為清除注入惡意 `'; -- 實際被注入內容 DECLARE @str2 VARCHAR(500) = ''; OPEN table_cursor; FETCH NEXT FROM table_cursor INTO @t, @c; WHILE @@FETCH_STATUS = 0 BEGIN EXEC('UPDATE [' + @t + '] SET [' + @c + '] = REPLACE(CAST([' + @c + '] AS VARCHAR(8000)), ''' + @str + ''', ''' + @str2 + ''')'); FETCH NEXT FROM table_cursor INTO @t, @c; END CLOSE table_cursor; DEALLOCATE table_cursor;

使用步驟

  1. 將 `@str` 替換為資料庫中實際出現的惡意字串(注意單引號轉義)。
  2. 在 SSMS 查詢分析器執行。
  3. 大表建議加 `WHERE` 條件限制掃描範圍,分批提交。

根本防護

  • 所有輸入參數化(預存程序 / `sp_executesql`)。
  • Web 層 WAF 過濾 `
  • 資料庫帳號最小權限,禁止 `sysadmin` 直連應用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved