用Nikto探测一个网站所用到的技术

Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件/CGIs;超过 625种服务器版本;超过230种特定服务器问题,包括多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、 COOKIE、特定CGI漏洞、返回主机允许的http模式等等。这是一款非常棒的工具,Nikto是网管安全人员必备的WEB审计工具之一。

当然,还可以用来探测目标网站究竟使用了什么技术。

Nikto最新版本为2.1.5版,官方下载网站:http://www.cirt.net/nikto2

Nikto是基于PERL开 发的程序,所以需要PERL环境。Nikto支持Windows(使用ActivePerl环境)、MacOSX、多种Linux 或Unix系统。在Windows平台下使用,需要使用ActivePerl环境,ActivePerl可以其官方网站上下载,下载地 址:http://www.activestate.com/activeperl

我这里用的是Linux,自带了perl,所以下载解压就能直接使用了。

wget https://cirt.net/nikto/nikto-2.1.5.tar.gz
tar -zxvf nikto-2.1.5.tar.gz
cd nikto-2.1.5

perl ./nikto.pl -h www.baidu.com

[[email protected] nikto-2.1.5]# perl ./nikto.pl -h www.baidu.com
- ***** SSL support not available (see docs for SSL install) *****
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          115.239.210.27
+ Target Hostname:    www.baidu.com
+ Target Port:        80
+ Start Time:         2015-02-20 18:25:34 (GMT8)
---------------------------------------------------------------------------
+ Server: BWS/1.1
+ Cookie BAIDUID created without the httponly flag
+ Cookie BAIDUPSID created without the httponly flag
+ Cookie BDSVRTM created without the httponly flag
+ The anti-clickjacking X-Frame-Options header is not present.
+ Uncommon header ‘bduserid‘ found, with contents: 0
+ Uncommon header ‘bdqid‘ found, with contents: 0xfc103f47000ce711
+ Uncommon header ‘bdpagetype‘ found, with contents: 1
+ Server banner has changed from ‘BWS/1.1‘ to ‘Apache‘ which may suggest a WAF,load balancer or proxy is in place
+ No CGI Directories found (use ‘-C all‘ to force check all possible dirs)
+ Server leaks inodes via ETags, header found with file /robots.txt, fields: 0x91e 0x50b02db060c00
+ File/dir ‘/shifen/‘ in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ File/dir ‘/‘ in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ "robots.txt" contains 103 entries which should be manually viewed.
+ Multiple index files found: index.php, index.htm, index.html
+ OSVDB-5737: WebLogic may reveal its internal IP or hostname in the Location header. The value is "http://www.baidu.com/search/error.html".
+ OSVDB-3092: /home/: This might be interesting...
+ OSVDB-3092: /tw/: This might be interesting... potential country code (Taiwan)
+ 6544 items checked: 28 error(s) and 15 item(s) reported on remote host
+ End Time:           2015-02-20 18:26:12 (GMT8) (38 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

在某些版本的Linux,可能会出现 -bash: ./nikto.pl: Permission denied 错误提示,可以用下面的命令试着用:

nikto -h www.baidu.com
./nikto.pl -h www.baidu.com
perl ./nikto.pl -h www.baidu.com

下面是 Nikto 的一些参数设置:

-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):虚拟主机(针对主机头)。

一些使用:

  • nikto.pl -h 10.100.100.10  #扫描主机10.100.100.10的80口上的WEB
  • nikto.pl -h 10.100.100.10 -p 443 -s -g  #扫描主机10.100.100.10端口443强制使用SSL模式 ???-g
  • nikto.pl -h 10.100.100.10 -p 80-90  扫描主机10.100.100.10 端口80-90 ,Nikto自动判定是HTTP还是HTTPS
  • nikto.pl -h 10.100.100.10 -p 80,443,8000,8080 扫描主机 10.100.100.10 端口 80 443 8000 8080
  • nikto.pl -h 10.100.100.10 -p 80 -e 167 -e 167使用IDS规避技术1 6 7
时间: 2024-10-02 10:17:55

用Nikto探测一个网站所用到的技术的相关文章

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1、必须了解自己网站所用的PHP和MySQL的版本 2、网站大小

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1.必须了解自己网站所用的PHP和MySQL的版本 2.网站大小 3.数据库大小 由于网站过于巨大90G,而linux服务器上磁盘空间不够无法压缩,最后我选择的办法是使用FTP传,没想到什么好办法. 网站的数据库大

用Java获取一个网站的基本配置信息

前言:我们在进行网站渗透的时候,通常第一步都是获取目标网站的一些配置信息,比如:所用的服务器类型,用了哪种CMS,网站又用了哪些插件等等.当然,我们要是在这一步获取到了比较充分的信息,毫无疑问接下来我们就可以有针对性地进行漏洞搜索和挖掘,对最后的渗透测试是非常有帮助的. 一 简介 今天,我主要是给大家安利一个比较好的对目标网站进行基本信息探测的网站,它就是:https://builtwith.com .使用起来也很简单,直接对目标网站进行搜索就行了,比如说我们搜索:https://builtwi

Spring:探测访问网站的设备类型

[该教程翻译自Spring官方,并进行适当删减.] 你将搭建的 创建一个Spring MVC项目,来探测访问网站的设备类型(手机.电脑.平板),并动态切换呈现的视图. 工具 一个文本编辑器,JDK1.6及以上,Maven 3.0+或者Gradle 1.11+.(本文将使用Maven) pom.xml清单: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven

自己想要做一个网站应该怎么做

软件开发和网站开发完全是两个不同的,两个地方侧重的是不一样的.软件开发是属于手机端的开发,主要面向是安卓,ios开发,网站开发是电脑端的开发,语言分很多种:常用的有java.php..net,每个语言都有自己的特点和风格.软件开发主要分两种安卓开发和ios开发,安卓开发学习书籍书的话建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看.看完之后就可以自己动手做做项目了.对于java基础,我现在的感觉是 如果要深入学习android平台,j

一个网站

一直在坚持着,170号码资讯网(http://www.c170.cn),170社区(http://bbs.c170.cn),170号码归属地查询(http://cha.c170.cn) 一个网站,码迷,mamicode.com

怎样判断一个网站或域名被K过

域名是用户对网站的第一印象,域名的选择对于一个网站来说至关重要,选择容易让用户记忆,提高回头率的域名那就不说了,大家都知道.但是我们也要判断这个域名是否被被搜索引擎k过,因为一个域名被K后,重新作战很有可能长期得不到搜索引擎有效的收录.因为域名已经做过弊,被降权,被K,那你以后在怎么努力估计也很难得到搜索引擎的认可了,所以这方面的工作是必须要做的.下面介绍一些详细的方法,帮助大家判断一个域名是否被k过或者被使用过. 1:首先,到域名查询中心阿里云或万网去查询网站的whois信息,现在很多域名或空

一个网站的诞生05--如何把网站做到估值过亿

网站的意义,在于创造对用户有价值的东西,估值是网站意义的一个衡量指标,提升估值的手段,也就等价于把网站做得更有用. 如何计算一个网站的估值?国际标准是每个活跃用户的价值是40刀左右,Whatsapp卖了190亿刀,它有4.5亿活跃用户.中国略有差别,微信的估值是40亿~50亿刀,有3亿用户,但中国的用户商业价值不够高,人均GDP太低,所以每个活跃用户的价值是10-15刀,也就是RMB60-90元.如果网站(包括同名App)要想估值过亿,要有一百万的活跃用户.另一种估算方式是,行业第二名的估值是第

想成功运营一个网站需要具备什么条件?

想成功运营一个网站需要具备什么条件?我们经常会听到一句话,我能做什么,我会做什么?大家注意这2者不是同一意思,社会环境允许我做什么?想成功运营一个网站就包含了上面所有条件.当然还有其他的.那么想成功运营一个商品网站到底需要具备哪些条件呢?接下来301SEO网站优化团队就和大家一一解答:一.强大的信念为什么会把信念放在第一位,当然这个只是我个人的看法,一件事情是否会成功,首先看你想不想去做.那么由什么支配你去做这些事情呢?兴趣,成就感,利益等都是可能的原因.那么又是什么能让你坚持做下去呢?那就是强

怎样 判断一个网站是不是伪静态

ie 浏览器 打开你要判断的网站 在地址栏上输入javascript:alert(document.lastModified),此方法可以判断一个网站的最新更新时间 如果这个时间和当前时间一样 说明为伪静态 反之 则不是(已测试) 火狐浏览器 打开你要判定的网站 进入firefox  的控制台  工具-错误控制台  快捷键shift+ctrl+j  然后在控制台里输入 javascript:alert(document.lastModified) 查看最后修改时间并记录 接下来关闭控制台 重新刷