十二问让你全面了解跨站脚本攻击(3)
来源:asp之家 发布时间:2009-12-24 16:27:00
网站收集cookie示例
真实的攻击步骤中,这些cookie会被发送给攻击者。攻击者为此会搭建一个网站(我们称为www.attackerexample.com),还会应用一个脚本负责接收盗取的cookie。攻击者会写一段恶意代码,用于实现访问攻击者站点、并能调用接收cookie的脚本。最终,攻击者可以从www.attackerexample.com站点获取到cookie。
构造的恶意链接如下:
http://www.vulnerableexample.com/welcome.cgi?name=
服务器响应内容显示为:
Hi
Welcome!
。..
浏览器会加载服务器端返回页面,执行内嵌的JavaScript,并发送一个请求到www.attackerexample.com站点上的collect.cgi脚本,浏览器中保存的www.vulnerableexample.com站点的cookie值也会一起发送过去。攻击者获取到客户在www.vulnerable.site站点的cookie,还可以假冒受害者。
Q7:加密是否能有效防护XSS攻击?
通常大家会认为如果网站使用了HTTPS,提供更有保障的安全,可以幸免于XSS攻击。其实这是一种误解。HTTPS仅提供传输层的安全,在应用层仍然面临XSS的威胁。[2]
Q8:XSS漏洞是否可能引起非法执行命令?
如果浏览器设置安全性不够时,XSS漏洞允许插入JavaScript,也就意味着攻击者可能获取受限的客户端执行权限。如果攻击者进而利用浏览器的漏洞,就有可能在客户端非法执行命令。简言之,XSS漏洞有助于进一步利用浏览器漏洞。[2]
Q9:从网站开发者角度,如何防护XSS攻击?
来自应用安全国际组织OWASP的建议[3],对XSS最佳的防护应该结合以下两种方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。具体如下:
·输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。
·强壮的输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。
·明确指定输出的编码方式(如ISO 8859-1或 UTF 8):不要允许攻击者为你的用户选择编码方式。
·注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如“《” “》”或类似“script”的关键字),很容易被XSS变种攻击绕过验证机制。
·警惕规范化错误:验证输入之前,必须进行解码及规范化以符合应用程序当前的内部表示方法。请确定应用程序对同一输入不做两次解码。
Q10:从网站用户角度,如何防护XSS攻击?
当你打开一封Email或附件、浏览论坛帖子时,可能恶意脚本会自动执行,因此,在做这些操作时一定要特别谨慎。建议在浏览器设置中关闭JavaScript。如果使用IE浏览器,将安全级别设置到“高”。具体可以参照浏览器安全的相关文章。[2]
这里需要再次提醒的是,XSS攻击其实伴随着社会工程学的成功应用,需要增强安全意识,只信任值得信任的站点或内容。
Q11:如果修补XSS漏洞对网站来说困难较大,不修补会怎样?
如果不能及时修补XSS漏洞,网站可能成为攻击者攻击第三方的媒介,公信度受损;网站用户成为受害者,敏感信息泄漏。现实中,确实存在某些无法修补漏洞的客观原因,如Web应用开发年代久远或者整改代码需要付出过于高昂的代价。这种情况下, 选择Web安全网关会是一种合理选择。正确应用这类安全工具,会极大缓解XSS攻击,降低安全风险。
Q12:下一代XSS会是怎样的?
随着AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)技术的普遍应用,XSS的攻击危害将被放大。使用AJAX的最大优点,就是可以不用更新整个页面来维护数据,Web应用可以更迅速地响应用户请求。AJAX会处理来自Web服务器及源自第三方的丰富信息,这对XSS攻击提供了良好的机会。AJAX应用架构会泄漏更多应用的细节,如函数和变量名称、函数参数及返回类型、数据类型及有效范围等。AJAX应用架构还有着较传统架构更多的应用输入,这就增加了可被攻击的点。


猜你喜欢
- Service Unavailable是一种系统的警告提示。如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池
- AMH,这是一个由国人开发的LNMP/Nginx 虚拟主机面板,看到部落一直在测试各种VPS控制面板,有不少的朋友给我留言说可以测试和分享一
- linux 任务管理-后台运行与终止fg、bg、jobs、&、ctrl + z命令一、 &加在一个命令的最后,可以把这个命令
- 背景:在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫
- 问题:之前虚拟机都是可以通过桥接模式上网的,这两天新装的虚拟机不管怎么设置,都无法通过桥接模式连接上网络。原因和解决办法:尝试了很多种办法,
- 7月23日晚间消息,阿里巴巴集团董事局主席马云刚刚发布内部邮件,号召阿里巴巴全体准备“过冬”,以下为该邮件全文.各位阿里人:对阿里巴巴B2B
- 当营销商在思考媒体购买的时候,效果监测指标、用户资料、定价和可用性都是他们首要考虑的问题,但媒体购买中最重要的驱动因素就是内容。如果内容非常
- 关于链接的价值相对于其他链接策略,这是一个可以辩论的话题。并且毫无疑问,一个双向链接,到目前为止,价值是相互的。不过,如果做的正确,对等链接
- 如何增加网站访问量?以下是你可以考虑采用29个方法。其中,你或许已经采用了一些,有的方法你可能忘了采用,还有一些是你从来没有听说过的。总之,
- 从事搜索引擎优化的人员都非常清楚,原创性内容对于搜索引擎优化的意义,特别是在08年下半年开始,百度对于网页重复内容的过滤更加严格了,搜索引擎
- 介绍Netdata通过可扩展的Web仪表板提供准确的性能监控,可以显示Linux系统上的流程和服务。它监控有关CPU,内存,磁盘,网络,进程
- 建站程序是站长运营网站的根本,如何结合整合各个不同系统的程序、数据表、架构,提供统一的网站会员系统,一直是困扰很多站长的问题,而使用UCen
- 什么是红海战略和蓝海战略红海战略主要是在已有已知的市场空间竞争,在这里你相对于你对手是成本比他低,或是比他更加可以达到差异化的战略两者取其一
- 业界加密 TCP/IP 网络产品的标准是 SSL ,对于 Internet 上普遍使用的超文本传输协议(HTTP)而言,其加密后的协议称为
- 在威客这个平台上,出现最多的是设计(这里指图形图像类),出现最少的恐怕就是这个软件开发了。什么是软件?先要明白这个概念。软件(softwar
- 拨号服务器的维护和管理是关乎服务器端和客户端、涉及软件与硬件的较繁杂的工作。它要求管理员多实践,且善于归纳和总结,只有这样,才能形成一套自已
- 木马是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和危害性,它可以在人不知鬼不觉的状态下控制你或者监视你。有人说,既然木马这么厉害,那
- 网络“黑客”张子伟入侵计算机服务器,以删除数据为要挟,索要钱财5000元人民币。12月11日,上海市静安区法院对这起“‘黑客’敲诈案”作出一
- 1、编写一个简单的java程序public class testshell { public static void main(
- 2008 年 8 月的最后一周,我们将暂停 AdSense 推介计划。这可能会给正在投放推介广告的发布商带来一些不便,我们在这里表示歉意。G