自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

3大Web安全漏洞防御詳解:XSS、CSRF、以及SQL注入解決方案

安全 應(yīng)用安全
隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)安全變得越來(lái)越重要,程序員需要掌握最基本的web安全防范,下面列舉一些常見(jiàn)的安全漏洞和對(duì)應(yīng)的防御措施。

隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)安全變得越來(lái)越重要,程序員需要掌握最基本的web安全防范,下面列舉一些常見(jiàn)的安全漏洞和對(duì)應(yīng)的防御措施。

01

常見(jiàn)的Web安全問(wèn)題

1.前端安全

  • XSS 漏洞
  • CSRF 漏洞

2.后端安全

  • SQL 注入漏洞

02

XSS漏洞

1.XSS簡(jiǎn)介

跨站腳本(cross site script)簡(jiǎn)稱(chēng)為XSS,是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計(jì)算機(jī)安全漏洞,也是web中最主流的攻擊方式。

XSS是指惡意攻擊者利用網(wǎng)站沒(méi)有對(duì)用戶(hù)提交數(shù)據(jù)進(jìn)行轉(zhuǎn)義處理或者過(guò)濾不足的缺點(diǎn),進(jìn)而添加一些代碼,嵌入到web頁(yè)面中去,使別的用戶(hù)訪(fǎng)問(wèn)都會(huì)執(zhí)行相應(yīng)的嵌入代碼。

2.XSS攻擊的危害

1)盜取用戶(hù)資料,比如:登錄帳號(hào)、網(wǎng)銀帳號(hào)等

2)利用用戶(hù)身份,讀取、篡改、添加、刪除數(shù)據(jù)等

3)盜竊重要的具有商業(yè)價(jià)值的資料

4)非法轉(zhuǎn)賬

5)強(qiáng)制發(fā)送電子郵件

6)網(wǎng)站掛馬

7)控制受害者機(jī)器向其它網(wǎng)站發(fā)起攻擊

3.防止XSS解決方案

XSS的根源主要是沒(méi)完全過(guò)濾客戶(hù)端提交的數(shù)據(jù) ,所以重點(diǎn)是要過(guò)濾用戶(hù)提交的信息。

1)將重要的cookie標(biāo)記為http only, 這樣的話(huà)js 中的document.cookie語(yǔ)句就不能獲取到cookie了.

2)只允許用戶(hù)輸入我們期望的數(shù)據(jù)。 例如:age用戶(hù)年齡只允許用戶(hù)輸入數(shù)字,而數(shù)字之外的字符都過(guò)濾掉。

3)對(duì)數(shù)據(jù)進(jìn)行Html Encode 處理: 用戶(hù)將數(shù)據(jù)提交上來(lái)的時(shí)候進(jìn)行HTML編碼,將相應(yīng)的符號(hào)轉(zhuǎn)換為實(shí)體名稱(chēng)再進(jìn)行下一步的處理。

4)過(guò)濾或移除特殊的Html標(biāo)簽, 例如:  

5)過(guò)濾js事件的標(biāo)簽。例如 "onclick=", "onfocus" 等等。

03

CSRF攻擊(跨站點(diǎn)請(qǐng)求偽造)

1.CSRF簡(jiǎn)介

CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,也被稱(chēng)為“One Click Attack”或者Session Riding,通??s寫(xiě)為CSRF或者XSRF,是一種對(duì)網(wǎng)站的惡意利用。

XSS主要是利用站點(diǎn)內(nèi)的信任用戶(hù),而CSRF則通過(guò)偽裝來(lái)自受信任用戶(hù)的請(qǐng)求,來(lái)利用受信任的網(wǎng)站。與XSS攻擊相比,CSRF更具危險(xiǎn)性。

2.CSRF攻擊的危害

主要的危害來(lái)自于,攻擊者盜用用戶(hù)身份,發(fā)送惡意請(qǐng)求。比如:模擬用戶(hù)發(fā)送郵件,發(fā)消息,以及支付、轉(zhuǎn)賬等。

3.防止CSRF的解決方案

1)重要數(shù)據(jù)交互采用POST進(jìn)行接收,當(dāng)然是用POST也不是萬(wàn)能的,偽造一個(gè)form表單即可破解。

2)使用驗(yàn)證碼,只要是涉及到數(shù)據(jù)交互就先進(jìn)行驗(yàn)證碼驗(yàn)證,這個(gè)方法可以完全解決CSRF。但是出于用戶(hù)體驗(yàn)考慮,網(wǎng)站不能給所有的操作都加上驗(yàn)證碼。因此驗(yàn)證碼只能作為一種輔助手段,不能作為主要解決方案。

3)驗(yàn)證HTTP Referer字段,該字段記錄了此次HTTP請(qǐng)求的來(lái)源地址,最常見(jiàn)的應(yīng)用是圖片防盜鏈。

4)為每個(gè)表單添加令牌token并驗(yàn)證。

04

SQL注入漏洞

[[255556]]

1.簡(jiǎn)介

SQL注入是比較常見(jiàn)的網(wǎng)絡(luò)攻擊方式之一,主要是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符串,實(shí)現(xiàn)無(wú)帳號(hào)登錄,甚至篡改數(shù)據(jù)庫(kù)。

2.SQL注入的危害

  • 數(shù)據(jù)庫(kù)信息泄漏:數(shù)據(jù)庫(kù)中存放的用戶(hù)的隱私信息的泄露
  • 網(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)管理員帳戶(hù)被竄改
  • 服務(wù)器被遠(yuǎn)程控制,被安裝后門(mén)
  • 刪除和修改數(shù)據(jù)庫(kù)表信息

3.SQL注入的方式

通常情況下,SQL注入的位置包括:

(1)表單提交,主要是POST請(qǐng)求,也包括GET請(qǐng)求;

(2)URL參數(shù)提交,主要為GET請(qǐng)求參數(shù);

(3)Cookie參數(shù)提交;

(4)HTTP請(qǐng)求頭部的一些可修改的值,比如Referer、User_Agent等;

4.簡(jiǎn)單舉例

舉一個(gè)簡(jiǎn)單的例子,select * from user where id=100 ,表示查詢(xún)id為100的用戶(hù)信息,如果id=100變?yōu)?id=100 or 2=2,sql將變?yōu)椋簊elect * from user where id=100 or 2=2,將把所有user表的信息查詢(xún)出來(lái),這就是典型的sql注入。

5.防止SQL注入的解決方案

1)對(duì)用戶(hù)的輸入進(jìn)行校驗(yàn),使用正則表達(dá)式過(guò)濾傳入的參數(shù)

2)使用參數(shù)化語(yǔ)句,不要拼接sql,也可以使用安全的存儲(chǔ)過(guò)程

3)不要使用管理員權(quán)限的數(shù)據(jù)庫(kù)連接,為每個(gè)應(yīng)用使用權(quán)限有限的數(shù)據(jù)庫(kù)連接

4)檢查數(shù)據(jù)存儲(chǔ)類(lèi)型

5)重要的信息一定要加密

總之就是既要做好過(guò)濾與編碼并使用參數(shù)化語(yǔ)句,也要把重要的信息進(jìn)行加密處理,這樣SQL注入漏洞才能更好的解決。

責(zé)任編輯:武曉燕 來(lái)源: 優(yōu)知學(xué)院
相關(guān)推薦

2019-09-17 10:06:46

數(shù)據(jù)庫(kù)程序員網(wǎng)絡(luò)安全

2009-02-04 11:24:12

2014-09-25 13:14:53

2023-12-31 09:06:08

2014-07-03 10:01:40

XSS漏洞存儲(chǔ)型XSS漏洞

2019-02-25 09:20:53

2024-10-12 10:57:21

2020-10-10 10:10:07

安全漏洞技術(shù)

2011-05-19 11:00:44

2011-03-07 15:36:10

2019-01-29 10:22:08

Web漏洞攻擊XSS

2018-07-13 11:30:01

2015-03-19 09:36:39

2011-06-21 09:01:02

2010-08-30 13:07:31

2023-12-01 16:21:42

2018-11-12 11:12:46

2015-07-09 09:35:37

2017-06-08 12:25:52

2012-11-14 17:18:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)