【Web安全】一文说清XSS

 

嘻嘻,标题党了。。

目录

一、XSS的定义与分类

二、XSS与同源策略


一、XSS的定义与分类

XSS(Cross Site Scripting),跨站脚本。该漏洞发生在用户端,成因是由于动态网页的Web应用对用户提交请求参数未做充分的检查过滤,允许用户在提交的数据中掺入HTML代码,然后未加编码地输出到第三方用户的浏览器,这些攻击者恶意提交代码会被受害用户的浏览器解释执行。

XSS的攻击目标是为了盗取客户端的cookie或者其他网站用于识别客户端身份的敏感信息。获取到合法用户的信息后,攻击者甚至可以假冒最终用户与网站进行交互。

二、XSS与同源策略(讲述XSS的产生)

同源策略首当其冲的作用是防止用户在A网站中 使用在B网站已登录的身份 对B网站的数据进行操作。但过于严苛的同源策略会影响数据互联,比如拥有多个子域的大型网站,因此是控制不同源之间的交互是非常重要的事情。

一般来说,交互存在三种:通常允许跨域写操作(链接、重定向、表单提交)、通常允许跨域资源嵌入、通常不允许跨域读操作。可能嵌入跨源的资源的一些示例有:

  • 标签嵌入跨域脚本。语法错误信息只能在同源脚本中捕捉到。
  • 标签嵌入CSS。由于CSS的松散的语法规则,CSS的跨域需要一个设置正确的Content-Type 消息头。
  • / / 嵌入多媒体资源。
  • 的插件。
  • @font-face 引入的字体。一些浏览器允许跨域字体( cross-origin fonts),一些需要同源字体(same-origin fonts)。