附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!
2.2 架构信息收集
-
引子:一个Web应用的构成,由诸多组件&服务相结合,而域名仅是处于Web架构中最表层的一部分。本篇则由表及里,依次对整个Web应用架构,所需收集的信息类型、收集方式等进行介绍。
-
概述
每一个Web服务,其都是依靠各个组件&服务的相互作用所实现。而作为测试者,在信息收集中我们需要做的就是在不违规的情况下,尽可能收集这些组件&服务的敏感or重要信息,为进一步测试做好铺垫。 -
OS信息
常见类型:Linux、Windows、Mac
如何识别:Mac特征与Linux相似,具体怎样识别OS,详见上一章(服务器信息收集)。 -
中间件信息
常见类型(这里小迪把其分为两类,Web服务器&应用服务器。至于这两类有什么区别,据说Web服务器主要处理静态内容和Http请求,应用服务器则是处理动态业务逻辑。至于再详细一些,可能只有从事开发的师傅才清楚了。)- Web服务器:Apache、Nginx、IIS、Lighttpd等。
- 应用服务器:Tomcat、Jboss、Weblogic、Websphere等。
-
开发语言信息
常见类型:Java、Javascript、PHP、Go、Python等 -
框架&组件信息
常见类型- 前端框架:Vue、jQuery、Bootstrap等。
- 后端框架:SpringMVC、Thinkphp、Yii、Tornado等。
- 开发组件:FastJson、Shiro、Log4j、XStream、Solr等。
-
CMS
含义:内容管理系统(CMS),CMS帮助公司管理数字内容,可使管理者即便不具备编程技术,也能实现网站内容的创建、管理和修改。
常见类型:Discuz、WordPress、Pageadmin、禅知等。
如何识别:针对中间件、开发语言、框架&组件、CMS识别有一些通用识别方法,如浏览器插件识别、网络空间测绘、指纹识别等。
这里分别介绍一下浏览器插件&指纹识别-
Wappalyzer浏览器插件自动识别,以某鱼买的学生管理系统为例。
可以看到,对架构信息收集有一定作用,但不多。。。用小迪的话来说就是食之无味,弃之可惜。 -
利用在线指纹识别平台去获取架构信息。如云悉:https://www.yunsee.cn/ ,观星:https://fp.shuziguanxing.com/#/ ,潮汐:http://finger.tidesec.com/ 等。这里推荐云悉,但前提得有账号。
我们以观星和xiaodi8为例
-
利用本地项目进行指纹识别,这里推荐:https://github.com/lemonlove7/EHole_magic , https://github.com/HackAllSec/hfinger ,同样以xiaodi8为例
这两款项目均支持指纹&CMS识别,其中EHole_magic支持网络空间联动。要没云悉账号,也可以试试这些本地项目。
-
-
数据库信息
常见类型:Mysql、SqlServer、Oracle、Redis、MongoDB等
如何识别