1. 概述
1.1 版本
FineDataLink 版本 |
---|
4.0.28 |
1.2 應用場景
SQL 注入是比較常見的網路攻擊方式之一,它針對程式員編程時的疏忽,透過惡意的參數輸入,讓後台執行這段 SQL,達到獲取資料或者破壞資料庫的目的。
防範 SQL 注入,成為保護系統安全的重中之重。
1.3 功能簡介
SQL 防注入功能,針對資料服務 SQL 發出的參數請求進行攔截。可實現:
禁用特殊關鍵字防止 SQL 注入。
透過字元轉義防止 SQL 注入。
2. 特殊關鍵字
2.1 開啟特殊關鍵字
以管理者身分進入 FineDataLink,點選「管理系統>安全管理>SQL防注入」,如下圖所示:
注:當 SQL 參數中存在已禁用的字元時,則在日誌中丟擲錯誤資訊。
2.2 新增特殊關鍵字
1)點選「禁用特殊關鍵字」按鈕右下方的「編輯」按鈕,可以新增特殊關鍵字或刪除自訂的特殊關鍵字。如下圖所示:
2)點選「新增特殊關鍵字」,可自訂新增關鍵字,如下圖所示:
注:可刪除自訂的特殊關鍵字。
範例正則運算式說明:\b(?i)select\b,(?i)表示不區分select大小寫,\b表示邊框,詳細請查看 正則運算式元字元
3)可在右側搜尋框進行全局搜尋,可搜尋到已選擇和未選擇的特殊關鍵字,如下圖所示:
2.3 特殊關鍵字禁用效果查看
在資料服務中設定參數,並輸入參數值 select( SQL 參數中存在已禁用字元 select ),點選查詢。
則日誌丟擲錯誤資訊:Request parameter error - Invalid parameters.如下圖所示:
3. 字元
3.1 開啟分離字元
以管理者身分進入 FineDataLink,點選「管理系統>安全管理>SQL防注入」,開啟「分離字元」按鈕。
當 SQL 參數中存在需要轉義的字元時,這些字元會被轉為空,如下圖所示:
3.2 新增字元
新增字元設定和新增特殊關鍵字設定操作步驟相同,具體步驟可參考本文 2.2 章節。