掃描工具—Nikto
1. Nikto
Nikto 是由Perl語言開發的開源代碼、功能強大的WEB掃描評估軟件,能對web服務器多種安全項目進行測試的掃描軟件。
它支持兩種掃描模式,代理截斷模式和主動掃描模式。
2. 手動掃描與自動掃描
手動掃描:用戶手動去點擊頁面,發現頁面存在的問題,但可能會存在遺漏。
自動掃描:基於字典的掃描,可以提高掃描的速度,但存在誤報和觸發警告,容易被管理員發現。
3. Nikto主要掃描的內容
1、軟件版本
2、搜索存在安全隱患的文件【如:某些web維護人員備份完後,遺留的壓縮包,若被下載下來,則獲得網站源碼】
3、服務器配置漏洞【組件可能存在默認配置】
4、WEB Application層面的安全隱患【XSS,SQL注入等】
5、避免404誤判
很多服務器不遵守RFC標準,對於不存在的對象返回200響應碼
依據響應文件內容判斷,不同擴展名【jsp、cji】的文件404響應內容不同
去除時間信息後的內容取MD5值
4. Nikto命令詳解
nikto -update #更新數據庫
nikto -list-plugins #查看插件列表
nikto -host http://192.168.1.109/dvwa/ #指定網站目錄掃描
nikto -host 192.168.1.1.109 -port 80,443 #可指定多個端口【也可加-output:輸出結果】,默認80端口
nikto -host host.txt #掃描指定列表的內容,多條記錄
nmap -p80 192.168.1.0/24 -oG - | nikto -host - #結合nmap,對一個網段內開放了80端口的主機進行掃描
nikto -host https://www.baidu.com -useproxy http://localhost:8087 #使用代理,防止IP被封
nikto -vhost 【+域名】 #虛擬IP,區分網站【使用條件:一個ip對應多個網站,拿域名進行區分網站】
5. Nikto交互性參數【用於掃描過程中】
空格:報告當前狀態
v:正在掃描的詳細信息(路徑,結果等) #再按v就停止
d:極其詳細的信息,包括傳輸內容
e:錯誤信息
p:顯示進度
r:重定向
c:cookie
a:身份認證
q:退出
N:下一個主機(用於多個IP)
P:暫停
6. Nikto配置文件
大部分需要登錄進網站,才能進行掃描。
-id+ #使用http身份認證【但現在很少,現在基本上都是基於表單的一個身份認證】
我們可以通過修改Nikto配置文件,指定cookie(身份認證信息),實現身份認證。
Nikto配置文件:vim /etv/nikto.conf
#修改useagent【使用默認配置(顯示Nikto工具在掃描),容易被管理員發現,所以可以進行修改】
USERAGENT=Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
獲取cookie,在配置文件中修改cookie信息【讓nikto獲得身份認證,進行進一步掃描】
此時,使用Nikto掃描時,都會攜帶cookie信息進行掃描。
-evasion:使用LibWhisker中對IDS的逃避技術,可使用以下幾種類型
1、隨機URL編碼(非UTF-8方式)
2、自選路徑(/./)
3、過早結束的URL
4、優先考慮長隨機字符串
5、參數欺騙
6、使用TAB作爲命令的分隔符
7、使用變化的URL
8、使用windows路徑分隔符”\“