鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 电脑学堂 > 网吧技术 > >

网管们要注意 跨站脚本攻击详细讲解

来源:互联网 作者:佚名 时间:2015-02-04 15:37
一、什么是跨站脚本? 跨站脚本(Cross-site scripting,简称XSS),是一种迫使Web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供、最终为用户浏览器加载。不同于大多数攻击(一般只涉及攻击者和受害者),XSS涉及到三方,即攻击者、客户端与
一、什么是跨站脚本?

  跨站脚本(Cross-site scripting,简称XSS),是一种迫使Web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供、最终为用户浏览器加载。不同于大多数攻击(一般只涉及攻击者和受害者),XSS涉及到三方,即攻击者、客户端与网站。XSS的攻击目标是为了盗取客户端的cookie或者其他网站用于识别客户端身份的敏感信息。获取到合法用户的信息后,攻击者甚至可以假冒最终用户与网站进行交互。

  XSS漏洞成因是由于动态网页的Web应用对用户提交请求参数未做充分的检查过滤,允许用户在提交的数据中掺入HTML代码(最主要的是 “》”、“《”),然后未加编码地输出到第三方用户的浏览器,这些攻击者恶意提交代码会被受害用户的浏览器解释执行。

  二、XSS缩写来源?

  依照英文缩写习惯,简称跨站脚本为CSS。这样会引起它和另一个名词“层叠样式表”(Cascading Style Sheets,CSS)的混淆。此CSS非彼CSS。为了以示区别,一些安全人士就习惯将跨站脚本简称为XSS。

  三、XSS存在哪些威胁?

  攻击者可以利用XSS漏洞、借助存在漏洞的Web网站攻击其他浏览相关网页的用户,窃取用户浏览会话中诸如用户名和口令(可能包含在cookie 里)的敏感信息、通过插入恶意代码对用户执行挂马攻击。XSS漏洞还可能被攻击者用于网页篡改,只是多数情况为了经济利益最大化,攻击者不会直接进行篡改。

  四、XSS漏洞的普及率有多高?

  国际Web应用安全组织WASC(Web Application Security Consortium)最新数据[4]表明,采样分析了10297个网站,其中有31.47%站点存在XSS漏洞,且XSS在发现的漏洞中占到总数的 41.41%,高居榜首。

  图1. 最为普及的Web应用安全漏洞[4]

  五、能否列举XSS实例?

  2005年,一位叫Samy的MySpace用户自创了一种XSS蠕虫,24小时内,其网络空间朋友数目成功从73上升到1百万。

  2006年,PayPal遭到XSS攻击,攻击者将PayPal站点的访问者重定向到一个新的页面,上面警告用户他们的帐号已经不再安全,需要重新设置,并提示输入PayPal的登录信息、用户社保信息及信用卡信息。

  2008年5月,eBay承认其PayPal页面存在XSS漏洞,该漏洞会被攻击者用于盗取用户证书或cookie。

  六、攻击者如何通过XSS攻击偷取cookie?

  在此,仅做举例说明,帮助读者理解XSS攻击的思路。本文中的例子来自。

  首先,让我们假设:存在一个网站www.vulnerablee****.com。该网站上有一个脚本welcome.cgi,参数设定为name。此脚本会读取HTTP请求的部分,然后未做任何安全性验证,就将请求内容部分或全部回显到响应页面。

  通常,如果用户端发送以下请求:

  GET /welcome.cgi?name=Sammi HTTP/1.0

  Host: www.vulnerablee****.com

  服务器将会有如下响应:

  Hi Sammi

  Welcome!

  。..

  弹出Alert窗口示例

  上述机制将如何为攻击者所利用呢?我们先列举一个直观的方法。通常,攻击者会应用社会工程学(Social Engineering)设法诱骗受害者点击由攻击者精心构造的链接,如发送一封标题为“免费听林肯公园北京现场演唱会”的邮件。

  攻击者构造的恶意链接如下:

  http://www.vulnerablee**.com/welcome.cgi?name=

  受害者一旦点击了恶意链接,会发送如下请求到www.vulnerablee***.site站点:

  GET /welcome.cgi?name= HTTP/1.0

  Host: www.vulnerablee****.com

  。..

  站点将返回如下响应:

  Hi

  Welcome!

  。..

  因为服务器端返回的HTML页面包含一段JavaScript代码,受害者浏览器会解释执行。这段代码被执行后,将被允许访问浏览器中属于www.vulnerablee***.com站点的 cookie。此时,用户侧浏览器上会弹出一个alert窗口。

  网站收集cookie示例

  真实的攻击步骤中,这些cookie会被发送给攻击者。攻击者为此会搭建一个网站(我们称为www.attackere**.com),还会应用一个脚本负责接收盗取的cookie。攻击者会写一段恶意代码,用于实现访问攻击者站点、并能调用接收cookie的脚本。最终,攻击者可以从www.attackere**om站点获取到cookie。

  构造的恶意链接如下:

  http://www.vulnerablee**om/welcome.cgi?name=

  服务器响应内容显示为:

  Hi

  Welcome!

  。..

  浏览器会加载服务器端返回页面,执行内嵌的JavaScript,并发送一个请求到www.attackere**om站点上的collect.cgi脚本,浏览器中保存的www.vulnerablee***.com站点的cookie值也会一起发送过去。攻击者获取到客户在www.vulnerablee***.com站点的cookie,还可以假冒受害者。

网友评论
<