【TechTarget中国原创】跨站脚本攻击(cross-site scripting,XSS)是Web开发人员面对的严重安全问题。这种攻击允许恶意网站操作人员滥用Web用户对不相关的第三方网站的信任,在终端用户系统上执行任意脚本。
描述跨站脚本攻击最简单地方法是使用案例。假如恶意网站www.malicious.com的操作员Mal决定利用来自Acme Widgets的影响用户的漏洞。Mal知道Acme操作企业内部互联网站,而网站上含有www.feedback.acme/form.htm的反馈形式。这种形式可以处理用于的反馈并显示确认页面,感谢用户提交并显示输入到页面的数据。Mal还知道Acme的用于把www.feedback.acme网站列为了受信网站,而他的网站www.malicious.com是不受信任的网站。
为了进行攻击,Mal在网站中加了超级链接,写上“免费啤酒,点击这里!”(或者其他的),并编写代码向Web网页提交数据,处理来自www.feedback.acme/form.htm的输入信息。在反馈中,他输入“谢谢”信息。
当用户点击“免费啤酒,点击这里!”的链接,他或她就会无意间向受信网站提交格式,然后他们的浏览器显示感谢他们输入的信息。但是,当浏览器在标签中遇到页面的一部分的时候,它就会执行Web脚本代码。
现在,你可能会问把用户从Mal的网站导向Acme的网站有什么好处啊。它存在于收信任的关系中。当然,Mal可以简单地把脚本放在自己的网站上,绕过这种情况中跨站的部分。但是,在这种情况下,Mal的代码可以通过浏览器队不受信任网站的规则处理掉。通过使用跨站脚本攻击,他可以有效地劫持Acme用户和Acme企业内网之间的受信关系,并根据浏览器对受信网站的规则执行他的代码是最好的解决方案。
不幸的是,跨站脚本漏洞没有简单的修复补丁。Web开发人员必须在用户浏览器上显示之前,认真过滤掉需要处理数据的标签和其他任何敏感HTML元素。和很多Web安全问题一样,由注重安全意识的开发人员警惕注意安全项目。