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