隨着互聯網的普及,網絡安全變得愈來愈重要。Java等程序員須要掌握基本的web安全知識,防患於未然,下面列舉一些常見的安全漏洞,以及對應的防護解決方案。前端
1.前端安全程序員
2.後端安全web
1.XSS簡介正則表達式
跨站腳本(cross site script)簡稱爲XSS,是一種常常出如今web應用中的計算機安全漏洞,也是web中最主流的攻擊方式。sql
XSS是指惡意攻擊者利用網站沒有對用戶提交數據進行轉義處理或者過濾不足的缺點,進而添加一些代碼,嵌入到web頁面中去,使別的用戶訪問都會執行相應的嵌入代碼。數據庫
2.XSS攻擊的危害後端
一、盜取用戶資料,好比:登陸賬號、網銀賬號等安全
二、利用用戶身份,讀取、篡改、添加、刪除企業敏感數據等服務器
三、盜竊企業重要的具備商業價值的資料cookie
四、非法轉帳
五、強制發送電子郵件
六、網站掛馬
七、控制受害者機器向其它網站發起攻擊
3.防止XSS解決方案
XSS的根源主要是沒徹底過濾客戶端提交的數據 ,因此重點是要過濾用戶提交的信息。
1.CSRF簡介
CSRF(Cross-site request forgery)跨站請求僞造,也被稱爲「One Click Attack」或者Session Riding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用。
XSS利用站點內的信任用戶,而CSRF則經過假裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF更具危險性。
2.CSRF攻擊的危害
主要的危害來自於,攻擊者盜用了用戶身份,發送惡意請求。好比:模擬用戶的行爲發送郵件,發消息,以及支付、轉帳等財產安全。
3.防止CSRF的解決方案
1.簡介
SQL注入是比較常見的網絡攻擊方式之一,主要是經過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,實現無賬號登陸,甚至篡改數據庫。
2.SQL注入的危害
3.防止SQL注入的方式
一般狀況下,SQL注入的位置包括:
(1)表單提交,主要是POST請求,也包括GET請求;
(2)URL參數提交,主要爲GET請求參數;
(3)Cookie參數提交;
(4)HTTP請求頭部的一些可修改的值,好比Referer、User_Agent等;
4.簡要舉例
舉一個簡單的例子,select
* from user where id=100 ,表示查詢id爲100的用戶信息,若是id=100變爲 id=100 or
2=2,sql將變爲:select * from user where id=100 or
2=2,將把全部user表的信息查詢出來,這就是典型的sql注入。
5.防止SQL注入的解決方案
1)對用戶的輸入進行校驗,使用正則表達式過濾傳入的參數
2)使用參數化語句,不要拼接sql,也可使用安全的存儲過程
3)不要使用管理員權限的數據庫鏈接,爲每一個應用使用權限有限的數據庫鏈接
4)檢查數據存儲類型
5)重要的信息必定要加密
總之就是既要作好過濾與編碼並使用參數化語句,也要把重要的信息進行加密處理,這樣sql注入漏洞才能更好的解決。