Web应用安全技术之漏洞测试(一)
如今,针对WEb站点的攻击的数量一直在上升。作为开发人员,只有先弄明白了自己的站点是如何被攻击的,才能设法保护它们。本文将揭示一些比较常见的攻击,同时还介绍侦察这些攻击的安全工具。 Web在社交功能方面日益增长,但是它的安全性却日益堪忧。事实上,据WASC在2009年初的估算,所有网站中有87%都存在安全隐患。虽然一些公司有能力外聘安全专业人员进行渗透测试,但并非所有公司都有支付得起20,000到40,000美元的外包安全审计费用。相反,公司可以自己设法让开发人员获悉这些安全威胁,充分引起他们的注意,从而在开发代码时不会留下这样的安全隐患。 常用缩写词 HTML:超文本标记语言 SQL:结构化查询语言 URL:统一资源定位器 要想编写出安全的代码,您必须首先获悉您的程序所面临的威胁有哪些。本文考察了一些非常流行的漏洞,诸如跨站点脚本攻击和SQL注射,同时还介绍了可以一些安全工具。这些工具不仅可以帮我们保护自己的网站,还能帮我们保护数据和网络。本文无法替代安全专业人员,也不会教授艰深的安全技巧。相反地,我们主要介绍如何发现代码中潜在的漏洞,以及如何修复它们。 常见安全漏洞 开始之前,我们需要对要查找的漏洞本身有所了解。我们先来看一下最流行的一个漏洞,即跨站点脚本攻击(XSS)。XSS是网站被注入恶意脚本而导致的,举例来说,Mallory编写了一段脚本,它能够将用户转至一个受信任的网站上,而该站点则是由Alice创建的。 Mallory把这个脚本插入一个流行的论坛上后,Bob在论坛中看到并点击了这个链接,并在Alice的站点上创建了一个帐号。 这时,这个脚本利用Alice的网站上的一个XSS漏洞将Bob的cookie发送给了Mallory,这样一来,Mallory就可以冒充Bob并窃取其信息了。 SQL注入是第二大流行的安全漏洞,这主要是拜网站对数据库的依赖性日益增强所赐。SQL注入实际上非常简单:发现一个连接数据库的网站后,心怀叵测的黑客可以执行一个SQL查询来实现开发人员始料未及的功能:绕过身份验证或者操纵数据。这种类型的攻击,正是Albert Gonzalez窃取13000万信用卡号的作案手法。在发动SQL注入攻击过程中,Mallory发现了Alice用于销售电子产品的网站。这次,Mallory并没有像平常那样输入用户名和密码,而是在用户名字段中输入了‘) or 1=1- 。虽然她它的输入中包含了连字符(-),但是其它部分就无所谓了,因为1=1总是成立,所以她将成功登录。现在,她可以操纵数据库以窃取Bob的客户信息。这个例子以最简单的方式对SQL注入进行了演示,您可以从中看到利用这种攻击对于攻击者而言是多么简单。 如果没有专业的安全人员团队,普通的Web开发者看起来很难跟这些漏洞相抗衡。幸运的是,事实并非如此。许多工具可以帮助我们查找网站中潜在的漏洞,如果据此采取必要的措施的话,我们就能够有效的防御这些漏洞导致的攻击。为了帮我们识别潜在危险,像WebScarab 和Paros 之类的工具能够捕捉浏览器和服务器之间的会话,并能爬行网站。掌握这些信息后,您就可以检测这些漏洞并采取防御措施了。 WebScarab OWASP开发的WebScarab是分析浏览器请求和服务器应答的首选代理。WebScarab除了提供数据包分析功能外,还可以对站点进行Fuzz测试,以寻找上述的漏洞。 若要使用WebScarab,首先要配置web浏览器的代理设置。对于Mozilla Firefox浏览器来说,需要执行下列步骤: 1. 单击Tools > Options > Advanced > Network。 2. 单击Settings。 这时Connection Settings窗口会打开。 3. 选择Manual proxy configuration选项。 4. 在HTTP Proxy和SSL Proxy这两个字段中,输入localhost,并将端口设置为8008。 5. 确保No proxy for文本框为空,并单击 OK按钮。 图 1展示了Firefox的连接设置。 图 1. Firefox 的连接设置 如上图所示,选中Manual proxy configuration;HTTP Proxy为localhost,端口是8008。 SSL Proxy为localhost,端口是8008;选中SOCKS v5 。 对于Windows® Internet Explorer®来说,需要采取下列步骤: 1. 单击Tools > Internet Options > Connections。 2. 单击LAN Settings,Proxy Settings窗口将被打开。 3. 在Proxy Servers 之下,选择Use a proxy server for your LAN复选框,然后单击Advanced按钮。 4. 对于HTTP和Secure字段,输入localhost,并使用8008端口。 5. 应确保Exceptions字段为空,然后单击OK按钮。 图 2展示了Internet Explorer的代理设置。
|
|
最新文章 |
图片主题 | ||||
|
||||
热门文章 |
推荐文章 | ||||
|
||||
相关文章 |
便民服务 | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||