识别常见Web应用程序安全漏洞
随着互联网的普及和网络技术的飞速发展,网络安全面临的挑战越来越严峻。随着网络信息和服务的可用性的提高,以及攻击和网站破坏的增长,安全风险达到了前所未有的高度。因为很多安全工作的重点是网络本身,Web应用程序是几乎被人遗忘了。也许这是因为使用独立的计算机上运行的应用程序。如果计算机是安全的,应用程序是安全的。Web应用程序运行在许多不同的机器上:客户机、Web服务器、数据库服务器和应用服务器,由于它们通常可以被所有人使用,所以这些应用程序已经成为许多攻击的后台旁路。因为Web服务器提供了几种方法,将请求发送到应用服务器,并将修改过的或新的网页发送给最终用户,这样可以更容易地非法闯入网络。
此外,许多程序员不知道如何开发安全应用程序,他们的经验可能是开发独立应用程序或内部网Web应用程序,而这些应用程序没有考虑到安全漏洞被利用的潜在后果。
其次,许多Web应用程序是很容易被攻击的服务器,应用程序,和内部开发的代码。这些攻击直接通过外围防火墙安全措施,因为端口80或443(SSL安全套接字协议层)必须是开放的,应用程序可以正常运行。Web应用攻击包括DoS(拒绝服务)对应用程序本身的攻击,改变网页内容,并窃取关键信息或用户信息。
总之,Web应用攻击不同于其他的攻击,因为他们是很难发现和可能来自任何在线用户甚至经过身份验证的用户。到目前为止,这方面还没有得到重视,因为企业用户主要使用防火墙和入侵检测解决方案来保护他们的网络安全和防火墙和入侵检测解决方案找不到网络攻击。
常见的Web应用程序安全漏洞
下面列出了常见的安全漏洞列表,并对如何生成这些漏洞进行了简单的解释。
已知的弱点和错误
已知弱点包括操作系统的Web应用和第三方应用程序或漏洞,可以用于所有的程序错误,这个问题也涉及到错误配置,包括不安全的默认设置或应用程序管理员没有安全配置。一个很好的例子就是你的Web服务器被配置为启用任何用户通过系统上的任何目录的路径,这可能会导致一些敏感的信息存储在Web服务器上,如密码的源代码,或客户信息。
隐藏字段
在许多应用中,隐藏的HTML格式的字段用于保存系统密码或大宗商品价格。虽然名字是这样,这些领域都不是很隐蔽,任何网页上执行;人查看源代码可以看到,许多Web应用程序允许恶意用户修改HTML源代码文件的这些领域,为他们提供的机会,购买商品时很少或没有成本。这些攻击的成功是因为大多数应用程序不验证网页。相反,他们认为输入数据和输出数据是相同的。
后门和调试漏洞
开发人员通常会建立后门,依靠调试来排除应用程序故障。这可以在开发过程中完成,但这些安全漏洞常常留在Internet上的一些最终应用程序中。一些常见的后门用户可以登录或访问允许直接应用程序配置而无需密码的特殊URL。
跨站点脚本
一般来说,写剧本,跨站点的插入代码到一个网页是由另一个源发送的过程。写脚本在跨站点的方法之一是使用HTML格式发布信息公告板作为写作的跨站点脚本的一个很好的例子。恶意用户将在包含恶意Javascript代码的公告板信息。当用户看公告板,服务器发送HTML这种恶意用户代码显示,客户端的浏览器会执行的代码,因为它认为它是从Web服务器的一个有效的代码。
参数篡改
参数篡改包括操纵URL字符串检索,不可用在其他方面的用户信息,访问的Web应用程序是通过调用通常是包含在URL中的SQL做后台数据库,恶意用户可以操纵SQL代码,所以它是可能的检索列表包含所有用户、密码、信用卡号码或其他数据存储在数据库中的未来。
改变Cookie
改变Cookie是指修改存储在cookie中的数据。网站经常存储cookie,包括用户ID、密码、账号,所以对用户系统。通过改变这些值,恶意的用户可以访问他们的帐户,不属于他们。攻击者可以窃取用户的cookie和访问用户的帐户不需要输入ID和密码或其他验证。
输入信息控制
输入信息检查包括通过在HTML格式,通过CGI脚本处理控制输入信息运行系统命令的能力。例如,发送信息到另一个用户使用CGI脚本的形式可以被攻击者控制的邮件服务器的密码文件,恶意用户或删除的系统中的所有文件。
缓冲区溢出
缓冲区溢出是一种恶意用户发送大量的数据到服务器瘫痪的系统典型的攻击。该系统包括用于存储这些数据设定缓冲区。如果所接收的数据量大于缓冲区,一些数据会溢出到堆栈。如果这些数据编码,然后系统执行任何代码,溢出堆栈。Web应用程序的缓冲区溢出攻击的一个典型的例子还包括HTML文件。如果在一个字段的数据在一个HTML文件足够大,它可以创建一个缓冲区溢出条件。
直接访问浏览
直接访问浏览指直接访问应该验证的网页。未正确配置的Web应用程序允许恶意用户直接访问带有敏感信息的URL,或使提供收费页面的公司失去收入。
Web应用程序安全的两个步骤
Web应用程序的攻击可以对财产造成重大损失,资源和企业的声誉。虽然Web应用增加了企业的攻击的风险,有许多方法可以帮助降低风险。首先,要教育开发人员了解安全编码方法。这一步只消除了大多数Web应用程序安全问题。其次,保持最新的安全补丁跟上所有供应商。如果我们不修复已知的缺陷,和Troy Trojan horse一样,攻击者可以很容易地访问您的Web应用程序、数据库服务器、应用服务器等通过您的Web应用程序。结合这两个步骤将大大降低Web应用程序被攻击的风险同时,管理者必须采取严格的措施,确保任何事情都不能从漏洞中溜走。