6.2 Web网站架构
在我们介绍如何攻击Web服务器之前,读者应该首先了解一下Web流量的交互过程。当我们在浏览器的地址栏中输入Web网站的地址后,如http://www.google.com,客户端计算机首先向附近的DNS服务器发送一条DNS请求,在这个请求中,客户端计算机询问google.com站点的IP地址。DNS服务器返回指定网站的IP地址,比如说66.249.89.99。
接下来,浏览器创建一个套接字。套接字是IP地址与目标端口的组合,具体到HTTP流量中,目标端口号为80。这样创建的套接字地址为66.249.89.99:80。之后,Web浏览器向套接字地址66.249.89.99:80发送一条HTTP GET请求,位于这个地址的Web服务器侦听到这个请求后,根据情况返回下述响应码之一:
200 OK
404 Page Not Found
403 Access Denied
302 Object Moved
如果响应码为200,那么所请求数据被返回给浏览器,并在浏览器中展示。所请求数据通常采用标记语言进行格式化,如XML、HTML和SGML。HTML是最常用的标准。有关RFC的更详细信息,可以参阅RFC 2616(http://www.ietf.org/rfc/rfc2616.txt)。
对Web服务器可以进行两种类型的攻击:
(1)针对Web服务器的攻击。
(2)基于Web认证的攻击。
针对Web服务器的攻击包括常用服务器的漏洞利用,如Apache Web服务器和Microsoft Internet Information Server (IIS)。我们可以使用其攻击上传文件或代码、摧毁服务器、或获取私有信息。
第二种攻击类型为基于Web认证的攻击,它旨在获取对Web网站的非授权访问。通常的做法是使用口令暴力破解攻击。
在Web攻击中最困难的部分是Web通信能够为安全通信。不幸的是,太多的开发人员在他们的代码中遗留下了众多可以利用的问题,太多的服务器没有及时地打补丁。这就产生了本不应该产生的脆弱系统。正是这种漫不经心给攻击者提供了众多易于攻击的系统。作为渗透测试人员,就是要测试这种忽视程度,以便保护Web网站的安全。
| 回书目 上一节 下一节 |