本文已發表在專家專欄:[url]http://netsecurity.51cto.com/art/200712/62159.htm[/url]
【51CTO.com 獨家特稿】隨着信息技術的發展,網絡應用愈來愈普遍,不少企業單位都依靠網站來運營,正由於業務的不斷提高和應用,導致網站的安全性顯得愈來愈重要。另外一 方面,網絡上的***也愈來愈多,並且在利益驅使下,不少***對網站發起***,並以此謀利。做爲網站的管理人員,應該在******以前發現網站的安全問題,使 網站能更好的發揮做用。那麼究竟如何檢查網站的安全隱患和漏洞呢?
下面咱們介紹一款開放源代碼的Web漏洞掃描軟件,網站管理員能夠用它對WEB站點進行安全審計,儘早發現網站中存在的安全漏洞。
Nikto是一款開放源代碼的、功能強大的WEB掃描評估軟件,能對web服務器多種安全項目進行測試的掃描軟件,能在230多種服務器上掃描出 2600多種有潛在危險的文件、CGI及其餘問題,它能夠掃描指定主機的WEB類型、主機名、特定目錄、COOKIE、特定CGI漏洞、返回主機容許的 http模式等等。它也使用LibWhiske庫,但一般比Whisker更新的更爲頻繁。Nikto是網管安全人員必備的WEB審計工具之一。
Nikto是基於PERL開發的程序,因此須要PERL環境。Nikto支持Windows(使用ActiveState Perl環境)、Mac OSX、多種Linux 或Unix系統。Nikto使用SSL須要Net::SSLeay PERL模式,則必須在Unix平臺上安裝OpenSSL。具體的能夠參考nikto的幫助文檔。
從官方網站上下載nikto-current.tar.gz文件,在Linux系統解壓操做:
tar -xvf nikto-current.tar.gz
gzip -d nikto-current.tar
解壓後的結果以下所示:
Config.txt、docs、kbase、nikto.pl、plugins、 templates
Nikto的使用說明:
Nikto掃描須要主機目標IP、主機端口。默認掃描的是80端口。掃描主機目標IP地址可使用選項-h(host)。下面將掃描IP爲192.168.0.1的TCP 80端口,以下所示:
perl nkito.pl –h 192.168.0.1
也能夠自定義掃描的端口,可使用選項-p(port),下面將掃描IP爲192.168.0.1的TCP 443端口,以下所示:
perl nikto.pl –h 192.168.0.1 –p 443
Nikto也能夠同時掃描多個端口,使用選項-p(port),能夠掃描一段範圍(好比:80-90),也能夠掃描多個端口(好比:80,88,90)。下面掃描主機的80/88/443端口,以下所示:
Perl nikto.pl –h 192.168.0.1 –p 80,88,443
若是運行Nikto的主機是經過HTTP proxy來訪問互聯網的,也可使用代理來掃描,使用選項-u(useproxy)。下面將經過HTTP proxy來掃描,以下所示:
Perl nikto.ph –h 192.168.0.1 –p 80 –u
Nikto的更新:
Nikto的升級能夠經過-update的命令來更新插件和數據庫,以下所示:
Perl nikto.ph –update
Nikto的選項說明:
-Cgidirs
掃描CGI目錄。
-config
使用指定的config文件來替代安裝在本地的config.txt文件
-dbcheck
選擇語法錯誤的掃描數據庫。
-evasion
使用LibWhisker中對IDS的躲避技術,可以使用如下幾種類型:
1.隨機URL編碼(非UTF-8方式)
2.自選擇路徑(/./)
3.虛假的請求結束
4.長的URL請求
5.參數隱藏
6.使用TAB做爲命令的分隔符
7.大小寫敏感
8.使用Windows路徑分隔符\替換/
9.會話重組
-findonly
僅用來發現HTTP和HTTPS端口,而不執行檢測規則
-Format
指定檢測報告輸出文件的格式,默認是txt文件格式(csv/txt/htm)
-host
目標主機,主機名、IP地址、主機列表文件。
-id
ID和密碼對於受權的HTTP認證。格式:id:password
-mutate
變化猜想技術
1.使用全部的root目錄測試全部文件
2.猜想密碼文件名字
3.列舉Apache的用戶名字(/~user)
4.列舉cgiwrap的用戶名字(/cgi-bin/cgiwrap/~user)
-nolookup
不執行主機名查找
-output
報告輸出指定地點
-port
掃描端口指定,默認爲80端口。
-Pause
每次操做之間的延遲時間
- Display
控制Nikto輸出的顯示
1.直接顯示信息
2.顯示的cookies信息
3.顯示全部200/OK的反應
4.顯示認證請求的URLs
5.Debug輸出
-ssl
強制在端口上使用SSL模式
-Single
執行單個對目標服務的請求操做。
-timeout
每一個請求的超時時間,默認爲10秒
-Tuning
Tuning 選項控制Nikto使用不一樣的方式來掃描目標。
0.文件上傳
1.日誌文件
2.默認的文件
3.信息泄漏
4.注射(XSS/Script/HTML)
5.遠程文件檢索(Web 目錄中)
6.拒絕服務
7.遠程文件檢索(服務器)
8.代碼執行-遠程shell
9.SQL注入
a.認證繞過
b.軟件關聯
g.屬性(不要依懶banner的信息)
x.反向鏈接選項
-useproxy
使用指定代理掃描
-update
更新插件和數據庫
例子:使用Nikto掃描目標主機10.0.0.12的phpwind論壇網站。
Perl nikto.pl –h 10.0.0.12 –o test.txt
查看test.txt文件,以下圖所示:
|
圖1 |
經過上面的掃描結果,咱們能夠發現這個Phpwind論壇網站,是在windows操做系統上,使用Apache/2.2.4版本,Php/5.2.0版本,以及系統默認的配置文件和路徑等。
綜上所述,Nikto工具能夠幫助咱們對Web的安全進行審計,及時發現網站存在的安全漏洞,對網站的安全作進一步的掃描評估。