网站运营
位置:首页>> 网站运营>> 常见的 XSS 注入攻击方式 Part.2 2

常见的 XSS 注入攻击方式 Part.2 2

作者:grace 来源:gracecode.com 发布时间:2008-11-10 12:42:00 

标签:xss,注入,攻击,数据,css

接上一期,这里主要考虑 CSS 注入的方式。CSS 注入主要为背景图注入和针对 Exploer 的 CSS Expression 注入。

考虑没有完全将样式过滤的情况,下面的代码即有可能成为攻击代码

<xss style="behavior: url(xss.htc);">

上面的是针对 Exploer 的 htc 注入,htc 可以认为是个脚本。

<div style="background-image: xss.jpg">

谁会知道 xss.jpg 是什么内容呢?不过很多站点统计代码也是使用了这一原理。

<div style="width: expression(alert('xss'));">
<img style="xss:expr/*xss*/ession(alert('xss'))">
exp/*<A style='noxss:noxss("*//*");xss:ex/*xss*//*/*/pression(alert("xss"))'>

针对 Exploer 的 Expression 要保持“淡定”,最好的做法就是过滤 style 属性。

如果没有将注释完全过滤充分,则又会在 Exploer 出现典型的注入漏洞

<!--[if gte IE 4]>
    <script>alert('xss');</script>
<![endif]-->

安全性问题,这个时候我反而感谢 Exploer 提供那么多的“机会”。

-- Split --

那么如何预防 XSS 注入?主要还是需要在用户数据过滤方面得考虑周全,在这里不完全总结下几个 Tips

  1. 假定所有的用户输入数据都是“ * ”的

  2. 弱类型的脚本语言必须保证类型和期望的一致

  3. 考虑周全的正则表达式

  4. strip_tags、htmlspecialchars 这类函数很好用

  5. 外部的 Javascript 不一定就是可靠的

  6. 引号过滤必须要重点注意

  7. 除去不必要的 HTML 注释

  8. Exploer 求你放过我吧……

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com