網站漏洞修復SQL隱碼攻擊防護辦法

網站安全發表於2021-02-04

能否理解並利用SQL首注是區分一般攻擊者和專業攻擊者的一個標準。面對嚴密禁用詳細錯誤訊息的防禦,大多數新手會轉向下一目標。但攻破SQL盲注漏洞並非絕無可能,我們可藉助很多技術。它們允許攻擊者利用時間、響應和非主流通道(比如DNS)來提取資料。以SQL查詢方式提問一個返回TRUE或FALSE的簡單問題並重復進行上千次,資料庫王國的大門便通常不容易發現SQL盲注漏洞的原因是它們隱藏在暗處。一旦發現漏洞後,我們就會有們能支援多種多樣的資料庫。大量的漏洞可用。要明確什麼時候應選擇基於響應而非時間的利用和什麼時候使用重量級的非主流通道工具,這些細節可節省不少時間。考慮清楚大多數SQL盲注漏洞的自動化程度後,不管是新手還是專家,都會有大量的工具可用。它們中有些是圖形化介面,有些是命令列,它有了SQL隱碼攻擊和SQL盲注的基礎知識之後,現在轉向進一步利用漏洞:識別並利用一個不錯的注入點之後,如何快速發現注入並修復漏洞。

網站漏洞修復SQL隱碼攻擊防護辦法

快速解決防SQL隱碼攻擊方案

1.尋找並確認SQL盲注

.無效資料將返回通用錯誤頁面而非詳細錯誤,這時可透過包含副作用(比如時間延遲)來確認SQL隱碼攻擊,還可以拆分與平衡引數。如果數字欄位為5,就提交3+2或6-1;如果字串引數中包含“MadBod”,就提交'Mad'l'Bod'。現該目標。.請思考漏洞的屬性:能否強制產生錯誤以及能否控制無錯誤頁面的內容?·可透過在SQL中提問某一位是1還是0來推斷單個資訊位,有很多推斷技術可用於實現該目標2.使用基於時間的技術SLEEPO型別函式或執行時間很長的查詢來引入延遲。.可使用逐位方法或二分搜尋方法提取資料並利用延遲裝示資料的值,可使用明確的,通常在SQLServer和Oracle上採用以時間作為推斷的方法,不過這在MySQL上不大可靠,該機制很可能會失效。.使用時間作為推斷方法在本質上是不可靠的,但卻可以透過增加超時或藉助其他技巧來進行改進。

網站漏洞修復SQL隱碼攻擊防護辦法

3.使用基於響應的技術

·可使用逐位方法或二分搜尋方法提取資料並利用響應內容表示資料的值。一般來說,現有查詢中都包含一條插入子句,它能夠根據推斷的值來保持查詢不變或返回空結果,基於響應的技術可成功用於多種多樣的資料庫。某些情況下,一個請求可返回多個資訊位。4.使用非主流通道,帶外通訊的優點是:可以以塊而非位的方式來提取資料,並且在速度上有明顯改進。最常用的通道是DNS.攻擊者說服資料庫執行一次名稱查詢,該查詢包含一個由攻擊者控制的域名並在域名前新增了一些要提取的資料。當請求到達DNS名稱伺服器後,攻擊者就可以檢視資料。其他通道還包括HTTP和SMTP。不同資料庫支援不同的非主流通道,支援非主流通道的工具的數量明顯要比支援推斷技術的少。

5.自動利用SQL盲注

Absinthe的威力在於支援資料庫對映,並且能利用基於錯誤和響應的推斷利用來對很多流行的資料庫(不管是商業的還是開源的)進行檢索。方便的GUI為攻擊者帶來了很好的體驗,但缺少特徵簽名支援限制了其效能。BSQLHacker是另一款圖形化工具,它使用基於時間及響應的推斷技術和標準錯誤來從所提問的資料庫中提取資料。雖然它仍處於測試階段,不是很穩定,但該工具前景很好且提供了很多欺詐機會。SQLBrute是一款命令列工具,它針對希望使用基於時間或響應的推斷來利用某個固定漏洞的使用者。Sqlmap將漏洞的發現和利用結合在一款強大的工具中,它既支援基於時間的推斷方法,也支援基於響應的推斷方法,另外還支援ICMP通道方法。該工具的成長速度很快,開發也很活躍。如果想要對網站進行全面的SQL隱碼攻擊防護和檢測的話可以像國內的網站安全公司尋求服務,國內像SINESAFE,鷹盾安全,綠盟,啟明星辰,等等。

網站漏洞修復SQL隱碼攻擊防護辦法

Sqlninja有很多特性,它支援使用基於DNS的非主流通道來執行遠端命令。首先上傳一個自定義的二進位制封裝器(wrapper),然後透過上傳的封裝器來執行命令。封裝器捕獲所有來自命令的輸出並初始化一個DNS請求序列,請求中包含了編碼後的輸出。


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

相關文章