架构信息收集

附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

2.2 架构信息收集

  1. 引子:一个Web应用的构成,由诸多组件&服务相结合,而域名仅是处于Web架构中最表层的一部分。本篇则由表及里,依次对整个Web应用架构,所需收集的信息类型、收集方式等进行介绍。

  2. 概述
    每一个Web服务,其都是依靠各个组件&服务的相互作用所实现。而作为测试者,在信息收集中我们需要做的就是在不违规的情况下,尽可能收集这些组件&服务的敏感or重要信息,为进一步测试做好铺垫。

  3. OS信息
    常见类型:Linux、Windows、Mac
    如何识别:Mac特征与Linux相似,具体怎样识别OS,详见上一章(服务器信息收集)。

  4. 中间件信息
    常见类型(这里小迪把其分为两类,Web服务器&应用服务器。至于这两类有什么区别,据说Web服务器主要处理静态内容和Http请求,应用服务器则是处理动态业务逻辑。至于再详细一些,可能只有从事开发的师傅才清楚了。)

    1. Web服务器:Apache、Nginx、IIS、Lighttpd等。
    2. 应用服务器:Tomcat、Jboss、Weblogic、Websphere等。
  5. 开发语言信息
    常见类型:Java、Javascript、PHP、Go、Python等

  6. 框架&组件信息
    常见类型

    1. 前端框架:Vue、jQuery、Bootstrap等。
    2. 后端框架:SpringMVC、Thinkphp、Yii、Tornado等。
    3. 开发组件:FastJson、Shiro、Log4j、XStream、Solr等。
  7. CMS
    含义:内容管理系统(CMS),CMS帮助公司管理数字内容,可使管理者即便不具备编程技术,也能实现网站内容的创建、管理和修改。
    常见类型:Discuz、WordPress、Pageadmin、禅知等。
    如何识别:针对中间件、开发语言、框架&组件、CMS识别有一些通用识别方法,如浏览器插件识别、网络空间测绘、指纹识别等。
    这里分别介绍一下浏览器插件&指纹识别

    1. Wappalyzer浏览器插件自动识别,以某鱼买的学生管理系统为例。
      image-20241216180955577
      可以看到,对架构信息收集有一定作用,但不多。。。用小迪的话来说就是食之无味,弃之可惜。

    2. 利用在线指纹识别平台去获取架构信息。如云悉:https://www.yunsee.cn/ ,观星:https://fp.shuziguanxing.com/#/ ,潮汐:http://finger.tidesec.com/ 等。这里推荐云悉,但前提得有账号。
      我们以观星和xiaodi8为例
      image-20241216181809857

    3. 利用本地项目进行指纹识别,这里推荐:https://github.com/lemonlove7/EHole_magichttps://github.com/HackAllSec/hfinger ,同样以xiaodi8为例
      image-20241216183556778

      这两款项目均支持指纹&CMS识别,其中EHole_magic支持网络空间联动。要没云悉账号,也可以试试这些本地项目。

  8. 数据库信息
    常见类型:Mysql、SqlServer、Oracle、Redis、MongoDB等
    如何识别

    1. 由服务器开放端口识别,如Mysql:3306、SqlServer:1433、Oracle:1521、Redis:6379、MongoDB:27017等。
    2. 由常见组件组合判断,如PHP+Mysql、C#/.net+SqlServer、Java+Oracle等。
    3. 由应用场景判断,不同应用场景往往使用不同类型的数据库。由于小白→我没咋接触过(😭),所以这里也举不出啥例子...
  9. CDN
    常见类型:Cloudflare、帝联、阿里云、七牛云等。
    如何识别:超级ping,若多地响应ip不同,则证明其Web应用配置了CDN。站长之家的在线平台:https://ping.chinaz.com/

  10. WAF
    常见类型:雷池、宝塔、创宇盾、玄武盾、ModSecurity等。
    如何识别:1. 人工对WAF生效时的返回页面判断。2. 项目识别,https://github.com/stamparm/identYwaf & https://github.com/EnableSecurity/wafw00f ,这两款项目均是向目标发送无恶意payload,触发WAF,通过目标响应来自动判断WAF类型。这里就不做展示了,感兴趣可以自己试试。

  11. 蜜罐
    常见类型:Hfish、Teapot、T-pot、Glastopf等
    如何识别

    1. 人工识别:1. 针对多服务蜜罐,其开放端口多且规律。2. 部分开源蜜罐,可根据其特点判断。
    2. 项目识别:1. 浏览器插件:https://github.com/graynjo/Heimdallr 。2. https://github.com/360quake/quake_rs 该项目实际为调用quake空间测绘 api,判断目标ip是否为蜜罐。同样这里不做展示。

    注:以上推荐项目,都无法确保能100%识别WAF&蜜罐,识别不到也很正常,项目的提供仅是为了扩展信息收集时的思路。

posted @ 2024-12-16 22:31  1999er  阅读(21)  评论(0编辑  收藏  举报