在WEB入侵的过程中,识别WEB系统由为重要,下面介绍常用的一些方法和技巧。
一、用HTTP报头判断
最常用的方法是来发送简单的HTTP HEAD 或 GET 请求来获得HTTP报头,比如:APACHE 的服务器的HTTP头形式如下
D:\tools\nc>nc www.ph4nt0m.org 80
GET / HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Thu, 04 Nov 2004 05:15:45 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Content-Length: 300
Connection: close
Content-Type: text/Html; charset=iso-8859-1
Server: Apache/2.0.40 (Red Hat Linux)
这一行可以得出是运行在Red Hat Linux上的Apache 服务器
二、文件类型判断
一般的URL 路径的扩展名 我们都可以判断所用的服务器
.ASP-----------------Microsfot iis
.aspx--------------- Microsfot.NTE
.PHP------------------各种平台 一般与apche Web 服务器接口
.cfm ---------------- 各种平台 一般与Microsfot iis服务器接口(国外用的比较多)
.nsf---------------Lotus Domino 服务器(国外用的比较多)
由于WEB服务器配置的灵活性,有时候单从文件类型上无法判别的,比如Java 服务器页面(.jsp)这种文件类型不会给出任何线索,因此无法来判断前端WEB服务器和用于执行JSP文件的类型,这就需要我们通过其他的方式来片段。
三、URL 签名
有些WEB服务器的URL是有特出标志的,比如:
URL:http://www.ikea.cn/webapp/wcs/stores/servlet/IkeaNearYouView?storeId=24&langId=-7&catalogId=10101&StoreName=beijing
“/webapp/wcs/stores/servlet/”这段标志可以知道WEB服务器使用的是 IBM WebSphere
URL:http://oldsite.linuxaid.com.cn/news/shownews.jsp;jsessionid=aaa_d0pmfFiTRs?i=2337
字符“;jsessionid=XXX”是使用ATG Dynamo Application Server的证据特征
URL:http://www.linkshop.com.cn/cgi-bin/dw/specialy.d2w/infodetail?cinbr=2864&type=36
“specialy.d2w”是一个IBM Net.Data 脚本语言的编写应用程序宏
URL:
http://www.ethnicgrocer.com/cm/rp/rcp.jsp?FOLDER%3C%3Efolder_id=263159&FOLDER%3C%3EbrowsePath=64023&ASSORTMENT%3C%3East_id=154339&site=EG&bmUID=995040661968&WebLogicSession=O08dlZq4lCMv5KnI13PS6vhB18PWu9tFzmU7CW5A4h3vuCnLZ1eEDCXmjDb7sVxNmCdiy4KZ0143|8476207524964745809/167839352/5/7001/7001/7002/7002/-1
[1] [2]
WebLogicSession=O08dlZq4lCMv5KnI13PS6vhB18PWu9tFzmU7CW5A4h3vUCnLZ1eEDCXmjDb7sVxNmCdiy4KZ01438476207524964745809/167839352/5/7001/7001/7002/7002/-1
这段可以看出 用的是URL签名是典型的BEA WebLogic 签名
其会话标示符中的 7001 7002分别指HTTP端口和SSL TCP端口 WebLogic在内部使用这两个端口与前端WEB服务器通信。如果运行于除这两个断口之外的断口,他们在这个站点产生的URL中就会用不同的反映。
URL:http://www.ual.com/site/primary/0,10017,1505,00.html
这种URL不常见是以逗号作为分隔数字和扩展名.html结尾的,看起来想静态的HTML 其实不然,是Vignett story server典型的URL,这种服务器一般常与 Netscape 及Mcrosoft iis等前端WEB服务器一起使用
http://www.vignette.com/contentmanagement/0,2097,1-1-1508,00.html
官方网站采用的就是技术。
四、Cookie 识别
如下:
D:\tools\nc>nc www.ethnicgrocer.com 80
GET / HTTP/1.0
HTTP/1.1 302 Object moved
Server: Microsoft-IIS/5.0
Date: Thu, 04 Nov 2004 07:11:44 GMT
P3P: CP="CAO CURa ADMa DEVa TAIa OUR NOR STP PHY ONL UNI PUR COM NAV
Location: /eg/default.asp
Connection: Keep-Alive
Content-Length: 121
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCQBABSDA=AJPFCNPDMPGJNDMKBOJLDBMF; path=/
Cache-control: private
COOKIES中有 : ASPSESSIONIDCQBABSDA 标志的为IIS服务器
常见的Cookie 识别 如下表
服务器 Cookie
Apache Apache=202.201.12.155.234645903324785
IIS ASPSESSIONIDCQBABSDA=AJPFCNPDMPGJNDMKBOJLDBMF
ATG Dynamo jsessionid=aaa_d0pmfFiTRs
IBMNet.Data SESSION_ID=124331,EFDSAFDAS dfsa DSAF + Dffdas898/TD dfsa+ASDF
BEA WebLogic WebLogicSession=O08dlZq4lCMv5KnI13PS6vhB18PWu9tFzmU7CW5A4h3vNmCdiy4
ColdFusion CFID=5632585,CFTOKER-45682435
五、HTML注释
HTML注释中隐藏很多内容,有时候开发者会把一些程序应用的平台放到 注释里,这样我们就可以查看HTML源文件来得到其中的信息,相信大家都有过这方面的经验所就就不举例子了。
六、其他方法
但我们确实要准确判断一个服务器到底应用什么软件或什么数据库的时候,这里可以有多种方法
1、可以提交不完整路径让起返回的错误
2、加如特殊的字符
如下
http://www.linkshop.com.cn/cgi-bin/dw/specialy.d2w/infodetail?cinbr=2864&type=36'
• DTWA000I: Net.Data detected an internal error [IBM][CLI Driver][DB2/LINUX] SQL0010N
The string constant beginning with "'" does not have an ending string delimiter.
SQLSTATE=42603.
(出处:http://www.sheup.com)
[1] [2]
The string constant beginning with "'" does not have an ending string delimiter.
SQLSTATE=42603.
(出处:http://www.sheup.com)
[1] [2] [3]