跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。

网站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受其影响。

攻击分类

人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。因此有人将跨站脚本攻击缩写为XSS。如果听到有人说 “我发现了一个XSS漏洞”,显然他是在说跨站脚本攻击。

类型

(1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。

(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。

(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

危害

为了搜集用户信息,攻击者通常会在有漏洞的程序中插入 JavaScript、VBScript、 ActiveX或Flash以欺骗用户(详见下文)。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告等。每天都有大量的XSS攻击的恶意代码出现。

XSS防御规则

不要在允许位置插入不可信数据;

在向HTML元素内容插入不可信数据前对HTML解码;

在向HTML常见属性插入不可信数据前进行属性解码;

在向HTML JavaScript Data Values插入不可信数据前,进行JavaScript解码;

在向HTML 样式属性值插入不可信数据前,进行CSS解码;

在向HTML URL属性插入不可信数据前,进行URL解码;

Copyright© 1999-2025 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4