总结几种系统识别和版本确定的方法。以下所有方法只是提供初步思路,在实际工作中要依据具体情况而定,因为类似一些敏感信息往往没有那么轻易的可以获得。本文章作为学习使用,禁止用于非法途径。
1.版本识别
一、针对通用系统可以通过目录识别。
(1)在phpcmsV9.0以前目录中没有phpcms这个目录,而在9.0版本以后就会存在这个目录
(2)wordpress默认存在wp-includes和wp-admin的目录
(3)织梦的管理后台为dede目录
(4)solr可能存在solr目录
(5)weblogic可能出现wls-wsat目录
小结:针对这种通用的系统可以利用他们目录特性来进行判断系统的种类。遇到这种情况可以选择利用目录或者网站路径扫描工具(本质上是一个爆破工具),然后通过加入相应系统的特征字典来判断。请注意使用爆破工具扫描他人网站需要承担法律风险,请大家理性学习使用自己本地的环境。
二、利用robot.txt文件
在robot.txt中可能会标明系统的版本。
这是我本地的一个环境,如图可以从中获得一定量的信息。
三、查看头信息
利用抓包查看包里面的某些信息可以查看系统的信息。比如
(1)查看http相应中的X-Powered-By字段
(2)查看cookie的信息
(3)查看header中的refer信息
(4)查看www-authenticate字段信息
四、查看源代码
这个方法针对开源的通用系统,用来确定系统的具体版本。比如dedecms、wbce等。因此在这一步之前你需要先确定测试系统是哪一种。
五、利用页面报错信息和页面关键字信息
例如此图,这是我之前下载的一个开源项目,在网页下部可能会出现类似的信息。网页报错也可能出现类似信息。
六、指纹识别
(1)BuiltWith
(2)火狐插件wappalyzer
类似的工具还有很多可以可以自己取收集。
七、nmap工具识别
nmap是kali操作系统自带的一个工具,有很强大的功能,可以用来识别服务器系统的类型和版本。使用教程请百度。
八、查看脚本代码
这种方法就是通过查看页面源代码,访问代码中引用的css文件,逐个查看css内容的链接可能找到一些让你意料之外的信息。这个方法的缺点在于手动操作会使得效率很低。