Web服务器识别技术揭秘
[一]用nc查看web服务器返回的HTTP报头
语法为 nc www.jb51.net 80
[二]根据URL中的元素
扩展名
采用的技术
服务器平台
.pl
PerlCGI脚本
各种平台,一般是Unix
.asp
活动服务器页面
Microsoft IIS
.aspx
ASP +
Microsoft .NET
.php
PHP脚本
各种平台,一般是Apache
.cfm
ColdFusion
一般与Microsoft服务器接口
Nsf
LotusDomino
但是Web服务器在配置方面很灵活,网关可以故意弄乱文件类型来隐藏关于所有技术方面的信息。识别服务器也是一门艺术,比如Java服务器所使用的服务页面(jsp)这种文件类
型不能给出任何线索,因此无法得知所用的前端Web服务器和用于执行JSP文件的Java应用程序。下面是一些URL示例,助你纵横网络:
(1)www.xxx.com/homepage.nsf?Open
这是采用的Lotus Domino服务器,用nc一看报头返回的信息就可以知晓,nsf文件也让我们一目了然。
(2)www.xxx.com/software/buy.jhtml;jsessionid=ZQWEURBF69UD6DOG8
用nc查看报头,发现返回的是显示服务器为 Microsoft-IIS/4.0,但是Microsoft-IIS/4.0是不支持.jhtml的,它实际上是Java Html页面。因此这是一台应用程序和Microsoft-
IIS/4.0共同合作的。字符串jsessionid=ZQWEURBF69UD6DOG8,是使用ATG Dynamo Application Server的证据型特征,这里由它来提供Java Html文件并执行Java Servlet。
(3)www.xxx.com/cgi-bin/ncommerce3/ExecMacro/webstore/home.d2w/repeat
这是IBM Net.Data 电子商务平台使用的典型URL。字符串ncommerce3和ExecMacro均是揭示技术类型的关键字符串。home.d2w是一个应用IBM Net.Data 脚本语言编写的应用程序宏
,repeat是应用程序宏提供的许多种方法中的一种。
(4)www.xxx.com/site/index/0,10017,25487,00.html
这种URL不是很常见,看起来不是一个静态的HTML页面,如果我们浏览这个站点,具体数字会不断变化而整体URL结构形式保持不变。它是Vignett Story Server的典型URL,这是一
种流行的内容服务器,经常与Netscape Enterprise及Microsoft-IIS/4.0一起使用。
(5)www.xxx.com/report.cgi?page=3
这是一个很明显的,开始就可以猜出运行的是Apache服务器,用perl编写的应用程序。用cgi提供脚本技术支持。
(6)www.xxx.com/webapp/wcs/stores/servlet/Display?storeId=10001&langID=-1&catalogID=10001&catagoryID=10052&cleatance=0&catTree=10053
我们看不出来,提交一个不完整的URL——www.xxx.com/webapp/wcs/stores/试试,果然,页面出现强制性错误了,原来是IBM WebSphere的服务器啊!
[三]用cookie查看
前面介绍的两种方法只能作为一种标准而已,但是它们返回的信息却不一定是最真实的。服务器可以通过修改自己的服务器类型字符串,把服务器页面的扩展名.asp映射为.cgi,
从而隐藏自己不被黑客识破关键技术,有可乘之机。但是,通过cookie查看到的信息却是绝对真实的,我在下面罗列了一些常见的cookie类型以及它们对应的服务器种类,大家可
以查看。
服务器 Cookie格式
Apache Apache = 220.86.136.115.308631204331944536139
IIS ASPSESSIONIDGGQGGCVC=KELHFOFDIHOIEBUOYINPEGKM
ATG Dynamo JSESSIONID = H4TQQOLIENTO2BELINPULCDEFIN3AAYUGOEL304
IBMNet.Data
SESSION_ID=307823,wFBDLINTKMladthcaAln+iKneilweJEMYRUU/VIABFOXPLUGME8e+licenslogOlienMIKEYXLTEA
ColdFusion CFID=,587643 CFTOKEN=25631988
下一篇:使用BAK文件还原SQL2000出错的原因