漏洞扫描工具-Nikto
Nikto原理:
基于perl语言开发的开源WEB安全扫描器
Nikto功能:
- 识别网站软件版本
- 搜索存在安全隐患的文件
- 检查服务器配置漏洞
- 检查WEB Application层面的安全隐患
- 避免404误判(原因:很多服务器不遵循RFC标准,对于不存在的对象返回200响应码)
常规扫描:
常用命令:
nikto -host 目标 #扫描主机
nikto -host host.txt #扫描多个主机
nikto -host 目标 -ssl -port 443,8443,995 #-ssl:针对https进行扫描,-port:针对特定端口进行扫描
代理扫描:
nikto -host 目标 -useproxy http://localhost:8080 #使用代理扫描,防止被发现从而被禁止攻击
联合Nmap扫描:
nmap -p80 目标 | nikto -host #联合扫描,提高效率
使用LibWhisker绕过IDS/IPS的检测:10个参数 1-8、A、B
niketo -host 目标 -ssl -port 443 -evasion 1358 #可添加多个参数
1 随机URI编码(非utf-8)
2 自选择路径(/. /)
3 过早结束的URL
4 使用长随机字符串
5 使用假参数
6 使用tab作为命令的分隔符
7 更改URL的大小写
8 使用windows的命令分隔符"\"
A 使用回车0x0d作为请请求分隔符
B 使用二进制0x0b作为请请求分隔符
文件配置:
/etc/nikto.conf:Nikto文件配置路径
可添加User-Agent、Cookie值
漏洞扫描:
-T选项包含很多小选项 –T 9表示扫描SQL注入漏洞
-T选项包含的小选项解释:
0 检查文件上传页面
1 检查web日志
2 检查错误配置或默认文件
3检查信息泄露问题
4 检查XSS/Script/HTML问题
5 从根目录检查是否存在可访问的文件
6 检查拒绝服务问题
7 从任意文件检索是否存在可访问文件
8 检查是否存在系统命令执行漏洞
9 检查SQL注入漏洞
a 检查认证绕过问题
b 识别安装的软件版本
c 检查源代码泄露问题
x 反向链接选项
如:扫描sql注入漏洞
nikto -h 目标 -T 9