隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)安全變得越來(lái)越重要,程序員需要掌握最基本的web安全防范,下面列舉一些常見的安全漏洞和對(duì)應(yīng)的防御措施。
0x01: XSS漏洞
1、XSS簡(jiǎn)介
跨站腳本(cross site script)簡(jiǎn)稱為XSS,是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計(jì)算機(jī)安全漏洞,也是web中最主流的攻擊方式。
XSS是指惡意攻擊者利用網(wǎng)站沒(méi)有對(duì)用戶提交數(shù)據(jù)進(jìn)行轉(zhuǎn)義處理或者過(guò)濾不足的缺點(diǎn),進(jìn)而添加一些代碼,嵌入到web頁(yè)面中去,使別的用戶訪問(wèn)都會(huì)執(zhí)行相應(yīng)的嵌入代碼。
2、XSS攻擊的危害
- 盜取用戶資料,比如:登錄帳號(hào)、網(wǎng)銀帳號(hào)等
- 利用用戶身份,讀取、篡改、添加、刪除數(shù)據(jù)等
- 盜竊重要的具有商業(yè)價(jià)值的資料
- 非法轉(zhuǎn)賬
- 強(qiáng)制發(fā)送電子郵件
- 網(wǎng)站掛馬
- 控制受害者機(jī)器向其它網(wǎng)站發(fā)起攻擊
3、防止XSS解決方案
- XSS的根源主要是沒(méi)完全過(guò)濾客戶端提交的數(shù)據(jù) ,所以重點(diǎn)是要過(guò)濾用戶提交的信息。
- 將重要的cookie標(biāo)記為http only, 這樣的話js 中的document.cookie語(yǔ)句就不能獲取到cookie了。
- 只允許用戶輸入我們期望的數(shù)據(jù)。例如:age用戶年齡只允許用戶輸入數(shù)字,而數(shù)字之外的字符都過(guò)濾掉。
- 對(duì)數(shù)據(jù)進(jìn)行Html Encode 處理:用戶將數(shù)據(jù)提交上來(lái)的時(shí)候進(jìn)行HTML編碼,將相應(yīng)的符號(hào)轉(zhuǎn)換為實(shí)體名稱再進(jìn)行下一步的處理。
- 過(guò)濾或移除特殊的Html標(biāo)簽。
- 過(guò)濾js事件的標(biāo)簽。例如 "onclick=", "onfocus" 等。
0x02:CSRF攻擊(跨站點(diǎn)請(qǐng)求偽造)
1、CSRF簡(jiǎn)介
CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,也被稱為“One Click Attack”或者Session Riding,通常縮寫為CSRF或者XSRF,是一種對(duì)網(wǎng)站的惡意利用。
XSS主要是利用站點(diǎn)內(nèi)的信任用戶,而CSRF則通過(guò)偽裝來(lái)自受信任用戶的請(qǐng)求,來(lái)利用受信任的網(wǎng)站。與XSS攻擊相比,CSRF更具危險(xiǎn)性。
2、CSRF攻擊的危害
主要的危害來(lái)自于,攻擊者盜用用戶身份,發(fā)送惡意請(qǐng)求。比如:模擬用戶發(fā)送郵件,發(fā)消息,以及支付、轉(zhuǎn)賬等。
3、防止CSRF的解決方案
- 重要數(shù)據(jù)交互采用POST進(jìn)行接收,當(dāng)然是用POST也不是萬(wàn)能的,偽造一個(gè)form表單即可破解。
- 使用驗(yàn)證碼,只要是涉及到數(shù)據(jù)交互就先進(jìn)行驗(yàn)證碼驗(yàn)證,這個(gè)方法可以完全解決CSRF。
- 但是出于用戶體驗(yàn)考慮,網(wǎng)站不能給所有的操作都加上驗(yàn)證碼。因此驗(yàn)證碼只能作為一種輔助手段,不能作為主要解決方案。
- 驗(yàn)證HTTP Referer字段,該字段記錄了此次HTTP請(qǐng)求的來(lái)源地址,最常見的應(yīng)用是圖片防盜鏈。
- 為每個(gè)表單添加令牌token并驗(yàn)證。
0x03:SQL注入漏洞
1、簡(jiǎn)介
SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,主要是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢字符串,實(shí)現(xiàn)無(wú)帳號(hào)登錄,甚至篡改數(shù)據(jù)庫(kù)。
2、SQL注入的危害
- 數(shù)據(jù)庫(kù)信息泄漏:數(shù)據(jù)庫(kù)中存放的用戶的隱私信息的泄露;
- 網(wǎng)頁(yè)篡改:通過(guò)操作數(shù)據(jù)庫(kù)對(duì)特定網(wǎng)頁(yè)進(jìn)行篡改;
- 數(shù)據(jù)庫(kù)被惡意操作:數(shù)據(jù)庫(kù)服務(wù)器被攻擊,數(shù)據(jù)庫(kù)的系統(tǒng)管理員帳戶被竄改;
- 服務(wù)器被遠(yuǎn)程控制,被安裝后門;
- 刪除和修改數(shù)據(jù)庫(kù)表信息.
3、SQL注入的方式
通常情況下,SQL注入的位置包括:
- 表單提交,主要是POST請(qǐng)求,也包括GET請(qǐng)求;
- URL參數(shù)提交,主要為GET請(qǐng)求參數(shù);
- Cookie參數(shù)提交;
- HTTP請(qǐng)求頭部的一些可修改的值,比如Referer、User_Agent等;
4、防止SQL注入的解決方案
- 對(duì)用戶的輸入進(jìn)行校驗(yàn),使用正則表達(dá)式過(guò)濾傳入的參數(shù);
- 使用參數(shù)化語(yǔ)句,不要拼接sql,也可以使用安全的存儲(chǔ)過(guò)程;
- 不要使用管理員權(quán)限的數(shù)據(jù)庫(kù)連接,為每個(gè)應(yīng)用使用權(quán)限有限的數(shù)據(jù)庫(kù)連接;
- 檢查數(shù)據(jù)存儲(chǔ)類型;
- 重要的信息一定要加密;
0x04:DDOS攻擊
1、DOS攻擊和DDOS簡(jiǎn)稱
- DOS攻擊(Denial of Service 拒絕服務(wù)攻擊):凡是利用網(wǎng)絡(luò)安全防護(hù)措施不足導(dǎo)致用戶不能繼續(xù)使用正常服務(wù)的攻擊手段,都可以被稱為是拒絕服務(wù)攻擊,其目的是通過(guò)消耗網(wǎng)絡(luò)寬帶或系統(tǒng)資源,使網(wǎng)絡(luò)或計(jì)算機(jī)不能提供正常的服務(wù)。
- DDOS(Distributed Denial of Service ,分布式拒絕服務(wù)),凡是攻擊者通過(guò)控制在網(wǎng)絡(luò)上的傀儡主機(jī),同時(shí)發(fā)動(dòng)他們向目標(biāo)主機(jī)進(jìn)行拒絕服務(wù)攻擊的方式稱為分布式拒絕服務(wù)攻擊。
2、DDOS的危害
- 造成客戶業(yè)務(wù)不可用、利益受損
- 客戶網(wǎng)內(nèi)一個(gè)業(yè)務(wù)受到攻擊,客戶聯(lián)網(wǎng)全面受阻,所有業(yè)務(wù)癱瘓,連鎖反應(yīng)嚴(yán)重
- 攻擊引發(fā)的政治影響、社會(huì)輿論的壓力給企業(yè)帶來(lái)名譽(yù)損失
3、如何防御DDOS攻擊
- 及時(shí)更新系統(tǒng)補(bǔ)丁
- 安裝查殺軟硬件,及時(shí)更新病毒庫(kù)
- 設(shè)置復(fù)雜口令,減低系統(tǒng)被控制的可能性
- 關(guān)閉不必要的端口與服務(wù)
- 經(jīng)常檢測(cè)網(wǎng)絡(luò)的脆弱性,發(fā)現(xiàn)問(wèn)題及時(shí)修復(fù)。
- 對(duì)于重要的web服務(wù)器可以建立多個(gè)鏡像實(shí)現(xiàn)負(fù)載均衡,在一定程度上減輕DDOS的危害
總之就是既要做好過(guò)濾與編碼并使用參數(shù)化語(yǔ)句,也要把重要的信息進(jìn)行加密處理,這樣SQL注入漏洞才能更好的解決。
網(wǎng)頁(yè)題目:安全漏洞XSS、CSRF、SQL注入以及DDOS攻擊
分享URL:http://jinyejixie.com/news9/97809.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站策劃
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)