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