2009-11-30 68 views
9

有什麼方法可以通過SQL注入來確認特定的安全違規行爲?如何確認SQL注入

+0

你確定它發生了,或者只是可疑? – kurast 2009-11-30 18:19:08

+0

實際上,只有在數據庫中的細節正在......所以我首先想到的是數據庫可能已被黑客入侵。 – Sachindra 2009-12-05 05:19:02

+0

你有沒有試過我建議的? – kurast 2009-12-09 13:30:54

回答

1

發作後已經發生了嗎?沒有。沒有。 你必須檢查你的所有sql serevr訪問點的潛在風險。 tere是你可以使用的一些工具。在SQL注入工具部分下檢查here

0

只有一種可靠的方法可能是分析SQL日誌文件。這些應該由DBA完成,他們可以快速發現事情,因爲日誌的大小會很大。


最好防止這些。

對此有一些tools,但最好的是開發人員的大腦。

堅持一條簡單規則 - 生成SQL查詢時始終使用參數
只需執行代碼審查,並且如果您發現字符串混淆問題 - 這是SQL注入的第一個和高度可能的位置。

+0

該請求使用過去式,我懷疑它已經發生。 – lorenzog 2009-11-30 11:51:17

+0

是的。你是對的。我已經更新了答案。 – 2009-11-30 11:59:44

-2

您可以記錄所有http請求並檢查GET/POST sql注入試用請求的頁面。

7

有沒有簡單的方法在這裏,但如果你有啓用SQL服務器你用來記錄每一個sql語句,這是我會做的。

正常情況下,當我SQL注入某處時,我使用其中的一個作爲我總是正確的語句來傳遞Threath Where子句,結束前一個字符串。

1=1 
0=0 

都被用作:

blahblahblah' or 1=1 -- 

你不會在日常的代碼中使用此條款。所以如果你在你的歷史中發現其中的一個,那麼它是一個很好的候選人。測試SQL歷史發現:

(space)(number)(optional spaces)(equal)(optional spaces)(same number)(space) 

請記住,是啓發式,而並不總是可行的,但可能是的唯一辦法給出一個暗示這件事已經發生後。另外,如果你對SQL注入有疑問,你應該檢查字符串連接和使用參數的代碼。

1

使用mod_security記錄POST請求並安裝入侵檢測系統以從現在開始記錄/停止可疑活動。記錄每個SQL請求是一種開銷,如果您只是在尋找違規點。

這些天有IDS的開源替代品。我爲我的所有PHP應用程序使用PHPIDS