附:完整笔记目录~
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等
如何识别- 由服务器开放端口识别,如Mysql:3306、SqlServer:1433、Oracle:1521、Redis:6379、MongoDB:27017等。
- 由常见组件组合判断,如PHP+Mysql、C#/.net+SqlServer、Java+Oracle等。
- 由应用场景判断,不同应用场景往往使用不同类型的数据库。由于小白→我没咋接触过(😭),所以这里也举不出啥例子…
-
CDN
常见类型:Cloudflare、帝联、阿里云、七牛云等。
如何识别:超级ping,若多地响应ip不同,则证明其Web应用配置了CDN。站长之家的在线平台:https://ping.chinaz.com/ -
WAF
常见类型:雷池、宝塔、创宇盾、玄武盾、ModSecurity等。
如何识别:1. 人工对WAF生效时的返回页面判断。2. 项目识别,https://github.com/stamparm/identYwaf
&https://github.com/EnableSecurity/wafw00f
,这两款项目均是向目标发送无恶意payload,触发WAF,通过目标响应来自动判断WAF类型。这里就不做展示了,感兴趣可以自己试试。 -
蜜罐
常见类型:Hfish、Teapot、T-pot、Glastopf等
如何识别- 人工识别:1. 针对多服务蜜罐,其开放端口多且规律。2. 部分开源蜜罐,可根据其特点判断。
- 项目识别:1. 浏览器插件:
https://github.com/graynjo/Heimdallr
。2.https://github.com/360quake/quake_rs
该项目实际为调用quake空间测绘 api,判断目标ip是否为蜜罐。同样这里不做展示。
注:以上推荐项目,都无法确保能100%识别WAF&蜜罐,识别不到也很正常,项目的提供仅是为了扩展信息收集时的思路。