跨站點(diǎn)請求偽造

簡介

??跨站點(diǎn)請求偽造(Cross Site Request Forgery,CSRF):攻擊者首先在自己的域內(nèi)創(chuàng)建一個(gè)頁面吨铸,并偽造一個(gè)請求,然后誘使用戶點(diǎn)擊該頁面朱转,這樣就以該用戶的身份在第三方站點(diǎn)(攻擊者構(gòu)造的頁面)執(zhí)行了一次操作。

瀏覽器的cookie策略

??攻擊者偽造的請求之所以能夠被服務(wù)器驗(yàn)證通過,是因?yàn)橛脩舻臑g覽器成功的發(fā)送了cookie的緣故漾狼。
??瀏覽器所持有的cookie分為兩種:

  1. session cookie(又稱臨時(shí)cookie)
  2. third-party cookie(又稱本地cookie)

??兩者的區(qū)別在于third-party cookie是服務(wù)器在set-cookie時(shí)指定了expire時(shí)間,只要到了expire時(shí)間cookie就會失效饥臂。所以這種cookie會保存在本地逊躁。而session cookie則沒有指定expire時(shí)間,直到關(guān)閉瀏覽器后隅熙,session cookie才失效稽煤,他保存在瀏覽器進(jìn)程的內(nèi)存空間中核芽。
??有些瀏覽器,默認(rèn)策略允許發(fā)送第三方cookie酵熙,所以能夠成功發(fā)送用于認(rèn)證的third-party cookie轧简,CSRF攻擊成功。而有些瀏覽器默認(rèn)會攔截third-party cookie 匾二,這樣攻擊者則需要精心構(gòu)造攻擊環(huán)境哮独,比如誘使用戶在當(dāng)前瀏覽器先訪問目標(biāo)站點(diǎn),使得session cookie有效察藐,在實(shí)CSRF攻擊皮璧。

P3P頭的副作用

??P3P Header 是W3C制定的一項(xiàng)關(guān)于隱私的標(biāo)準(zhǔn),全稱是“the platform for privacy preferences”
??如果網(wǎng)站返回給瀏覽器的HTTP頭中包含有P3P頭转培,則在某種程度上來說恶导,將允許瀏覽器發(fā)送第三方cookie,P3P頭允許跨域訪問隱私數(shù)據(jù)浸须,從而可以跨域set-cookie成功惨寿。正因?yàn)镻3P頭目前在網(wǎng)站的應(yīng)用中被廣泛應(yīng)用,因此在CSRF防御中不能依賴于瀏覽器對第三方cookie的攔截策略删窒,不能心存僥幸裂垦。

構(gòu)造get/post 請求

Flash CSRF

??Flash有很多方式發(fā)起網(wǎng)絡(luò)請求,包括POST肌索、getURL蕉拢、loadvars等。

CSRF Worm

??即使沒有XSS漏洞诚亚,僅僅是CSRF也能發(fā)起大規(guī)模蠕蟲攻擊晕换。

CSRF的防御

驗(yàn)證碼

??CSRF的攻擊過程,往往在用戶不知情的的情況下構(gòu)造了網(wǎng)絡(luò)請求站宗,而驗(yàn)證碼則強(qiáng)制用戶必須與應(yīng)用進(jìn)行交互闸准,才能完成最終請求,但是有些時(shí)候出于用戶體驗(yàn)考慮梢灭,網(wǎng)站不能給所有的操作都加上驗(yàn)證嗎夷家,因此驗(yàn)證碼只能作為防御SCRF的一種輔助手段。

Referer Check

??Referer Check在網(wǎng)絡(luò)中常見的應(yīng)用就是“防止圖片盜鏈”敏释。同理Referer Check也可以被用于檢查請求是否來自合法的“源”库快。Referer Check的缺陷是:服務(wù)器并非什么時(shí)候都能取到Referer。
??很多用戶處于隱私保護(hù)的考慮钥顽,限制了Referer的發(fā)送义屏,在某些情況下,瀏覽器也不會發(fā)送Referer,(列:從https跳轉(zhuǎn)至HTTP湿蛔,出于安全考慮膀曾,瀏覽器也不會發(fā)送Referer);有些Flash的版本可以發(fā)送自定義Referer的頭阳啥。因此我們無法依賴于Referer Check作為防御SCRF的主要手段,但是可以通過Referer Check來監(jiān)控CSRF攻擊的發(fā)生财喳。

Anti CSRF Token

現(xiàn)在業(yè)界針對CSRF防御察迟,一致做法是使用一個(gè)token。

CSRF的本質(zhì)

??CSRF能夠攻擊成功的本質(zhì)原因是:重要操作的所有參數(shù)都是可以被攻擊猜測到的耳高。攻擊者只有預(yù)測出URL的所有參數(shù)與參數(shù)值扎瓶,才能成功的構(gòu)造一個(gè)偽造的請求。
??因此可以想到:把參數(shù)加密泌枪,或者使用一些隨機(jī)數(shù)概荷,從而讓攻擊者無法猜測到參數(shù)值,這是“不可預(yù)測性原則”的一種應(yīng)用碌燕。
??在URL中误证,保持原參數(shù)不變,新增一個(gè)參數(shù)token修壕,這個(gè)token的值是隨機(jī)的愈捅,這樣由于token的存在,攻擊者無法在構(gòu)造出一個(gè)完整的URL實(shí)施CSRF攻擊慈鸠。
??token需要同時(shí)放在表單和session中蓝谨,再提交請求時(shí),服務(wù)器只需驗(yàn)證表單中的token和用戶session(或cookie)中的token是否一致青团,如果一致譬巫,則認(rèn)為是合法請求;如果不一致督笆,或者有一為空芦昔,則認(rèn)為請求不合法,可能發(fā)生了CSRF攻擊胖腾。

Token的使用原則

??token的生成一定要足夠隨機(jī)烟零。
??可為token設(shè)置生命周期,可根據(jù)情況生成多個(gè)有效的token咸作。
??使用token時(shí)應(yīng)注意token的保密性锨阿。

安全防御的體系是相輔相成,缺一不可的记罚。

詳情請參考書籍
摘自:《白帽子講Web安全》 — 吳翰清

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末墅诡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌末早,老刑警劉巖烟馅,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異然磷,居然都是意外死亡郑趁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門姿搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寡润,“玉大人,你說我怎么就攤上這事舅柜∷笪疲” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵致份,是天一觀的道長变抽。 經(jīng)常有香客問我,道長氮块,這世上最難降的妖魔是什么绍载? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮雇锡,結(jié)果婚禮上逛钻,老公的妹妹穿的比我還像新娘。我一直安慰自己锰提,他們只是感情好曙痘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著立肘,像睡著了一般边坤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谅年,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天茧痒,我揣著相機(jī)與錄音,去河邊找鬼融蹂。 笑死旺订,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的超燃。 我是一名探鬼主播区拳,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼意乓!你這毒婦竟也來了樱调?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笆凌,沒想到半個(gè)月后圣猎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乞而,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年送悔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爪模。...
    茶點(diǎn)故事閱讀 40,013評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡放祟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呻右,到底是詐尸還是另有隱情,我是刑警寧澤鞋喇,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布声滥,位于F島的核電站,受9級特大地震影響侦香,放射性物質(zhì)發(fā)生泄漏落塑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一罐韩、第九天 我趴在偏房一處隱蔽的房頂上張望憾赁。 院中可真熱鬧,春花似錦散吵、人聲如沸龙考。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晦款。三九已至,卻和暖如春枚冗,著一層夾襖步出監(jiān)牢的瞬間缓溅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工赁温, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坛怪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓股囊,卻偏偏與公主長得像袜匿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子毁涉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容