Xss(跨站腳本攻擊)
概念:將可執(zhí)行的前端腳本代碼植入到網(wǎng)頁中,通常是利用網(wǎng)頁開發(fā)時留下的漏洞,注入惡意指令代碼到網(wǎng)頁,使用戶加載并執(zhí)行攻擊者惡意制造的網(wǎng)頁程序。
其分為兩種類型:一種是反射型,一種是持久型。
反射型是將腳本代碼放在URL中,當(dāng)用戶點擊URL,該請求就會通過服務(wù)器解析返回給瀏覽器,在返回的響應(yīng)內(nèi)容中出現(xiàn)攻擊者的XSS代碼,瀏覽器執(zhí)行時就會中招了。
存儲型是將惡意代碼被存儲在web server中。黑客通過XSS的漏洞,將內(nèi)容經(jīng)正常功能提交進(jìn)入數(shù)據(jù)庫持久保存,當(dāng)進(jìn)行數(shù)據(jù)庫查詢的時候,再將攻擊腳本渲染進(jìn)網(wǎng)頁,返回給瀏覽器執(zhí)行。
XSS防御:
對輸入和URL參數(shù)進(jìn)行過濾,也就是說對提交的內(nèi)容進(jìn)行過濾,對url中的參數(shù)進(jìn)行過濾,過濾掉會導(dǎo)致腳本執(zhí)行的相關(guān)內(nèi)容
對輸出進(jìn)行編碼,在輸出數(shù)據(jù)之前對潛在的威脅的字符進(jìn)行編碼,使腳本無法在瀏覽器中執(zhí)行。
使用HTTPOnly,一般XSS攻擊通過利用js腳本讀取用戶的cookie,設(shè)置了HTTPOnly后js腳本就無法獲取到cookie,應(yīng)用程序一般也不會在js中操作這些敏感的cookie。
Sql注入
概念:讓web服務(wù)器執(zhí)行攻擊者期望的sql語句,以便得到數(shù)據(jù)庫中的數(shù)據(jù),或?qū)?shù)據(jù)庫進(jìn)行讀取,修改,刪除,插入。sql注入常規(guī)套路在于將sql語句放在表單中提交給后端服務(wù)器 ,如果后端服務(wù)器沒有做任何安全性校驗,直接將變量取出進(jìn)行數(shù)據(jù)庫查詢,則極易中招。
sql注入防御:
限制數(shù)據(jù)類型,在傳入?yún)?shù)的地方限制參數(shù)的類型,比如整型,只有g(shù)et到的id為數(shù)字或者數(shù)字字符時才能執(zhí)行下一步。
正則表達(dá)式匹配傳入?yún)?shù),對傳入的值進(jìn)行匹配,如果不符合就過濾。正則表達(dá)式匹配很消耗服務(wù)器的性能,因此攻擊時可以構(gòu)造大量的正常語句騙過服務(wù)器,當(dāng)后臺對數(shù)據(jù)的處理達(dá)到最大限制的時候就會放棄匹配后面的非法語句。
函數(shù)過濾轉(zhuǎn)義,防止”和’進(jìn)行轉(zhuǎn)義,這里應(yīng)該是防止拼接
預(yù)編譯語句,使用預(yù)編譯語句綁定變量。使用預(yù)編譯相當(dāng)于將數(shù)據(jù)用代碼分離的方式,把傳入的參數(shù)綁定為一個變量,用?表示,攻擊者無法改變sql的結(jié)構(gòu)。將傳入的參數(shù)當(dāng)作純字符串的形式作為username執(zhí)行,避免sql語句中的拼接閉合查詢語句的過程??梢岳斫鉃樽址csql語句的關(guān)系區(qū)分開,username此時作為字符串不會被當(dāng)做之前的sql語句被帶入數(shù)據(jù)庫執(zhí)行,從而避免了類似sql語句拼接,閉合等非法操作。
CSRF(跨站請求偽造攻擊)
概念:利用用戶已經(jīng)登陸的身份,在用戶毫不知情的情況下,以用戶的名義完成非法操作。攻擊者誘導(dǎo)受害者進(jìn)入第三方網(wǎng)站,在第三方網(wǎng)站中,向被攻擊網(wǎng)站發(fā)送跨站請求,利用受害者在被攻擊網(wǎng)站已經(jīng)獲取的注冊憑證(比如cookie),繞過后臺的用戶驗證,達(dá)到冒充用戶對被攻擊的網(wǎng)站執(zhí)行某項操作的目的。
CSRF防御:
使用驗證碼,在關(guān)鍵的操作頁面加上驗證碼,后臺收到請求后通過判斷驗證碼可以防御CSRF,但這種方法對用戶不太友好
在請求地址中加入token驗證。連接請求中用戶驗證信息都是存在cookie中,因此黑客可以通過cookie來通過安全驗證(cookie也可以通過Xss攻擊獲得)。在http請求中以參數(shù)的形式加入一個隨機(jī)產(chǎn)生的token,在服務(wù)器端建立一個攔截器來驗證這個token,如果驗證不通過,則拒絕該請求
驗證http referer字段。http頭中的referer字段記錄了該http請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求來自于同一個網(wǎng)站,而如果黑客要實施csrf攻擊,一般只能在自己的網(wǎng)站構(gòu)造請求,因此可以通過驗證referer值來防御csrf攻擊。
DDos
概念:攻擊者使用多臺計算機(jī)執(zhí)行dos攻擊。dos攻擊是攻擊者不斷向服務(wù)器提出請求,占用服務(wù)器多資源,導(dǎo)致服務(wù)器無法處理正常的請求。
DDos防御:
CDN,通過多個CDN連接點相互承受攻擊,不容易由于一個連接點被攻擊而導(dǎo)致癱瘓****(隱藏服務(wù)器IP,讓CDN為服務(wù)器承擔(dān)攻擊)。采用CDN要隱藏源服務(wù)器的ip地址,要不然攻擊可以越過CDN直接攻擊源服務(wù)器
配置web防火墻
高防IP,將攻擊流量引流到高防IP,從而保護(hù)真正的ip不被暴露,確保源站的穩(wěn)定可靠。
采用高防服務(wù)器,獨立單個硬防御應(yīng)對ddos攻擊和cc攻擊100g以上的服務(wù)器
審核編輯:黃飛
-
HTTP
+關(guān)注
關(guān)注
0文章
478瀏覽量
30759 -
Web服務(wù)器
+關(guān)注
關(guān)注
0文章
137瀏覽量
24315 -
網(wǎng)絡(luò)攻擊
+關(guān)注
關(guān)注
0文章
329瀏覽量
23375
原文標(biāo)題:常見網(wǎng)絡(luò)攻擊與防御方法
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論