下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
HTML5安全問題分析將HTML5安全問題分為以下主要的三類:HTML5安全漏洞、HTML5新型攻擊機制、HTML5新特性濫用HTML5安全漏洞:XSS(Reflected,Stored)和DOMXSS(跨站漏洞)。HTML5新型攻擊機制:跨域偽造請求CSRF、點擊劫持Clickjacking、離線應用緩存、本地存儲攻擊。HTML5新特性濫用:Webshell/WebScanner,地理位置信息泄露、僵尸網(wǎng)絡。HTML5安全漏洞HTML5中引入了新標簽audio、video以及新屬性onerror、autofocus等,這些新標簽與新屬性能夠觸發(fā)JavaScript腳本執(zhí)行,如果對標簽、屬性的參數(shù)沒有進行嚴格過濾,那么就有可能引起跨站洞。例如新的多媒體類標簽所引起的跨站漏洞:audio〉Vsourceonerror=”javascript:alert(document,cookies)”〉新屬性如'formaction','autofocus’也易產(chǎn)生跨站漏洞:bodyoninput=alert(document.cookie)>Vinputautofocus>HTML5新引入了一些增強用戶體驗與交互的特性,如“拖拽”等,這些功能僅需鼠標就能完成相關(guān)操作,瀏覽器通過后臺捕捉到相關(guān)事件進行處理,在這個過程中,也可能引發(fā)跨站腳本漏洞。文件對象模型(DOM)是瀏覽器重要的一部分,用來渲染W(wǎng)eb內(nèi)容。在HTML5中,升級的DOMlevel3在支持HTML5和XHR的同時,也增加了很多新的特性:XPATH處理、DOMUser-Data等等,這使得基于DOM的跨站漏洞明顯增加。在使用DOM函數(shù)document.*、eval()的過程中,如果Web應用在調(diào)用這些函數(shù)時沒有經(jīng)過仔細處理,那么很容易造成基于DOM的跨站漏洞。與此同時,瀏覽器允許在URL中使用#號分割并將參數(shù)直接傳遞給DOM,這個過程中不需要與服務器進行交互,例如:/wiki/Wiki#Characteristics瀏覽器直接到達Characteristics一節(jié)所在的位置,如果攻擊者誘使受害者點擊了如下鏈接:/wiki/Wik#http:///那么DOM會直接處理http:///這個鏈接上的惡意代碼,從而發(fā)起一次攻擊。無論是新出現(xiàn)的Web應用XSS漏洞,還是基于DOM的XSS與重定向漏洞,都需要對傳入的數(shù)據(jù)進行嚴格的審查和過濾,才能有效防范與避免。HTML5新型攻擊機制跨域請求偽造攻擊是當前一種非常流行的攻擊方式,攻擊者通過各種手段竊取受害者身份(cookie、token等),進而偽裝受害者身份進行各種破壞活動。由于引入了跨域共享機制(COR),HTML5中出現(xiàn)了新的跨域請求偽造方式。HTML5中存在幾種不同方法實現(xiàn)跨域資源共享,HTTP頭中的“origin”控制著跨域資源共享是否使用,在針對HTML5的跨域偽造請求攻擊過程中,攻擊者可以使用POST方法,通過XHR建立一個隱蔽的連接,同時將“withCredential”屬性設置為真,就能夠?qū)崿F(xiàn)CSRF中最重要的Cookie竊取與重放攻擊。在HTML5中解決跨域請求偽造攻擊的一個重點防御措施是嚴格定義跨域請求的范圍。點擊劫持(Clickjacking)又稱界面?zhèn)窝b劫持,是一個近年來比較流行的攻擊方式,特別是在社交網(wǎng)絡流行的情況下,這種攻擊的效果更加明顯。點擊劫持是攻擊者使用透明網(wǎng)頁覆蓋在一個正常網(wǎng)頁上,誘使用戶點擊正常網(wǎng)頁上的按鈕,在用戶不知情的情況下,同時點擊了透明頁面上的按鈕,從而觸發(fā)攻擊者預先設置的惡意代碼。在HTML5中,由于引入了新標簽和新層疊樣式表(CSS-level3),使得點擊劫持變得更加容易。由于HTML5在iframe中引入了沙箱屬性,允許在iframe中載入非同源域名,如果設置不嚴格,在使用iframe的同時又允許腳本執(zhí)行,就會出現(xiàn)跨站腳本攻擊的可能性,如下:iframesandbox="allow-same-originallow-formallow-scripts”〉很多網(wǎng)站為了解決點擊劫持問題,使用了frame-busting技術(shù):用一段Javascript腳本來檢查form中是否存在覆蓋頁面,然而沙箱屬性禁止JavaScript運行,從而導致使用沙箱就能繞過frame-busting檢查:iframesrc=〃untrusted,html"sandbox〉V/iframe〉跨域共享劫持在HTML5中,還出現(xiàn)了新的劫持方式:稱作跨域共享劫持(CORjacking),在Web應用運行的過程中,可能需要調(diào)用各種不同服務器上的資源(Flash、音頻、視頻)來豐富用戶的體驗,這些都是通過文件對象模型(DOM)來解析執(zhí)行的,跨域請求的這些資源也可以通過DOM進行控制,從而能夠造成跨域資源共享劫持,例如:某網(wǎng)站加載一個flash的程序:Objectclassid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”Id="Login”width=“100%”height="1000%”Codebase=/get/falshplayer/current.ash.cabparamname=”movie”value=”Login.swf”/〉當Flash文件加載完成后,瀏覽器通過DOM來控制里面的參數(shù)其中document.getElementByName('login').item(0).src不僅具有只讀的屬性,而且是可寫的,攻擊者可以通過跨域共享機制替換一個惡意鏈接,這樣就完全劫持了原有網(wǎng)頁的login插件,用戶很容易泄露自己重要信息。離線緩存攻擊HTML5支持緩存Web應用,方便用戶線下使用,代碼中只需通過:htmlmanifest=”/appcache.manifest”同時列出想要緩存的頁面,就可以將當前列出的Web應用進行緩存,這樣很容易造成離線緩存攻擊。假設場景一:在一個公共AP訪問a,com網(wǎng)站,HTTP請求通過這個不安全的AP提交給服務器,服務器進行應答,此時攻擊者通過AP控制了服務器的應答數(shù)據(jù)包,可以將一個隱藏的包含有src=http://的iframe加入到應答數(shù)據(jù)包中,這樣受害者便不知不覺就訪問(是一個需要輸入用戶名和密碼的網(wǎng)站),在發(fā)送請求后,攻擊者應答數(shù)據(jù)包中包含了cache.manifest,要求客戶端緩存B網(wǎng)站的數(shù)據(jù)。場景二:受害者在一個安全網(wǎng)絡中登陸準備輸入自己的信息時,瀏覽器直接加載緩存好的程序(包括里面的惡意JavaScript),當用戶輸入在登陸位置輸入用戶名和密碼時,里面的Javascript腳本將該信息上傳到攻擊者控制的服務器上。這樣就成功執(zhí)行了一次應用緩存攻擊。解決離線緩存攻擊的問題主要集中在客戶端,用戶需要在每次上網(wǎng)前對本地緩存進行清除,特別對一些應用,可能會提示用戶是否進行本地緩存,如果涉及個人隱私:如電子郵件、網(wǎng)上商城等,不應當允許緩存,這對用戶的安全意識與知識提出了更高要求。本地存儲攻擊HTML5引入了本地存儲技術(shù)(WebStorage),用來取代cookie的功能,同時解決客戶端應用數(shù)據(jù)存儲問題。本地存儲技術(shù)的引入,在方便Web應用的同時,也容易引起會話劫持、信息泄露等問題:會話劫持在Web應用建立會話的過程中,經(jīng)常需要使用cookie,由于cookie內(nèi)包含一個隨機數(shù)(令牌),可以使建立的會話不被第三方竊取。在HTML5中,cookie被sessionlD取代,如果一個網(wǎng)站存在XSS漏洞,那么當受害者瀏覽該網(wǎng)站并觸發(fā)XSS漏洞,用戶的會話ID將會被竊?。簊cript〉document.write(〃Vimgsrc='?sessionlD=〃+localStorage.getItem('SessionlD')+〃'〉〃);V/script〉如上所示,XSS攻擊依然是竊取會話cookie的手段,HTML5并沒有改變這一點,然而攻擊者需要修改攻擊的JavaScript代碼以獲取sessionID(取代cookie)。需要說明的是,在HTML5之前,HTTPonly標簽用來阻止通過JavaScript竊取cookie,但HTML5本地存儲中不再支持HTTPonly標簽,使得本地存儲的防護能力反而削弱了。信息泄露,通過XSS漏洞不僅可以獲得當前的會話cookie,也可以獲得本地存儲的其它信息,特別是當一些隱私數(shù)據(jù)存儲到本地時,這種情況便更加危險。另外,當一個Web網(wǎng)站由多個程序員編寫各自的應用,而僅通過不同路徑進行區(qū)分時,本地存儲的信息往往是跨域名共享的,那么攻擊者在/app1上存在XSS漏洞情況下,能夠讀取/app2應用的存儲數(shù)據(jù)。注入攻擊,由于HTML5支持在瀏覽器中部署一個輕量級的數(shù)據(jù)庫,那么SQL語句的查詢和讀取也成為一種必然,從而引起SQL注入等威脅。解決本地存儲攻擊的方法應注意一下幾點:首先客戶端盡量不要存儲敏感信息,敏感信息應該保存在服務器端;其次使用cookie存儲會話信息取代本地存儲,這樣可以使用HTTPonly標簽對會話信息進行保護,考慮到本地存儲的信息直到瀏覽器關(guān)閉才會清除,使用cookie能夠更好的保護會話信息;最后,在一個域名下運行多個Web應用,同時僅通過路徑區(qū)別不同應用的情況下,盡量不要使用本地存儲。HTML5新特性的濫用濫用網(wǎng)絡API和SOCKETHTML5支持WebSocket和XMLHttpRequestlevel2。這些功能為攻擊者提供了構(gòu)造各種惡意代碼的可能性。WebSocket定義了獨特的事件模型,可以使用相關(guān)的狀態(tài)信息進行有效地TCP跨域掃描和通信。濫用WebSocket和XHRlevel2是HTML5面臨的最大威脅之一:攻擊者可以通過瀏覽器對目標內(nèi)網(wǎng)進行主機掃描,而且這些掃描由于通過瀏覽器進行而往往不會被防火墻過濾。在2010年Blackhat大會上,Kuppan詳細講解了使用Web-Socket掃描的技術(shù)細節(jié),并發(fā)布了一個概念驗證工具“JSRecon”,該工具可以通過受害主機對內(nèi)網(wǎng)進行掃描。使用COR通過HTTP協(xié)議建立一個隱蔽管道,從而獲取內(nèi)網(wǎng)主機瀏覽器的行為。2010年BlackHat大會上,Kuppan也發(fā)布了“shellofthefuture”,詳細介紹了通過持續(xù)劫持受害者的會話session,進而使用客戶端瀏覽器來劫持受害者的瀏覽器。目前,僅在服務器端部署安全措施巳經(jīng)不可能完全解決潛在的安全問題,但是服務器的一些安全配置可以解決繞過訪問控制的問題:嚴格定義Access-Control-Allow-Origin的參數(shù)從而限制跨域請求的URL,而不是把該參數(shù)設置為通配符星號。濫用地理位置信息HTML5支持用戶通過本地瀏覽器獲取地理位置信息。這些信息泄露后,在社會工程攻擊領(lǐng)域應用非常廣泛,例如:攻擊者可以謊稱自己是某個權(quán)利部門,謊稱受害者還沒有交稅,并且知道受害者的地理位置,如果一天之內(nèi)不繳納罰款,將會受到處罰等等。攻擊者可以建立關(guān)于受害者的地理位置信息數(shù)據(jù)庫,一些不法分子會專門購買一些富人的信息,想知道他們哪些時間不在家,以便進行入室行竊等犯罪行為。地理位置信息泄露的潛在風險不容小覷,從防護的角度考慮:一方面,在服務器端,必須要求Web應用在獲取用戶地理信息位置時給用戶提示信息。另一方面,客戶端用戶必須謹慎操作,只給信任的網(wǎng)站或者應用授予獲取地理位置的權(quán)限。使用WebWorkers特性構(gòu)造僵尸網(wǎng)絡使用WebWorkers允許后臺運行多個Javascript線程是HTML5引入的新特性之一,攻擊者可以利用這個特性構(gòu)建僵尸網(wǎng)絡。攻擊者僅需要在瀏覽器執(zhí)行一段相同的Javascript代碼,就能夠在PC機、蘋果、iPhone、Android手機等等設備多處運行,而且基于Javascript的僵尸程序僅運行在內(nèi)存中,不會駐留在硬盤上,使得發(fā)現(xiàn)這種僵尸網(wǎng)絡變得異常困難?;赪ebWorkers的僵尸網(wǎng)絡用途很多,但是首先存在如下兩點不同特征:通過跨站腳本攻擊執(zhí)行Javascript僵尸程序基于瀏覽器的僵尸程序不會像傳統(tǒng)僵尸程序持久運行,當受害用戶關(guān)閉瀏覽器標簽時,僵尸程序同時也被關(guān)閉。攻擊者可以使用其它方法,比如點擊劫持或者tabnabbing攻擊以獲取程序更持久的運行時間?;跒g覽器的僵尸網(wǎng)絡攻擊手段也非常豐富,主要可以分為以下幾類:分布式拒絕服務攻擊:通過GET方法(含COR)對目標網(wǎng)頁服務器發(fā)送請求,即便目標網(wǎng)頁服
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 秋季消防安全理論培訓及演練方案
- 按揭購房 合同范本
- 2024年設備維修責任協(xié)議模板
- 購貨退款合同范本
- 報社宣傳合同范本
- 中介汽車合同范本
- 整形代言合同范本
- 石油融資合同范本
- 老人房屋財產(chǎn)分配合同范本
- 合伙畫室合同范本
- 物資編碼體系建設實施方案
- 市政道路施工簡要流程
- 多頭小直徑水泥土深層攪拌樁防滲墻施工方案1
- 公司員工工牌規(guī)范和人員進出管理規(guī)定
- 英語口語看圖說話訓練60667
- 生活飲用水衛(wèi)生監(jiān)督
- 小學六年級語文質(zhì)量分析(課堂PPT)
- 底欄柵壩水力學計算
- (完整版)機加工作業(yè)指導書
- 施工現(xiàn)場保衛(wèi)方案
- 《柔性接口給水管道支墩》(10S505國標圖集)簡介-國標10s505
評論
0/150
提交評論