2021-03-13 分類: 網(wǎng)站建設(shè)
1、防止XSS攻擊盜取用戶Cookie
2、防止基于Cookie的SQL注入\命令注入\其他亂七八糟的攻擊
1、安全(有破解思路麻煩告知)
2、通用
3、配置簡單
1、基于IP地址進行識別,在相同外網(wǎng)IP的情況下,可XSS盜取Cookie成功,既不防熟人XSS攻擊
2、在登陸后如果IP地址變動,需重新登陸
實現(xiàn)思路是通過AES加密Set-Cookie中的鍵值來確保Cookie的安全,具體如下圖:
首先獲取AES的初始密鑰Key,接著判斷是否開啟客戶端IP綁定,是的話AES的密鑰為Key+ClientIP,不是則為Key,之后通過AES對Set-Cookie的鍵值進行加密,加密過程中忽略expires,max-age,domain等保留鍵,之后重寫整個Set-Cookie
首先獲取AES的初始密鑰Key,接著判斷是否開啟客戶端IP綁定,是的話AES的密鑰為Key+ClientIP,不是則為Key,之后通過AES對Cookie的鍵值進行解密,解密過程中判斷是否開啟安全模式,是的話將丟棄無法解密的鍵值,不是則保留鍵值,之后重寫整個Cookie
如上圖,一共四個選項:
第一個為是否開啟Cookie安全防護,默認為關(guān)閉;
第二個為是否開啟客戶端IP綁定,默認為開啟;
開啟客戶端IP綁定后,當(dāng)攻擊者通過XSS漏洞盜取用戶Cookie后,因IP不同導(dǎo)致AES密鑰不同,無法成功解密進而無法登陸系統(tǒng)。關(guān)閉客戶端IP綁定將無法防止XSS攻擊盜取用戶 Cookie。
第三個為安全模式選擇;
默認為兼容模式,兼容模式下,如果參數(shù)解密失敗,將保留,即解密失敗的鍵值將維持原樣傳遞到后端服務(wù)器,例如XSS攻擊獲取的session加密串將直接傳遞到后端,但因服務(wù)器檢測不到session鍵值而無法登陸。安全模式將丟棄所有無法解密的鍵值。選擇兼容模式無法防止基于Cookie的SQL注入等攻擊。
第四個為密鑰,值默認為false,開啟后需點擊按鈕生成隨機16位密鑰。
Cookie安全防護功能的核心在于,數(shù)據(jù)的加密解密都在WAF上進行,密鑰無需存儲在前端,在沒有密鑰的情況下,可以認為密文是無法破解的。在開啟客戶端IP綁定后,可以在全站層面有效防止XSS攻擊盜取用戶Cookie的情況,攻擊者就算拿到用戶session的密文也因WAF無法解密而失效。而開啟安全模式后,攻擊者輸入的基于Cookie的SQL注入\命令注入等因WAF無法解密而被丟棄,從而保護后端服務(wù)器安全??偟膩碚f,該功能可以做為一種低成本的全站XSS攻擊緩解方案。
對于WAF而言,該功能的意義在于,后續(xù)的防護規(guī)則開發(fā),可以忽略Cookie方面的規(guī)則防護。同時如果基于性能和風(fēng)險考慮,也可以相應(yīng)的減少XSS攻擊甚至不要XSS攻擊的防護規(guī)則,從而減少規(guī)則集的維護難度和WAF處理性能。XSS的問題可以通過前端框架處理以及配合其他諸如前端參數(shù)加密,機器學(xué)習(xí)等方法來解決。
對于現(xiàn)有的網(wǎng)站來說,可以通過重寫網(wǎng)站架構(gòu)中Cookie相關(guān)的代碼來實現(xiàn)同樣的功能,實現(xiàn)起來也不復(fù)雜。
*本文作者:chenjc,轉(zhuǎn)載請注明來自FreeBuf.COM
網(wǎng)站名稱:WAF開發(fā)之Cookie安全防護
文章來源:http://jinyejixie.com/news30/105130.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)頁設(shè)計公司、網(wǎng)站策劃、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容