Web欺骗的工作原理
欺骗能够成功的关键是在受攻击者和其他Web服务器之间设立起攻击者的Web服务器,这种攻击种类在安全问题中称为“来自中间的攻击”。为了建立起这样的中间Web服务器,黑客往往进行以下工作。
改写URL
首先,攻击者改写Web页中的所有URL地址,这样它们指向了攻击者的Web服务器而不是真正的Web服务器。假设攻击者所处的Web服务器是 www.org ,攻击者通过在所有链接前增加 http://www.www.org 来改写URL。例如, http://home.xxx1.com 将变为 http://www.www.org/http://home.xxx1.com. 当用户点击改写过的 http://home.xxx1.com (可能它仍然显示的是 http://home.xxx1 ),将进入的是 http://www.www.org ,然后由 http://www.www.org 向 http://home.xxx1.com 发出请求并获得真正的文档,然后改写文档中的所有链接,最后经过 http://www.www.org 返回给用户的浏览器。工作流程如下所示:
1.用户点击经过改写后的 http://www.www.org/http://home.xxx1.com ;
2. http://www.www.org向http://home.xxx1.com 请求文档;
3. http://home.xxx1.com向http://www.www.org 返回文档;
4. http://www.www.org 改写文档中的所有URL;
5. http://www.www.org 向用户返回改写后的文档。
很显然,修改过的文档中的所有URL都指向了 www.org ,当用户点击任何一个链接都会直接进入 www.org ,而不会直接进入真正的URL。如果用户由此依次进入其他网页,那么他们是永远不会摆脱掉受攻击的可能。
关于表单
如果受攻击者填写了一个错误Web上的表单,那么结果看来似乎会很正常,因为只要遵循标准的Web协议,表单欺骗很自然地不会被察觉:表单的确定信息被编码到URL中,内容会以HTML形式来返回。既然前面的URL都已经得到了改写,那么表单欺骗将是很自然的事情。
当受攻击者提交表单后,所提交的数据进入了攻击者的服务器。攻击者的服务器能够观察,甚至是修改所提交的数据。同样地,在得到真正的服务器返回信息后,攻击者在将其向受攻击者返回以前也可以为所欲为。
关于“安全连接”
我们都知道为了提高Web应用的安全性,有人提出了一种叫做安全连接的概念。它是在用户浏览器和Web服务器之间建立一种基于SSL的安全连接。可是让人感到遗憾的是,它在Web欺骗中基本上无所作为。受攻击者可以和Web欺骗中所提供的错误网页建立起一个看似正常的“安全连接”:网页的文档可以正常地传输而且作为安全连接标志的图形(通常是关闭的一把钥匙或者锁)依然工作正常。换句话说,也就是浏览器提供给用户的感觉是一种安全可靠的连接。但正像我们前面所提到的那样,此时的安全连接是建立在 www.org 而非用户所希望的站点。
攻击的导火索
为了开始攻击,攻击者必须以某种方式引诱受攻击者进入攻击者所创造的错误的Web。黑客往往使用下面若干种方法。
1把错误的Web链接放到一个热门Web站点上;
2如果受攻击者使用基于Web的邮件,那么可以将它指向错误的Web;
3创建错误的Web索引,指示给搜索引擎。