<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                **一、WebStorage簡介** ? ? ? HTML5支持WebStorage,開發者可以為應用創建本地存儲,存儲一些有用的信息。例如LocalStorage可以長期存儲,而且存放空間很大,一般是5M,極大的解決了之前只能用Cookie來存儲數據的容量小、存取不便、容易被清除的問題。這個功能為客戶端提供了極大的靈活性。 **二、攻擊方式** ? ? ??LocalStorage的API都是通過Javascript提供的,這樣攻擊者可以通過XSS攻擊竊取信息,例如用戶token或者資料。攻擊者可以用下面的腳本遍歷本地存儲。 ~~~ if(localStorage.length){ for(I in localStorage) { console.log(i); console.log(localStorage.getItem(i)); } } ~~~ ? ? ? 同時要提一句,LocalStorage并不是唯一暴露本地信息的方式。我們現在很多開發者有一個不好的習慣,為了方便,把很多關鍵信息放在全局變量里,例如用戶名、密碼、郵箱等等。數據不放在合適的作用域里會帶來嚴重的安全問題,例如我們可以用下面的腳本遍歷全局變量來獲取信息。 ~~~ for(iin window) { obj=window[i]; if(obj!=null||obj!=undefined) var type =typeof(obj); if(type=="object"||type=="string") { console.log(“Name:”+i); try { my = JSON.stringify(obj); console.log(my); } catch(ex) {} } } ~~~ **三、攻擊工具** ? ? ??[HTML5dump](http://code.google.com/p/html5dump/)的定義是“JavaScriptthat dump all HTML5 local storage”,它也能輸出HTML5 SessionStorage、全局變量、LocalStorage和本地數據庫存儲。 ![](https://box.kancloud.cn/2016-08-09_57a9aa53868b6.jpg) **四、防御之道** ? ? ??對于WebStorage攻擊的防御措施是: ? ? ??1、數據放在合適的作用域里 ? ? ??例如用戶sessionID就不要用LocalStorage存儲,而需要放在sessionStorage里。而用戶數據不要儲存在全局變量里,而應該放在臨時變量或者局部變量里。 ? ? ??2、不要存儲敏感的信息 ? ? ??因為我們總也無法知道頁面上是否會存在一些安全性的問題,一定不要將重要的數據存儲在WebStorage里。 ? ? 原創文章,轉載請注明:來自[蔣宇捷的博客](http://blog.csdn.net/hfahe)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看