Web安全实践(2)基于http的web架构剖析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

                                                                                        作者:玄魂

 web安全实践系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html

安全技术区http://space.cnblogs.com/group/group_detail.aspx?gid=100566 

前言

   web安全实践系列主要是对《黑客大曝光——web应用安全机密与解决方案(第二版)》的内容做的实践研究和部分编程实现。所以如果您能完全理解那本书可以跳过本文章。

 

 

正文

第一篇文章我简单的介绍了一下相关的工具,如果您已经熟悉了,今天我们就小试牛刀吧!

2.1确定目标

(1)ping。这是最常规的方法,我们可以对已知域名做该操作来获得ip地址。

(2)DNS查询。可以通过互联网上提供DNS查询服务的网站查询ip地址。

(3)端口扫描。对既定ip我们可以扫描是否开通相应的知名端口来确定该服务器启动的服务。当然服务器可以用任一的端口来做web服务,我们可以对相应的端口做简单的探测,比如用netcat发送简单的get或head请求。看它的回应是否开通web服务。

2.2获取目标web服务器信息

Web服务器信息采集是架构分析的主要内容,我们目前只讨论从http协议的角度来分析。

  1. Banner抓取。

    对于Banner抓取最直接的方法是我在上一节介绍的浏览器扩展工具的使用。下面我们以FireFox的扩展Live HttpHeaders为例。

    我们启动Live HttpHeaders的捕获选项。然后输入www.xiaonei.com.

    这时就可以查看我们发送的请求和得到的响应信息了。

     

    从响应信息我们可以得到该网站的服务器为 Resin版本为3.0.21。通过google我们可以了解该服务器以及该网站更多的相关信息,这一点是非常重要的,我以后会详细的介绍。

    其他能够获取http报文的工具我就不详细介绍了,只要能达到目的任何可行的方案都可以尝试。

  2. http指纹。

    http1.1规范(RFC2616)鼓励实现者为了实现安全,将Server字段做成可配置选项。如果这样的话,我们得到的http响应的信息就有可能是假的信息。

    应对于这个问题的解决方法,就是从服务器响应的内容中跳出来,进而观察服务器器对各种响应的整体行为。因为目前的服务器对于响应的细节并没有统一的规范,所以各有不同,只要从统计学的角度进行分析就可以顺利的看到服务器的本来面目。

    不常见的http请求方法

    请求越不常见,出现不同响应的可能性越大。

    错误信息

    错误信息最容易暴露服务器的本来面目。

    这两种方式都需要我们总结大量正确数据的基础上,再分析未知服务器然后把相应行为和已知行为对比做判断。希望有做这方面工作的高手能提供相关资料。

    httprint工具

    Net-Square 的Httprint工具,是一个自动化的http指纹分析工具,带有可定制web服务器指纹数据库。下面是Httprint的一个结果报告。

    如果我们想做自己的指纹分析工具,就要对各种服务器做测试,现在我还没有这个条件来做。

    2.3 中间件架构分析

有一个可能是返回信息的主机不是我们想象中的正在分析的主机,原因可能是web服务器的中间件架构配置,包括负载均衡器,虚拟服务器配置,代理,防火墙。

检测负载均衡器

如果对一个采用负载均衡的服务器进行连续的攻击,可能每一次的请求被分配到不同的主机上,如果意识不到这点,攻击将永远不会成功。理论上讲每个各个服务器应该是完全相同的,响应也该是完全相同的,但现实中的情况会有很多的差别。服务器的时间,配置,文件目录等都有可能不同,发现不同我们就有下手的机会。

  1. 在同一个ip范围内做端口扫描。首先确定主机别名的服务器ip地址,然后对周围的ip发送请求。如果得到的响应完全相同,可能是经过负载均衡的服务器。但是几天负载均衡的主机如果在同一局域网内部,这种方法是检测不到的。如果我们用这种方法得到了负载均衡的服务器ip,再对这些ip做探测以查看各主机的不同会给我们提供入侵的新思路。

    对于采用dns轮询方式的负载平衡我们很容易看到它的相关主机。

    上面通过域名解析我们看到校内网的图片服务器的负载平衡的主机的多个IP。

    而xiaonei.com则有两个ip60.28.196.237,60.28.196.247(手机校内网)。

  2. 时间戳分析。在一秒内连续发送多个请求,看返回的头部的时间戳是否相同,如果有的主机时间未同步,那么你很幸运的发现的了它的负载均衡。关于这一方法的实现我会在编程实现的环节做演示。
  3. Etag与Last-Modified。我们多次请求后观察两个值,如果不同则非常有可能存在负载均衡。
  4. 查看html源代码中的注释。相同的页面如果注释不同,很可能来自不同的主机。
  5. 查看ssl证书的差别,这种方法,我目前还没有很好的实践,希望各位能给我个好的实践方案。

哎呀,好累,今天本来想把中间件架构都写完的,看来是坚持不住了,那就留到明天吧。也需要更多的实验。最后还是更多的朋友来交流,感激不尽。


本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319547.html,如需转载请自行联系原作者

相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
8天前
|
监控 安全 数据安全/隐私保护
销售易CRM:技术架构与安全性能的深度解析
销售易CRM基于云计算与微服务架构,融合高可用性、弹性扩展及模块化开发优势,为企业提供灵活定制化的客户关系管理解决方案。系统采用多层次安全防护机制,包括数据加密、细粒度权限控制和实时监控审计,确保数据安全与隐私保护。某金融机构的成功案例表明,销售易CRM显著提升了数据安全性和系统性能,同时满足行业合规要求。作为数字化转型的利器,销售易CRM助力企业实现可持续发展与市场竞争力提升。
|
1月前
|
存储 消息中间件 缓存
支持百万人超大群聊的Web端IM架构设计与实践
本文将回顾实现一个支持百万人超大群聊的Web端IM架构时遇到的技术挑战和解决思路,内容包括:通信方案选型、消息存储、消息有序性、消息可靠性、未读数统计。希望能带给你启发。
53 0
支持百万人超大群聊的Web端IM架构设计与实践
|
1月前
|
人工智能 运维 安全
AI 安全架构概述
AI 安全架构涵盖数据采集、模型训练、推理部署等阶段,确保安全性、隐私与合规。其核心组件包括数据层、模型层、推理层、应用层和运维层,针对数据安全威胁(如数据投毒)、模型窃取、对抗攻击及系统漏洞等风险,提出数据加密、对抗训练、联邦学习等防御策略,并强调开发前、开发中和部署后的最佳实践,以降低 AI 解决方案的安全风险。
156 13
|
1月前
|
监控 安全 Cloud Native
企业网络架构安全持续增强框架
企业网络架构安全评估与防护体系构建需采用分层防御、动态适应、主动治理的方法。通过系统化的实施框架,涵盖分层安全架构(核心、基础、边界、终端、治理层)和动态安全能力集成(持续监控、自动化响应、自适应防护)。关键步骤包括系统性风险评估、零信任网络重构、纵深防御技术选型及云原生安全集成。最终形成韧性安全架构,实现从被动防御到主动免疫的转变,确保安全投入与业务创新的平衡。
|
3月前
|
缓存 网络协议 前端开发
Web 性能优化|了解 HTTP 协议后才能理解的预加载
本文旨在探讨和分享多种预加载技术及其在提升网站性能、优化用户体验方面的应用。
Web 性能优化|了解 HTTP 协议后才能理解的预加载
|
3月前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
142 9
|
4月前
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
115 15
|
4月前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
5月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
162 11