国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

可能是東半球最詳解的web前端安全相關(guān)知識(shí)

oysun / 547人閱讀

摘要:攻擊能獲取頁(yè)面數(shù)據(jù)劫持前端邏輯發(fā)送請(qǐng)求,偷取網(wǎng)站任意數(shù)據(jù)用戶資料欺騙用戶,所以是我們特別需要注意的前端安全問(wèn)題。攻擊可能來(lái)源可以通過(guò)動(dòng)態(tài)節(jié)點(diǎn)內(nèi)容屬性富文本來(lái)對(duì)頁(yè)面進(jìn)行攻擊。內(nèi)容安全策略,用于指定哪些內(nèi)容可以執(zhí)行。

XSS

XSS全稱是跨站腳本攻擊(Cross Site Scripting),所以我們可以縮寫成CSS,下面我們開始介紹CSS,先講選擇器。聽著是不是很奇怪,為了與層疊樣式表區(qū)分開來(lái),我們選擇XSS做為其縮寫。 XSS攻擊能獲取頁(yè)面數(shù)據(jù)、cookie、劫持前端邏輯、發(fā)送請(qǐng)求,偷取網(wǎng)站任意數(shù)據(jù)、用戶資料、欺騙用戶,所以是我們特別需要注意的前端安全問(wèn)題。 我在騰訊云上架了一個(gè)網(wǎng)站,專門用來(lái)承接各種攻擊,歡迎來(lái)玩。 XSS攻擊能獲取頁(yè)面數(shù)據(jù)、cookie、劫持前端邏輯、發(fā)送請(qǐng)求,偷取網(wǎng)站任意數(shù)據(jù)、用戶資料、欺騙用戶,所以是我們特別需要注意的前端安全問(wèn)題。

XSS攻擊分為反射型XSS攻擊,直接通過(guò)URL注入、存儲(chǔ)型XSS攻擊 存儲(chǔ)到DB后讀取時(shí)注入。
XSS攻擊可能來(lái)源
可以通過(guò) 動(dòng)態(tài)HTML節(jié)點(diǎn)內(nèi)容、 HTML屬性、Javascript、 富文本來(lái)對(duì)頁(yè)面進(jìn)行攻擊。

瀏覽器自帶防御措施
X-XSS-Protection, 0

http://123.207.46.233/?from=



http://123.207.46.233/?from=111";alert(1);"

發(fā)出請(qǐng)求時(shí),XSS代碼出現(xiàn)在URL里,作為輸入提交到服務(wù)器端,服務(wù)器端解析后響應(yīng),XSS代碼隨瀏覽器一起傳回給瀏覽器,最后瀏覽器解析執(zhí)行XSS代碼。這個(gè)過(guò)程像一次反射,故叫反射性XSS。

localhost:3000/?xss=

瀏覽器防御功能很有線,只能訪問(wèn)反射型攻擊且不能防御來(lái)自富文本的攻擊。

HTML內(nèi)容和屬性轉(zhuǎn)譯

function html_encode(str) {
    if (!str) {
        return str;
    }
     return str.replace(/[<>&""]/g, (all) => {
         return {
             "<": "<",
             ">": ">",
             "&": "&",
             """: """
             """: "'"
         }[all]
     });
}

但是用以上的方法并不能解決所有的問(wèn)題,如果將用于的輸入當(dāng)成一個(gè)js變量,我們

var escapeForJs = function(str) {
    if (!str) {
        return ""
    }
    str = str.replace(//g, "");
    str = str.replace(/"/g, """);
    return str;
}
富文本防御

使用黑名單風(fēng)險(xiǎn)特別大,我們只能使用白名單來(lái)過(guò)濾。我們首先要知道這個(gè)標(biāo)簽是否合法,其次看標(biāo)簽上的
屬性是否合法。

var cheerio = require("cheerio");
var xssFilter = function (html) {
    if (!html) {
        return "";
    }

    var $ = cheerio.load(html);
    var whiteList = {
        "img": ["src"],
        "font": ["color", "size"],
        "a": ["href"]
    }


    $("*").each(function (index, elem) {
        let name = elem.name;
        if(!whiteList[name]) {
            $(elem).remove();
            return;
        }
        for (var attr in elem.attribs) {
            if (whiteList[name].indexOf("attr") === -1) {
                $(elem).attr(attr, null);
            }
        }
    })
}

下面給大家介紹一個(gè)神器xss模塊,var xss = require("xss"),滿足你對(duì)XSS的一切幻想。

CSP

Content Security Policy內(nèi)容安全策略,用于指定哪些內(nèi)容可以執(zhí)行。
例如:

Content-Security-Policy: default-src "self" // 只允許同域的腳本執(zhí)行
Cookie特性

cookie是用于前端數(shù)據(jù)存儲(chǔ),后端通過(guò)http頭設(shè)置,請(qǐng)求時(shí)通過(guò)http頭傳給后端,前端可以讀寫,遵守同源策略(協(xié)議、域名、端口全部一致)。

域名  有效期  路徑  http-only  secure(https)  

存儲(chǔ)個(gè)性化設(shè)置
存儲(chǔ)未登陸時(shí)用戶的唯一標(biāo)識(shí)符
存儲(chǔ)已登陸用戶的憑證
存儲(chǔ)其他業(yè)務(wù)數(shù)據(jù)

用戶ID + 簽名

sessionId

cookieID

?簽名防串改
私有變化
http-only

CSRF攻擊
cross site request forgy,跨站請(qǐng)求偽造

用戶登陸A網(wǎng)站、A網(wǎng)站確認(rèn)身份、B網(wǎng)站向A網(wǎng)站發(fā)起請(qǐng)求(帶A網(wǎng)站身份)

利用用戶登陸態(tài)
用戶并不知情
完成業(yè)務(wù)請(qǐng)求

禁用第三方的cookie,same-site

通過(guò)referer

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/50901.html

相關(guān)文章

  • 可能半球詳解web前端安全相關(guān)知識(shí)

    摘要:攻擊能獲取頁(yè)面數(shù)據(jù)劫持前端邏輯發(fā)送請(qǐng)求,偷取網(wǎng)站任意數(shù)據(jù)用戶資料欺騙用戶,所以是我們特別需要注意的前端安全問(wèn)題。攻擊可能來(lái)源可以通過(guò)動(dòng)態(tài)節(jié)點(diǎn)內(nèi)容屬性富文本來(lái)對(duì)頁(yè)面進(jìn)行攻擊。內(nèi)容安全策略,用于指定哪些內(nèi)容可以執(zhí)行。 XSS XSS全稱是跨站腳本攻擊(Cross Site Scripting),所以我們可以縮寫成CSS,下面我們開始介紹CSS,先講選擇器。聽著是不是很奇怪,為了與層疊樣式表...

    sarva 評(píng)論0 收藏0
  • 網(wǎng)絡(luò)與安全

    摘要:面試網(wǎng)絡(luò)了解及網(wǎng)絡(luò)基礎(chǔ)對(duì)端傳輸詳解與攻防實(shí)戰(zhàn)本文從屬于筆者的信息安全實(shí)戰(zhàn)中滲透測(cè)試實(shí)戰(zhàn)系列文章。建議先閱讀下的網(wǎng)絡(luò)安全基礎(chǔ)。然而,該攻擊方式并不為大家所熟知,很多網(wǎng)站都有的安全漏洞。 面試 -- 網(wǎng)絡(luò) HTTP 現(xiàn)在面試門檻越來(lái)越高,很多開發(fā)者對(duì)于網(wǎng)絡(luò)知識(shí)這塊了解的不是很多,遇到這些面試題會(huì)手足無(wú)措。本篇文章知識(shí)主要集中在 HTTP 這塊。文中知識(shí)來(lái)自 《圖解 HTTP》與維基百科,若...

    Integ 評(píng)論0 收藏0
  • 學(xué)習(xí)Python建議

    摘要:如果初學(xué)者接觸的第一門語(yǔ)言是,學(xué)習(xí)曲線則會(huì)平滑得多,掌握一些基本語(yǔ)法和內(nèi)置的數(shù)據(jù)結(jié)構(gòu),已經(jīng)可以上手寫一些小工具或者小型應(yīng)用。如果你的學(xué)習(xí)時(shí)間充足,我的建議是一定要學(xué)數(shù)據(jù)結(jié)構(gòu)和算法。 前言 Python是最容易入門的編程語(yǔ)言,沒(méi)有之一。如果初學(xué)者接觸的第一門語(yǔ)言是C或者C++,對(duì)他們來(lái)說(shuō)最難的不是語(yǔ)法,而是容易出現(xiàn)內(nèi)存泄漏、指針等問(wèn)題。有時(shí)候排查這些問(wèn)題對(duì)初學(xué)者的打擊很大,尤其是沒(méi)掌握排...

    eechen 評(píng)論0 收藏0
  • 詳解vue組件三大核心概念

    摘要:前言本文主要介紹屬性事件和插槽這三個(gè)基礎(chǔ)概念使用方法及其容易被忽略的一些重要細(xì)節(jié)。至于如何改變,我們接下去詳細(xì)介紹單向數(shù)據(jù)流這個(gè)概念出現(xiàn)在組件通信。比如上例中在子組件中修改父組件傳遞過(guò)來(lái)的數(shù)組從而改變父組件的狀態(tài)。的一個(gè)核心思想是數(shù)據(jù)驅(qū)動(dòng)。 前言 本文主要介紹屬性、事件和插槽這三個(gè)vue基礎(chǔ)概念、使用方法及其容易被忽略的一些重要細(xì)節(jié)。如果你閱讀別人寫的組件,也可以從這三個(gè)部分展開,它們...

    rickchen 評(píng)論0 收藏0
  • 基礎(chǔ) - 收藏集 - 掘金

    摘要:的語(yǔ)言的動(dòng)態(tài)性意味著我們可以使用以上種數(shù)據(jù)類型表示變換過(guò)渡動(dòng)畫實(shí)現(xiàn)案例前端掘金以下所有效果的實(shí)現(xiàn)方式均為個(gè)人見(jiàn)解,如有不對(duì)的地方還請(qǐng)一一指出。 讀 zepto 源碼之工具函數(shù) - 掘金Zepto 提供了豐富的工具函數(shù),下面來(lái)一一解讀。 源碼版本 本文閱讀的源碼為 zepto1.2.0 $.extend $.extend 方法可以用來(lái)擴(kuò)展目標(biāo)對(duì)象的屬性。目標(biāo)對(duì)象的同名屬性會(huì)被源對(duì)象的屬性...

    wuaiqiu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

oysun

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<