如何做好防護SQL隱碼攻擊漏洞

199cloud發表於2020-06-01

如何做好防護SQL隱碼攻擊漏洞【199cloud-艾娜】

1. SQL隱碼攻擊原理

漏洞形成原因:使用者輸入的資料被SQL直譯器執行。

2. 常見的SQL隱碼攻擊型別分類

數字型 & 字元型,不管注入型別如何,攻擊者的目的只有一點,那就是繞過程式限制,使使用者輸入的資料帶入資料庫執行,利用資料庫的特殊性獲取更多的資訊或者更大的許可權。

舉個例子:
(1)在頁面URL後面輸入: user_id=1' and 1=1 order by 4 #
(2)載入頁面,將url的引數傳入後臺,後臺執行SQL語句為: SELECT first_name, last_name FROM users WHERE user_id = '1' and 1=1 order by 4 #'
(3)根據SQL語法可知, #號將後續的引號註釋了。 order by是用來查詢列數的,當欄位數超過資料庫的欄位數,資料庫就會返回錯誤資訊,因此,可以利用 order by來猜測資料庫的欄位數。因此,如果熟悉SQL語句,就可以進一步寫入更多的語句,查詢資料庫,導致隱私資料洩漏。

常見利用資料庫注入目的:
(1)查詢資料
(2)讀寫檔案
(3)執行命令


【 防止SQL隱碼攻擊】

資料庫並沒有什麼好的辦法直接過濾SQL隱碼攻擊。只負責執行SQL語句,根據SQL語句來返回相關資料。
因此:防禦SQL隱碼攻擊,還是得從程式碼入手。
根據SQL隱碼攻擊的分類,防禦主要分為兩種: 資料型別判斷特殊字元轉義


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975301/viewspace-2695391/,如需轉載,請註明出處,否則將追究法律責任。

相關文章