|
導讀網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據... 網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 鑒于腳本程序可能帶來的危險,WebMail系統完全有必要禁止html郵件中的腳本程序。禁止腳本程序的基本做法就是過濾掉html源程序中能夠使腳本程序運行的代碼,如script元素等,在這方面做的最好的莫過于hotmail了。下面是些常見的繞過腳本程序過濾的方法,不少的WebMail系統仍然沒有完全改正: (1) 在html語言里,除了script元素內的或在script元素內引入的腳本程序能在html頁面裝載時被運行外,使用事件屬性也能調用腳本程序運行,事件屬性在JavaScript語言里被稱為事件句柄,用于對頁面上的某個特定事件(如鼠標點擊、表單提交)做出響應,驅動javascript程序運行。它的語法如下: <tag attribute1 attribute2 onEventName="javascript code;"> 例如: <body onload="alert('JavaScript#1 is executed');"> (2) URI(Universal Resource Identifier:通用資源標識)用于定位Internet上每種可用的資源,如HTML文檔、圖像、聲音等。瀏覽器根據URI的資源類型(URI scheme)調用相應的程序操作該資源,如果把一些元素的URI屬性值的資源類型設為javascript,則能夠調用javascript程序運行。語法如下,注意要用“;”分隔不同的javascript語句: <tag attribute="javascript:javascript-code;"> 例如: <body background="javascript:alert('JavaScript#1 is executed');"> (3) 由于軟硬件或其他原因,一些冷僻或特殊的字符不能輸入或正確顯示在html頁面上,為了解決這個問題,html中可以使用SGML字符參考。字符參考是一種用來指定文檔字符集中任何字符的獨立編碼機制,以“&”開始,以“;”結束。字符參考有兩種表達方式:數字字符參考和實體字符參考。數字字符參考的語法為“&#D;”(D代表一個十進制數),或“&#xH;”、“&#XH;”(H代表一個十六進制數),例如“A;”、“A;”表示字母“A”,“水;”、“水;”表示漢字“水”。 攻擊者把html語句里的一些字符以數字字符參考來代替,這樣能避開WebMail系統對腳本程序的過濾。需要注意的是,元素和屬性不可以用字符參考表示,例如: <body> (4) 樣式表是層疊樣式表單(CSS:Cascading Style Sheet)的簡稱,用于控制、增強或統一網頁上的樣式(如字體、顏色等),它能夠將樣式信息與網頁內容相分離,在html語言的style標簽內可以用@import聲明輸入一個樣式表。但是,如果輸入的資源類型或內容是javascript,Internet Explorer瀏覽器仍然會執行。 其中http://www.attacker.com/js.css的內容如下所示: @import url(javascript:alert('JavaScript#2 is executed')); 能夠繞過WebMail系統對腳本程序過濾的方法遠不止上面所說的這些,例如曾有人發現把“<script>”標簽改成“<_a<script>”和“<<script>”的樣子能繞過yahoo電郵的過濾,這個漏洞yahoo在最近才改正過來。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!