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

简介:

                                                                                        作者:玄魂

 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,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
1266 2
|
10月前
|
缓存 负载均衡 网络协议
HTTP 与 SOCKS5 代理协议:企业级选型指南与工程化实践
面向企业网络与数据团队的代理协议选型与治理指南,基于流量特征选择HTTP或SOCKS5协议,通过多协议网关统一出站,结合托管网络降低复杂度,实现稳定吞吐、可预测时延与合规落地。
|
10月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
625 3
|
11月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
718 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
879 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
12月前
|
数据采集 Web App开发 JSON
Python爬虫基本原理与HTTP协议详解:从入门到实践
本文介绍了Python爬虫的核心知识,涵盖HTTP协议基础、请求与响应流程、常用库(如requests、BeautifulSoup)、反爬应对策略及实战案例(如爬取豆瓣电影Top250),帮助读者系统掌握数据采集技能。
885 0
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
存储 安全 JavaScript
Web Storage有哪些安全风险?
Web Storage有哪些安全风险?
|
自然语言处理 算法 安全
HTTPS是如何保证安全的?
HTTPS是如何保证安全的?
HTTPS是如何保证安全的?
|
安全 算法 网络安全
为什么说HTTPS比HTTP安全 HTTPS是如何保证安全的?
为什么说HTTPS比HTTP安全 HTTPS是如何保证安全的?
514 0
为什么说HTTPS比HTTP安全 HTTPS是如何保证安全的?