1. 域名劫持:通過攻擊或偽造DNS,把目標(biāo)網(wǎng)站域名解析到錯(cuò)誤的地址,從而實(shí)現(xiàn)用戶無法訪問目標(biāo)網(wǎng)站。解決辦法:加速dns緩存記錄刷新的時(shí)間和數(shù)據(jù)障涯,或者更換dns服務(wù)提供商。
2. xss(跨站腳本攻擊):攻擊者在web頁面上插入惡意的script代碼惫皱,當(dāng)用戶瀏覽該頁面時(shí)像樊,嵌入的script代碼就會(huì)被執(zhí)行。
三種攻擊類型:
(1)基于反射的xss攻擊:通過站點(diǎn)服務(wù)器返回腳本旅敷,在客戶端執(zhí)行
(2)基于存儲(chǔ)的xss攻擊:通過發(fā)表含有惡意的script代碼的帖子或文章生棍,存在服務(wù)器端,然后讓其他訪問者觸發(fā)執(zhí)行媳谁。
(3)基于dom或本地的xss攻擊:一般通過提供免費(fèi)wifi涂滴,直接在頁面插入惡意腳本,無需訪問服務(wù)器晴音,就可以實(shí)現(xiàn)本地的攻擊柔纵。
解決辦法:對script標(biāo)簽進(jìn)行過濾和轉(zhuǎn)義,比如在前端就對搜索內(nèi)容進(jìn)行過濾锤躁,將轉(zhuǎn)成<script>使它執(zhí)行不了搁料。總之最好是前段后端都要有過濾校驗(yàn)。
參考:https://www.cnblogs.com/lovesong/p/5199623.html
3. CSRF(跨站點(diǎn)請求偽造)
大致是:A登錄B并成功還沒退出的過程中郭计,又點(diǎn)擊了惡意網(wǎng)站C霸琴,使C盜取了cookie信息,從而偽造A執(zhí)行惡意請求發(fā)向B昭伸。
防御措施:
(1)驗(yàn)證HTTP頭的一個(gè)字段Referer
因?yàn)樗涗浟嗽揌TTP請求的來源地址梧乘,比如說轉(zhuǎn)賬的請求,如果是偽造的庐杨,Referer里就是黑客自己的網(wǎng)站选调,銀行只需要驗(yàn)證Referer是否是來自銀行域名開頭的,就能判斷灵份。
但是這種辦法有兩個(gè)弊端仁堪,1)Referer是瀏覽器提供的,低版本的瀏覽器容易被篡改各吨,可靠性低枝笨。2)有些用戶擔(dān)心referer會(huì)把組織內(nèi)網(wǎng)某些信息泄露從而自己設(shè)置請求不提供referer,這樣使得有些網(wǎng)站會(huì)因?yàn)檎埱鬀]有referer值而認(rèn)為是csrf攻擊從而拒絕合法用戶的訪問揭蜒。
(2)在請求地址中添加token并驗(yàn)證
token是服務(wù)器端產(chǎn)生的,在用戶登錄后產(chǎn)生并放置于session中剔桨,是隨機(jī)產(chǎn)生的屉更,這樣黑客網(wǎng)站就算在本地cookie中獲取了驗(yàn)證信息,但是沒有token驗(yàn)證洒缀,因此客戶端請求中攜帶的token和服務(wù)器端session中的token不一致瑰谜,該請求也是無效的。而且token是有過期時(shí)間的树绩。
這種辦法的弊端:如果通過get請求發(fā)送的萨脑,url會(huì)有token,黑客就能通過referer得到token值
(3)在 HTTP 頭中自定義屬性并驗(yàn)證
通過 XMLHttpRequest 這個(gè)類饺饭,可以一次性給所有該類請求加上 csrftoken 這個(gè) HTTP 頭屬性渤早,并把 token 值放入其中。通過 XMLHttpRequest 請求的地址不會(huì)被記錄到瀏覽器的地址欄瘫俊,也不用擔(dān)心 token 會(huì)透過 Referer 泄露到其他網(wǎng)站中去鹊杖。
弊端:XMLHttpRequest 請求通常用于ajax方法中對頁面局部的異步刷新,且因?yàn)椴荒鼙粸g覽器所記錄下扛芽,后退前進(jìn)刷新和收藏都麻煩骂蓖。
參考 https://blog.csdn.net/stpeace/article/details/53512283
4. http和https的區(qū)別:https是由網(wǎng)景公司設(shè)計(jì)在http的基礎(chǔ)上加入SSL(安全套接字secure sockets layer)協(xié)議,用于對http協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密川尖。
【SSL的基本思想是用非對稱加密來建立鏈接(握手階段)登下,用對稱加密來傳輸數(shù)據(jù)(傳輸階段)。這樣既保證了密鑰分發(fā)的安全,也保證了通信的效率】
區(qū)別(1)https需要到ca申請證書
(2)http是超文本傳輸協(xié)議被芳,明文傳輸银酬。https有ssl的加密傳輸協(xié)議。
(3)連接方式不同筐钟,端口號(hào)也不同揩瞪,http端口號(hào)是80,https端口號(hào)是443
(4)https雖然安全但是因?yàn)槲帐蛛A段分對稱加解密耗時(shí)篓冲,所以相比http要慢的多李破。
(5)ssl證書需要錢,功能越強(qiáng)大的費(fèi)用越高壹将。
4. cookie嗤攻、sessionstorage、localstorage區(qū)別
5.?cookie和session的區(qū)別與聯(lián)系
參考:https://blog.csdn.net/duan1078774504/article/details/51912868
6. 常見的http狀態(tài)碼
參見:https://blog.csdn.net/grandpang/article/details/47446561