A-A+

什么是跨站脚本攻击

2013年02月19日 计算机技术 暂无评论 阅读 70 views 次

随着各种网站程序设计及网站管理设置安全程度越来越高,各类恶意的入侵攻击者都被阻挡在网站安全防线之外,攻击者想要入侵攻击某个网站服务器,是愈来愈困难的事情。但是攻击者的恶意入侵行为并没有就此终止,他们将入侵攻击的目标转而盯上了网站的用户,各类网站的浏览者。

在某个安全程度非常高的网站,攻击者也许只需小小的一句代码,就让网站成为了入侵者的帮凶--网站本身并没有遭受到任何攻击,但是浏览网站的上网者,却成了攻击的受害者。而这一段让网站无缘无故成了攻击者的帮凶的代码,也就是所谓的“跨站”攻击代码。

跨站脚本攻击又叫 CSS 攻击,这里的 CSS 可不是网站设计中的 CSS(分层样式表),而是指入侵攻击者通过某种方式,在远程的 Web 页面的 HTML 代码中写入特殊的字符串。当其他上网者在浏览此页面时,嵌入页面中的这些字符就会被作为一段脚本代码而执行。

有时跨站脚本攻击,也被称为 XSS 攻击,这是为了避免与 CSS 分层样式表造成混淆。

黑客向远程页面中写入代码的方法很多,比如最常见的是在论坛中发贴时,在贴子中加入可执行的代码;或者在网站的用户资料修改处,也可以通过更改签名、联系方式等,在用户信息页面中嵌入脚本代码。无论采用何种方式写入执行代码时,要求网页程序没有对用户输入的数据进行严格的过滤,有的网页程序限制了用户写入的字符类型,有危险的特殊代码就无法写入执行。

一个最简单的例子就是,假设我们通过某种方式在一个网页中写入了下面这样一段代码:

<script>alert("这是一个跨站漏洞的测试")</script>

当别人浏览此网页时,就会弹出一个如图 1 所示的对话框,说明写入的代码成功执行了。但是如果在网页程序中过滤了“<”、“>”及“/”之类的字符时,这段代码就无法成功写入执行。

跨站漏洞当然不只是用来弹出一个对话框这么简单,利用跨站漏洞,入侵者可以进行非常多的攻击,比如盗取别人 Cookies 中的帐号和密码,或者伪造页面信息、进行拒绝服务等。可以说跨站漏洞是一个危害性非常大的漏洞。

标签:

给我留言