前端面試的常見問題(1):Web安全的XSS攻擊和CSRF攻擊

XSS攻擊(跨站腳本攻擊)

XSS 的全稱是 Cross Site Scripting 也就是跨站腳本咽扇,當(dāng)目標(biāo)網(wǎng)站目標(biāo)用戶瀏覽器渲染HTML文檔的過程中,出現(xiàn)了不被預(yù)期的腳本指令并執(zhí)行時(shí)蜀备,XSS就發(fā)生了咸产。

Xss會(huì)導(dǎo)致掛馬陪蜻,盜取用戶cookie,爆發(fā)web2.0蠕蟲腥刹,蠕蟲的Ddos攻擊马胧。

Xss攻擊的類型主要分為反射型,存儲(chǔ)型衔峰,dom-based型佩脊。

反射型:通過reflect植入script腳本,一般出現(xiàn)在用戶聊天和郵件垫卤。

存儲(chǔ)型:該攻擊會(huì)被存儲(chǔ)到數(shù)據(jù)庫威彰,可以存儲(chǔ)到存儲(chǔ)用戶評(píng)論的數(shù)據(jù)庫,導(dǎo)致植入了非法留言穴肘。

Dom-based:通過eval(location.hash.substr(1))設(shè)置歇盼,通過在url設(shè)置腳本,可以獲取cookie评抚。

被攻擊的主要原因:對(duì)于url提交的參數(shù)豹缀,過濾不夠。

防御XSS攻擊的方法:

1.對(duì)于輸入的url參數(shù)過濾慨代,對(duì)于普通的雙引號(hào)(" ")和大于小于號(hào)( < >)進(jìn)行轉(zhuǎn)義邢笙,對(duì)于script,style侍匙,iframe節(jié)點(diǎn)進(jìn)行一個(gè)黑名單的過濾氮惯,對(duì)于一些用戶只能輸入6-14個(gè)字符的內(nèi)容進(jìn)行白名單設(shè)置。

2.對(duì)輸出進(jìn)行編碼,cookie設(shè)置http-only(js腳本不能讀取到cookie)妇汗。

3.插件帘不,可以使用 https://cdnjs.com/ 的插件dompurity,可以凈化用戶插入的惡意腳本杨箭,在實(shí)際中用到厌均。

CSRF攻擊(跨站請(qǐng)求偽造)

CSRF攻擊原理

用戶先登錄網(wǎng)站1

網(wǎng)站1確認(rèn)登陸者的身份(給客戶端cookie)

網(wǎng)站2頁面向A網(wǎng)站發(fā)起請(qǐng)求(此時(shí)因步驟2,帶上A網(wǎng)站身份)

Csrf防御的幾種方法:

(1)盡量使用post

(2)使用驗(yàn)證碼

(3)驗(yàn)證referer告唆,可以在請(qǐng)求頭部中,設(shè)置referer頭部信息晶密,可以在一些被攻擊的接口繼續(xù)設(shè)置頭部擒悬,能夠檢驗(yàn)到相同頭部則通過,但是也容易在傳輸過程被串改稻艰。

(4)token

Csrf之所以成功懂牧,因?yàn)楹诳涂梢酝耆珎卧煊脩舻恼?qǐng)求,利用用戶的cookie來跳過安全檢測這塊尊勿。

解決方法:因此我們可以讓黑客獲取不了這個(gè)cookie僧凤,意思就是不放在cookie,而是把form表單頭部信息隨機(jī)添加token(或者h(yuǎn)eader頭部在添加meta設(shè)置name為csrf-token元扔,并且content為token隨機(jī)數(shù))躯保,這個(gè)token存儲(chǔ)在服務(wù)器中,在請(qǐng)求發(fā)來時(shí)澎语,進(jìn)行攔截途事,并且對(duì)其檢驗(yàn),不通過則不給登錄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末擅羞,一起剝皮案震驚了整個(gè)濱河市尸变,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌减俏,老刑警劉巖召烂,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異娃承,居然都是意外死亡奏夫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門历筝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桶蛔,“玉大人,你說我怎么就攤上這事漫谷∽欣祝” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碟婆。 經(jīng)常有香客問我电抚,道長,這世上最難降的妖魔是什么竖共? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任蝙叛,我火速辦了婚禮,結(jié)果婚禮上公给,老公的妹妹穿的比我還像新娘借帘。我一直安慰自己,他們只是感情好淌铐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布肺然。 她就那樣靜靜地躺著,像睡著了一般腿准。 火紅的嫁衣襯著肌膚如雪际起。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天吐葱,我揣著相機(jī)與錄音街望,去河邊找鬼。 笑死弟跑,一個(gè)胖子當(dāng)著我的面吹牛灾前,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孟辑,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼豫柬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扑浸?” 一聲冷哼從身側(cè)響起烧给,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喝噪,沒想到半個(gè)月后础嫡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酝惧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年榴鼎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晚唇。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巫财,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哩陕,到底是詐尸還是另有隱情平项,我是刑警寧澤赫舒,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站闽瓢,受9級(jí)特大地震影響接癌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扣讼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一缺猛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧椭符,春花似錦荔燎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至曙搬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸽嫂,已是汗流浹背纵装。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留据某,地道東北人橡娄。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像癣籽,于是被迫代替她去往敵國和親挽唉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349