nikto nikto 是一款开放源代码的、功能强大的 web 扫描评估软件,能对 web 服务器多种安全项目进行测试的扫描软件,去寻找已知有名的漏洞,能在230多种服务器上扫描出 2600 多种有潜在危险的文件、CGI 及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定 CGI 漏洞、返回主机允许的 http 模式等等。它也使用 LibWhiske 库,但通常比 Whisker 更新的更为频繁。nikto 是网管安全人员必备的 web 审计工具之一。 下载 nikto 的源码目前托管在 Github 上: https://github.com/sullo/nikto 安装 wget https://github.com/sullo/nikto/archive/master.zip 使用 perl ./nikto.pl -h <URL>:<PORT> 参数说明 -c(config):使用指定的config文件来替代安装在本地的config.txt文件。 -C(Cgidirs):扫描包含指定内容的CGI目录。所包含的内容在-C后面指定。如-C /cgi/。 -D(Display):打开或关闭默认输出。输出选项: 1 显示重定向 2 显示获取的cookies信息 3 显示所有200/OK的回应 4 显示请求认证的URLs D Debug输出 V 冗余输出 -dbcheck:检查数据库和其它重要文件的句法错误。 -e(evasion):使用LibWhisker中对IDS的躲避技术,可使用以下几种类型: 1 随机URL编码 (非UTF-8方式) 2 自选择路径(/./) 3 过早结束的URL 4 优先考虑长随机字符串 5 参数欺骗 6 使用TAB作为命令的分隔符 7 使用变化的URL 8 使用Windows路径分隔符“” -f(findonly):只寻找HTTP或HTTPS端口,不进行完全扫描。 -F(Format):指定检测报告输出文件的格式,默认是txt文件格式(可以是htm、csv、txt或xml格式) -h(host):指定目标主机,可以是IP或域名。 -H(Help):显示帮助信息。 -i(id):用于主机鉴定,其格式为:userid:password -m(mutate):猜解更多的文件名: 1 检测根目录下的所有文件 2 猜测密码文件名 3 通过Apache(/~user 请求类型)枚举用户名 4 通过cgiwrap(/cgi-bin/cgiwrap/~user 请求类型)枚举用户名 -n(nolookup):不执行主机名查找。 -o(output):输出到指定文件 -p(port):指定使用的端口,默认为80。 -P(Pause):各项操作之间的延时时间。 -r(root):对所有请求优先考虑root的值,格式为:/目录名 -s(ssl):强制在端口上使用ssl模式 -S(Single):实行对单个目标的请求模式。 -t(timeout):超时时间,默认为2秒。 -T(Tuning):控制Nikto使用不同的方式对目标进行扫描 0 检查文件上传页面 1 检查Web日志 2 检查错误配置或默认文件 3 检查信息泄漏问题 4 检查XSS/Script/HTML问题 5 远程文件检索,从根目录检查是否存在可访问的文件 6 检查拒绝服务问题 7 远程文件检索,从任意文件检索是否存在可访问文件 8 代码执行-远程shell,检查是否存在系统命令执行漏洞 9 检查SQL注入漏洞 a 检查认证绕过问题 b 识别安装的软件版本 c 检查源代码泄露问题 x 反向链接选项 -u(useproxy):使用在config.txt中定义的代理。 -update:从cirt.net上升级数据库和插件。 -V(Version):显示插件和数据库的版本信息。 -v(vhost):虚拟主机(针对主机头)。 更多使用说明请参考官方文档: https://cirt.net/nikto2-docs/