扫描工具-Nikto
#基于WEB的扫描工具,基本都支持两种扫描模式。代理截断模式,主动扫描模式
手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏
自动扫描:基于字典,提高速度,但存在误报和触发警告
#参考书:Web_Penetration_Testing_with_Kali_Linux
Nikto【纯主动型】
http://blog.csdn.net/fly_heart_yuan/article/details/6799043
Nikto 是一款Perl语言开发的开源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件。
扫描内容:
1、软件版本
2、搜索存在安全隐患的文件【如:某些web维护人员备份完后,遗留的压缩包,若被下载下来,则获得网站源码】
3、服务器配置漏洞【组件可能存在默认配置】
4、WEB Application层面的安全隐患【xss,SQL注入等】5、避免404误判
·很多服务器不遵守RFC标准,对于不存在的对象返回200响应码·依据响应文件内容判断,不同扩展名【jsp、cji】的文件404响应内容不同
·去除时间信息后的内容取MD5值
·参数:-no404【不进行误判尝试判断,可能存在误判】
命令详解:
nikto -update #直接更新数据库,厂商网址可能被墙 【在此网站可下载最新版http://cirt.net/nikto/UPDATES/】
nikto -list-plugins #插件列表
nikto -host http://192.168.1.109/dvwa/ #指定网站目录扫描
nikto -host 192.168.1.1.109 -port 80,443 #可指定多个端口【加-output:输出结果】
nikto -host host.txt #扫描多个IP
nmap -p80 192.168.1.0/24 -oG - | nikto -host - #结合nmap,对一个网段内开放了80端口的主机进行扫描
nikto -host https://www.baidu.com -useproxy http://localhost:8087 #使用代理
-vhost 【+域名】 #虚拟IP,区分网站【使用背景:一个ip对应多个网站】
交互性参数【用于扫描过程中】
回车:报告当前状态
v:正在扫描的详细信息(路径,结果等)#再按v就停止
d:极其详细的信息,包括传输内容 #
e:错误信息 #
p:显示进度 #
r:重定向 #
c:cookie
a:身份认证
q:退出
N:下一个主机(用于多个IP)
P:暂停
nikto配置文件【大部分需要登录进网站,才能进行扫描】
-id+ #使用http身份认证【但现在很少】支持指定cookie
vi /etv/nikto.conf
#修改useagent【默认配置,容易被管理员发现】
USERAGENT=Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
#抓包分析,获取cookie
#修改cookie信息【让nikto获得身份认证,进行进一步扫描】
-evasion:使用LibWhisker中对IDS的逃避技术,可使用以下几种类型
1、随机URL编码(非UTF-8方式)
2、自选路径(/./)
3、过早结束的URL
4、优先考虑长随机字符串
5、参数欺骗
6、使用TAB作为命令的分隔符
7、使用变化的URL
8、使用windows路径分隔符”\“