接续《当我们谈Web应用安全的时候 主要谈哪些(上)》 三、Cookies和会话管理 Web会话根据不同的服务器端脚本技术有不同的实现方式,但一般当用户输入该网站它们就会启动,并且当用户关闭浏览器或会话超时它们就会终止。会话用于跟踪用户的活动,诸如用户加入商品到购物车中,该网站通过使用会话标识符跟踪商品进度。 会话使用cookie(由网站每个站点或每个页面发送的数据,由用户的浏览器存储)。每次用户访问Web站点时就发送了一个cookie,浏览器会发送cookie返回到该网站。
(虽然Cookie可以被用来跟踪用户的上网行为和被认为是一个主要的隐私威胁,但他们仍然是会话管理的最佳媒介。 )会话使用……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
三、Cookies和会话管理
Web会话根据不同的服务器端脚本技术有不同的实现方式,但一般当用户输入该网站它们就会启动,并且当用户关闭浏览器或会话超时它们就会终止。会话用于跟踪用户的活动,诸如用户加入商品到购物车中,该网站通过使用会话标识符跟踪商品进度。
会话使用cookie(由网站每个站点或每个页面发送的数据,由用户的浏览器存储)。每次用户访问Web站点时就发送了一个cookie,浏览器会发送cookie返回到该网站。(虽然Cookie可以被用来跟踪用户的上网行为和被认为是一个主要的隐私威胁,但他们仍然是会话管理的最佳媒介。 )会话使用Cookie来识别用户,并以积极的会话标识符配对。
攻击者可以滥用会话和cookie,下面部分将处理各种风险:
· 会话盗窃
· 通过发送数据到其他用户管理会话
· Web服务器的cookie的攻击
· 保护会话
1. 会话盗窃
假设一个用户在登录到使用会话的网站。该网站作为验证过标记会话并允许身份验证的用户浏览安全区域。运用post或get来保存弱会话标识符或其他相关的识别数据(如电子邮件地址)不是最好的选择。取而代之的是,网站可以使用cookie命令来保存敏感数据,但攻击者也可以攻破。服务器端的cookie是另一种选择。
让我们假设网站使用电子邮件地址作为识别数据。之后,用户必须登录后,系统才会发送给浏览器一个包含用户的电子邮件地址的cookie。对于每一个用户将访问的页面,浏览器将发送包含用户E-mail地址的cookie。该网站会检查Cookie中的数据,并允许用户访问通过许可证的网页。
攻击者可能修改在cookie中的数据。然而,假设cookie包含someemail@site.com ,我们每次访问网站的时候就可以自动访问限制区域。如果攻击者将他cookie中的E- mail地址(位于他的计算机上)改为someotheremail@site.com ,下一次攻击者访问站点时,他就会被默认为是该用户 ,允许他访问用户的数据。
2. 无数据发送到用户的会话管理
有些用户禁用cookies(保护自己的隐私),这表明也不允许会话管理(其需要Cookies)。除非该网站使用的是安全性较低方法来管理会话,跟踪用户的唯一方法是通过使用IP地址作为识别码。然而,这种方法有很多问题:
· 有些用户通过浏览网络地址转换(NAT),如企业用户,它们将共享一个或有限数量的IP地址。
· 有些用户上网通过匿名代理,他们将分享这个代理的IP地址(虽然有些代理通过发送客户端的地址来允许Web站点使用它的会话管理)。
· 有些用户使用拨号连接和共享一个IP地址区,这意味着当用户断开连接时,下一个连接的用户将得到该IP地址。(这个问题可以用一个短的IP超时来解决,在时间到期之后,IP地址不会被链接到一个会话。)
3. 确保会话跟踪
确保会话跟踪的最好方法是使用一个难以猜测的标识符,来确定是否是来自用户的数据,如加密字符串或GUID ,并将该标识符链接到用户的IP地址。以防多个用户共享一个IP地址,会话标识符可用于区分它们。
此外,短的超时时间可以在限制的时间用完以后,删除活动会话。这表明,如果用户不正常关闭浏览器(如在一台计算机或浏览器崩溃的情况下),该会话由服务器关闭。
4. Web服务器的Cookies攻击
攻击者通过专用软件打开很多连接,使用cookies管理来耗尽Web服务器的资源。由于当一个浏览器关闭时,该软件不会发送“关闭”事件,该会话不会被删除直到超时。在此期间,该会话的信息被保存或者在存储器中或硬盘驱动器,浪费资源。
解决这个问题的方法是配置防火墙,以便它不容许更大于每秒特定数目的连接,这将阻止攻击者启动无限数量的连接。
四、注意其他一般攻击
有些攻击是不属于任何特定类别的一部分,但他们仍然对Web应用程序构成显著风险。其中易损坏的脚本,尝试强制性登录,和缓冲区溢出。
1. 易损坏脚本
有人公开使用的脚本(这在本质上是等同于Web应用程序)包含错误,允许攻击者查看或修改文件,甚至接管Web服务器的计算机。找出Web服务器是否包含这样的脚本最好的方法是运行一个漏洞扫描器,不管是免费的或商用的。如果找到这样一个脚本,它会被更新(更新为不容易受攻击的版本)或被其他脚本替代。
2. 强制性登录
攻击者可以尝试使用字典进行强制性登录(一个标准的Web登录或自定义的ASP)。有许多的打击这种强制性攻击的方法:
· 限制每个IP地址的每秒连接数(在防火墙级别或服务器端脚本级别进行定义)
· 强制用户选择包含大写和小写字母和数字的高安全性密码
3. 缓冲区溢出
缓冲区溢出可以用来获得对Web服务器的控制。攻击者发送大量包含汇编代码的输入,如果脚本存在漏洞,字符串会被执行,并且通常运行一个木马程序,这将允许攻击者接管计算机。
结论
Web应用程序比客户端应用程序更难保证安全性,因为它不像Web服务器有四,五个主要供应商的Web服务器,它 有大量的Web应用程序和自定义脚本数量,而且每个都可能包含潜在的漏洞。对于开发人员来说,确保应用程序安全的最佳方法是使用建议的安全措施和可以扫描代码的软件,并提醒用户潜在的安全问题。管理员需要定期扫描其Web站点中的漏洞。
相关推荐
-
安全11月谈:Web安全实用技巧集
在安全11月最受读者关注的技巧中,着重探讨了为保护Web安全,企业安全团队所需关注的点和可实施的措施,包括URL过滤的最佳实践、部署Web应用防火墙等,希望对读者能有所帮助。
-
为什么要部署Web应用防火墙?
大型的Web应用易受多种攻击,如SQL注入和跨站脚本攻击漏洞等,为保护Web应用程序,建议企业利用Web应用防火墙……
-
当我们谈Web应用安全的时候 主要谈哪些(上)
在本文中,主要探讨Web应用程序的安全性,主要包括漏洞攻击者如何利用不安全的Web应用程序来危害整个服务器或者破坏一个网站、以及开发人员如何避免引入这些漏洞。
-
选择Web应用扫描方案应重视的10个特性
Web应用扫描器的扫描方式和扫描特性在很大程度上决定着其功能是否强大。企业在选择Web应用扫描方案时应考虑10个重要的特性。