Pangolin是一款幫助滲透測試人員進(jìn)行Sql注入測試的安全工具。
所謂的SQL注入測試就是通過利用目標(biāo)網(wǎng)站的某個頁面缺少對用戶傳遞參數(shù)控制或者控制的不夠好的情況下出現(xiàn)的漏洞,從而達(dá)到獲取、修改、刪除數(shù)據(jù),甚至控制數(shù)據(jù)庫服務(wù)器、Web服務(wù)器的目的的測試方法。Pangolin能夠通過一系列非常簡單的操作,達(dá)到最大化的攻擊測試效果。它從檢測注入開始到最后控制目標(biāo)系統(tǒng)都給出了測試步驟。
如下是一些示例:
滲透測試人員用于發(fā)現(xiàn)目標(biāo)存在的漏洞并評估漏洞可能產(chǎn)生后果的嚴(yán)重程度
網(wǎng)站管理員可以用于對自己開發(fā)的代碼進(jìn)行安全檢測從而進(jìn)行修補
安全技術(shù)研究人員能夠通過Pangolin來更多更深入的理解SQL注入的技術(shù)細(xì)節(jié)
過去有許多Sql注入工具,不過有些功能不完全,支持的數(shù)據(jù)庫不夠多,或者是速度比較慢。但是,在Pangolin發(fā)布以后,這些問題都得到了解決。Pangolin也許是目前已有的注入工具中最好的之一。
穿山甲使用教程:
URL輸入框
在這里輸入待測試目標(biāo)的URL地址,注意,該URL地址必須是攜帶參數(shù)的格式,例如 http://www.site.com/news.asp?id=100 這樣的格式。
注入方式選擇框
如果服務(wù)器端代碼處理GET和POST參數(shù)的操作是一致的話(JSP編程中經(jīng)常可以見到),那么通過GET和POST傳遞參數(shù)的效果是一樣的。這時使用POST試可以避免服務(wù)端日志的產(chǎn)生。
如果待測參數(shù)是通過表單傳遞,那么您需要進(jìn)行地址拼接。假設(shè)參數(shù)傳遞的目標(biāo)地址為http://www.site.com/login.asp,參數(shù)分別為username和password,那么測試時,您需要在URL輸入框中輸入http://www.site.com/login.asp?username=aa&password=bb這樣的格式,并且將注入方式設(shè)置成POST。
數(shù)據(jù)庫類型選擇框
順便提及一點:SQL注入是跟數(shù)據(jù)庫強(qiáng)相關(guān)的,而不是頁面的代碼語言,這一點許多文章都誤導(dǎo)了讀者。我們看到什么asp注入,php注入,jsp注入之類的概念都是不正確的。而應(yīng)當(dāng)說是MSSQL注入,Mysql注入或者Oracle注入等等。
在這個選擇框中指明了目標(biāo)Web連接的數(shù)據(jù)庫類型。在掃描到注入點以后,該選擇框?qū)⒆詣舆x擇對應(yīng)的數(shù)據(jù)庫類型。
在注入前,如果我們已知了目標(biāo)的數(shù)據(jù)庫類型,那么我們可以先從該下拉框中選擇合適的值,這樣能夠縮短注入掃描的時間。
關(guān)鍵字輸入框
什么叫關(guān)鍵字呢?在自動化工具的測試過程中,如果目標(biāo)針對不同的注入語句進(jìn)行了錯誤提示的話那么程序能夠知道這是一個典型的錯誤,然后就能夠提取信息。但是如果頁面返回的結(jié)果中并沒有帶有明確的錯誤提示信息的話,那么程序?qū)o法判斷哪一種情況下是正常頁面哪一種情況下是錯誤頁面。因為,測試人員需要手動的告之程序一個正常的頁面或者錯誤的頁面有什么特殊字符串能夠標(biāo)明,這時候您就需要在這里輸入這個字符串了。
在其他的一些注入工具中,如果測試人員沒有輸入關(guān)鍵字的話是無法進(jìn)行測試的,但是在Pangolin中我獨創(chuàng)了自動分析關(guān)鍵字的功能,它能夠讓你在不干預(yù)的情況下自動的分析關(guān)鍵字從而更掃描出漏洞。