xss

        恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

XSS的种类

  XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。

   另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
 
  防范措施是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那么就存在XSS漏洞。这个利用XSS漏洞的病毒之所以具有重要意义是因为,通常难以看到XSS漏洞的威胁,而该病毒则将其发挥得淋漓尽致。
 

论跨站脚本(XSS)攻击的危害、成因及防范

1 引言 

   
  在Web 2.0出现以前,跨站脚本(XSS)攻击不是那么引人注目,但是在Web 2.0出现以后,配合流行的AJAX技术,XSS的危害性达到了十分严重的地步。比如,世界上第一个跨站脚本蠕虫发生在MySpace网站,20小时内就传染了一百万个用户,最后导致该网站瘫痪。因此我认为,XSS是在脚本环境下的溢出漏洞,其危害性绝不亚于传统的缓冲区溢出漏洞。 
   
  2 XSS攻击的定义 
   
  跨站脚本英文名称是(Cross Site Script),为了与层叠样式表(Cascading Style Sheets)区分,故命名为XSS。 
  XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面时,嵌入其中的脚本将被解释执行。 
   
  3 跨站脚本漏洞的成因 
   
  3.1XSS成因概括 
  XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库最 
  终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。 
  3.2常规跨站漏洞 
  我们来看一段接收评论的代码: 
  <% 
   UserName= Request.Form(” UserName”) 
   Comment=Request.Form(”Commmet”) 
   Email= Request.Form(”Email”) 
   Conn.execute(“insert into Comment (Com_UserName, Com_Comment, Com_Email) values(’”& UserName&”’,’”& Comment&”’,’”& Email”’)”) 
  %> 
   可以看到,从客户端输入的所有变量没有经过任何过滤就直接进入了数据库。攻击者可以在表单中输入:,点击提交后,那么其他用户在浏览该页面时就会不知不觉打开一个预先挂有木马的页面http://www.xxx.com/muma.html,如果没打相应的补丁,就会中马。当然XSS的攻击方式还有很多,比如通过跨站将上传的图片备份直接得到WebShell、结合AJAX技术通过蠕虫攻击等,因为这不是本文的重点,在这里就不一一列举了。 
  3.3 UBB跨站漏洞 
  在很多论坛里发帖时,点击图片模样的按钮,在编辑区域就会出现[IMG][/IMG]的字样,这是采用了一种UBB编码的方式,如果攻击者输入,它会默认将其转换为,通过这种方式诱发的跨站漏洞称为UBB跨站漏洞。 
   
  4 防范方法 
   
  4.1针对常规跨站漏洞 
  在常规的跨站漏洞中,正是因为攻击者可以不受限制地引入“<>”,导致了他可以操纵一个html标记,从而诱发了XSS攻击。因此首先就要过滤掉“<>”: 
  Replace(str,”<”,”<”) 
   Replace(str,”>”,”>”) 
  4.2针对UBB跨站漏洞 
  UBB跨站漏洞的防范相对来说比较复杂,首先攻击者必须引入javascript或vbscript代码来达到攻击的目的,所以首先要过滤中javascript后面的冒号,将其用中文的冒号替代: 
  Replace(str,”:”,”:”) 
  但是HTML支持&#ASCII这样的编码,攻击者又可以通过重新达到目的(58是冒号的十进制ASCII码),所以必须过滤&符号: 
  Replace(str,”&”,”&”) 
   以上虽然已经过滤了来自标签属性的威胁,攻击者还是可以通过触发一个错误事件来达到目的。所以还需过滤掉以下字符: 
  Replace(str,” ”,” ”)//过滤空格 
  Replace(str,”=”,”=”)//过滤等号 
  Replace(str,””””,”"”)//过滤双引号 
   
  5 结束语 
   
  通过以上分析我们看到,XSS是一种危害较大、较难防范,并且更加隐蔽的攻击方式。其实只要明白其原理,再加上勤加思考防范的对策,就可以根治XSS漏洞。
  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓