nikto—高級錯誤檢測邏輯
大多數網絡安全工具包括Nikto 1.32及更低版本都很大程度上依賴HTTP響應來確定目標系統上是否存在頁面或腳本。由于許多服務器未正確遵守RFC標準,并且對于未發現或禁止的請求返回200個“ OK”響應,因此可能導致許多誤報。此外,對各種文件擴展名的錯誤響應可能有所不同(.html文件的“not found”響應通常與.cgi不同)。
一些測試工具(例如Nessus)也會查看響應的內容,以幫助消除這些誤報。盡管這種方法通常很有效,但它依賴于預定義的字符串來幫助消除誤報。
從2.0版開始,Nikto不再假定不同文件類型的錯誤頁面是相同的。在運行時(從測試數據庫)生成唯一文件擴展名的列表,并對每個擴展名針對目標進行測試。對于每種文件類型,找到確定錯誤的“最佳方法”:標準RFC響應、內容匹配或 MD4(按優先級從高到低的順序)。這使Nikto可以針對每種單獨的文件類型使用最快、最準確的方法,從而有助于消除在1.32版及以下版本中某些服務器上看到的誤報。
例如,如果服務器對不存在的.txt文件響應404“Not Found”錯誤,則Nikto將在測試中匹配HTTP響應“ 404”。如果服務器以200“ OK”進行響應,它將嘗試在內容上進行匹配,并假定找到了匹配項(例如,單詞“could not be found”),它將使用此方法確定缺少的.txt文件。如果其他方法失敗,Nikto將嘗試從返回的頁面內容中刪除日期和時間字符串(可以不斷更改),生成內容的MD5哈希值,然后將該哈希值與將來的.txt測試進行匹配。后者是迄今為止最慢的匹配類型,但是在許多情況下,它將為特定文件類型提供有效的結果。
通過對各種文件類型的不存在的頁面發出若干請求來執行此功能。在掃描的生存期內,這可能總共向遠程服務器發出一千個請求。如果連接速度較慢,則可能不希望這樣做,可以使用該-no404選項將其禁用 。
Nikto中文使用教程
推薦文章: