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