跨站脚本

✍ dations ◷ 2025-12-05 10:12:55 #网络安全,注入漏洞,Web安全漏洞

跨站脚本(英语:Cross-site scripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

当网景(Netscape)最初推出JavaScript语言时,他们也察觉到准许网页服务器发送可执行的代码给一个浏览器的安全风险(即使仅是在一个浏览器的沙盒里)。它所造成的一个关键的问题在于用户同时开启多个浏览器视窗时,在某些例子里,网页里的片断代码被允许从另一个网页或对象取出资料,而因为恶意的网站可以用这个方法来尝试窃取机密信息,所以在某些情形,这应是完全被禁止的。为了解决这个问题,浏览器采用了同源决策——仅允许来自相同域名系统和使用相同协议的对象与网页之间的任何交互。这样一来,恶意的网站便无法借由JavaScript在另一个浏览器窃取机密资料。此后,为了保护用户免受恶意的危害,其他的浏览器与服务端指令语言采用了类似的访问控制决策。

XSS漏洞可以追溯到1990年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter,Facebook,MySpace,Orkut,新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。

Cross-site scripting的英文首字母缩写本应为CSS,但因为CSS在网页设计领域已经被广泛指层叠样式表(Cascading Style Sheets),所以将Cross(意为“交叉”)改以交叉形的X做为缩写。但早期的文件还是会使用CSS表示Cross-site scripting。

通常有一些方式可以测试网站是否有正确处理特殊字符:

攻击者使被攻击者在浏览器中执行脚本后,如果需要收集来自被攻击者的数据(如cookie或其他敏感信息),可以自行架设一个网站,让被攻击者通过JavaScript等方式把收集好的数据作为参数提交,随后以数据库等形式记录在攻击者自己的服务器上。

常用的XSS攻击手段和目的有:

避免XSS的方法之一主要是将用户所提供的内容进行过滤,许多语言都有提供对HTML的过滤:

很多时候可以使用HTTP头指定内容的类型,使得输出的内容避免被作为HTML解析。如在PHP语言中使用以下代码:

<?php   header('Content-Type: text/javascript; charset=utf-8');?>

即可强行指定输出内容为文本/JavaScript脚本(顺便指定了内容编码),而非可以引发攻击的HTML。

包括Internet Explorer、Mozilla Firefox在内的大多数浏览器皆有关闭JavaScript的选项,但关闭功能并非是最好的方法,因为许多网站都需要使用JavaScript语言才能正常运作。通常来说,一个经常有安全更新推出的浏览器,在使用上会比很久都没有更新的浏览器更为安全。

相关

  • 造影剂造影剂也称为对比剂、㫫影剤,是一种X光无法穿透的药剂,用于让体内器官在X光检查时能看得更清楚。例如消化道摄影时,医师会让患者喝下一杯造影剂溶液(大多含钡),然后用各种角度照相
  • 苯甲酸苄酯苯甲酸苄酯是由苯甲酸和苯甲醇缩合得到的酯类化合物,有多个重要用途。一种合成方法是以苯甲酸和苯甲醇为原料通过酯化反应合成。另一种方法是从苯甲醛的季先科反应得到。苯甲
  • 卡萝·格莱德卡罗琳·维德尼·卡罗尔·格雷德(英语:Carolyn Widney "Carol" Greider,1961年4月15日-),美国分子生物学家,现任约翰·霍普金斯大学分子生物学与遗传学系教授。她因为“发现端粒和
  • 1980年夏季奥林匹克运动会第二十二届夏季奥林匹克运动会(英语:the Games of the XXII Olympiad,法语:les Jeux de la XXIIe Olympiade,俄语:Игры XXII Олимпиады),于1980年7月19日至8月3日在苏
  • 氯酸镁氯酸镁(Magnesium chlorate),化学式Mg(ClO3)2·6H2O。常带有六个结晶水(六水合氯酸镁)。氯酸镁为无色斜方片状或针状结晶。溶于水,微溶于醇、丙酮。通过氯酸钠溶液与氯化镁溶液反
  • 乙酸氯乙酸氯是一种化合物,化学式为CH3COOCl,可由氯气的乙酸溶液和干燥的乙酸汞反应得到。它可用于在有机化合物中引入乙酸酯基(CH3C(=O)O-),如和2-氯-4-甲基苯甲醇反应,得到乙酸(2-氯-4
  • 少毛白花苋少毛白花苋(学名:)是苋科白花苋属的植物。分布于印度以及中国大陆的广东、云南、广西、贵州等地,生长于海拔2,500米的地区,多生长在山坡荫处,目前尚未由人工引种栽培。
  • 约翰·弗里德里希·瑙曼约翰·弗里德里希·瑙曼(德语:Johann Friedrich Naumann,1780年2月14日-1857年8月15日)是德国鸟类学家、博物学家和插画家。他被誉为当时欧洲最伟大的鸟类学家。为了纪念瑙曼对鸟
  • 魏荣爵魏荣爵(1916年9月4日-2010年4月6日)是一位中国声学家。1916年生于湖南邵阳。1937年毕业于金陵大学。1947年获美国伊利诺大学物理学硕士学位,1950年获美国加利福尼亚大学博士学位
  • 陈志朋陈志朋(Julian Chen,1971年5月19日-),台湾著名男歌手、男演员、导演,原台湾青春组合小虎队成员之一(小帅虎),蔡雨伦(忧忧),于佳卉(欢欢),吴奇隆的师弟,苏有朋的师兄。大嫂是刘诗诗。为红