專利名稱:一種網頁請求安全處理方法及系統的制作方法
技術領域:
本發(fā)明涉及互聯網安全領域,尤其涉及ー種網頁請求安全處理方法及系統。
背景技術:
互聯網中的信息安全問題一直是該領域中非常重要的問題。其中,CSRF(Cross-site request forgery,跨站請求偽造)是ー種常見的通過對網頁的惡意利用從而盜取用戶信息的一種技術,該技術也被稱成為“one click attack”或者“sessionriding”,還可縮寫為XSRF。CSRF利用用戶在已登陸網站A上的登陸狀態(tài),在B網站的頁面上通過http(HyperText Transfer Protocol,超文本傳輸協議)請求(隱藏的圖片或者腳本引用)的方式在A網站上進行需要登陸驗證的操作,從而達到攻擊或竊取隱私信息的目的。這在多窗ロ瀏覽器中尤為常見。由于瀏覽器本身的特性,在發(fā)起ー個url請求時會自動在請求的數據包中附加上瀏覽器在該url的所在域名下的相關cookie數據。當用戶在ー個瀏覽器窗口中登陸了 A網站,再同時開另外ー個窗ロ訪問B網站。如果B網頁中的ー個元素發(fā)起了ー個A網站某個頁面的請求,這時這個請求會自動被瀏覽器帶上用戶在A網站的cookie,從而實現以登陸后的身份對A網站的操作。其中請求的發(fā)起操作有多種形式,一般表現為把請求的url作為頁面中圖片、iframe之類元素的路徑來實現,比較復雜的會通過隱藏的腳本代碼或者flash組件來發(fā)起?;谏鲜龅脑?,若用戶在ー個多窗ロ瀏覽器中購物網頁進行了登陸,黑客通過在某網頁中加入特定的鏈接,該鏈接則可能是偽造的上述購物網頁的付費鏈接,則當用戶同時打開該某網頁時則相當于向用戶已登錄的購物網頁發(fā)送了付費請求。為了防御上述的CSRF攻擊,在現有技術中提出了三種方式
(1)通過人工或系統掃描尋找存在CSRF漏洞的網頁和接ロ,開發(fā)人員收到漏洞報告后,針對性的進行相應的修復;
(2)瞬時授權方法姆次訪問請求使用一個臨時token來做為訪問的安全標記;
(3)用post代替get方式提交數據請求。但是上述三種方法分別具有自身的局限性
(O人力成本高、被動需要開發(fā)人員不斷的對發(fā)現的漏洞進行跟進修復;無法保證所有的CSRF漏洞都能及時發(fā)現并解決;且無法杜絕后續(xù)開發(fā)中新的CSRF漏洞出現;
(2)開發(fā)成本高同樣功能開發(fā)需要使用更復雜的設計方案,且不適用于靜態(tài)網頁; (3)安全性差、開發(fā)成本高攻擊者可以通過多種方式模擬post請求;如果需要在已經成熟的網站上進行部署的話需要投入大量的資源進行代碼調整
發(fā)明內容
本發(fā)明實施例所要解決的技術問題在于,提供ー種網頁請求安全處理方法及系統??稍趯φ麄€系統改造小的情況下實現對CRSF攻擊的識別和防御。為了解決上述技術問題,本發(fā)明實施例提供了ー種網頁請求安全處理方法,包括
步驟I、瀏覽器側的當前網頁構造加密的當前網頁的登陸信息;
步驟2、瀏覽器側發(fā)送所述當前網頁的網頁請求,所述網頁請求中包括所述加密的當前網頁的登錄信息,并還包括瀏覽器添加的當前網頁的登錄信息;
步驟3、服務器側接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。其中,步驟3可包括
服務器側接收所述網頁請求,并判斷所述網頁請求是否為預定義的白名單中的網頁請
求;
若判斷結果為否,則正常響應所述網頁請求;
若判斷結果為是,則將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。本方法還包括管理所述白名単。步驟I還包括
當前網頁腳本根據用戶在當前網頁登陸后保存在cookie中的登錄會話的加密值構造加密的當前網頁的登陸信息。步驟2還包括
所述當前網頁將所述加密的當前網頁的登錄信息以參數形式添加到所述當前網頁的鏈接中;
瀏覽器發(fā)送與所述鏈接對應的網頁請求,所述網頁請求中包括所述鏈接信息,和與所述鏈接相關的登錄信息。相應的,本發(fā)明實施例還提供了ー種網頁請求安全處理系統,包括
瀏覽器,用于發(fā)送當前網頁的網頁請求,其中,所述網頁請求中包括由當前網頁構造的加密的當前網頁的登陸信息,并還包括本瀏覽器添加的當前網頁的登錄信息;
服務器,用于接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。其中,該服務器可包括
請求接收模塊,用于接收所述網頁請求;
、 白名單判斷模塊,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若判斷結果為否,則正常響應所述網頁請求;
信息匹配模塊,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。
相應的本發(fā)明實施例還提供了ー種防御插件,用于安裝在如前所述的服務器中,該插件用于將所述服務器接收的網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。其中,該插件還包括
白名單判斷模塊,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若判斷結果為否,則轉入所述服務器的其他模塊正常響應所述網頁請求;
信息匹配模塊,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。
相應的,本發(fā)明實施例還包括一種網頁,裝載在如前所述的瀏覽器中,其中,該網頁包括網頁腳本,所述網頁腳本用于獲取用戶在所述網頁登陸后保存在cookie中的登錄會話的加密值。其中,所述網頁可包括基礎函數,所述函數用于以參數形式將所述加密值添加到所述當前網頁的網頁請求url串中。實施本發(fā)明實施例,具有如下有益效果
在本發(fā)明實施例中,在當前網頁請求中加入由當前網頁構造加密的當前網頁的登陸信息,由服務器側對該登錄信息進行匹配,僅對匹配通過的網頁請求進行正常處理,由于該加密的當前網頁的登錄信息是由當前網頁構造,其他網頁通過鏈接偽造當前網頁請求時無法構造出該加密的當前網頁的登錄信息,從而實現防御CSRF攻擊的目的。同時,本方案中,瀏覽器側只需要對網頁腳本進行編寫就可以實現構造登錄信息井隨網頁請求發(fā)送的目的,而服務器側只需要安裝相應的插件就可以實現登錄信息的匹配處理過程,對整個系統改造小且容易實施。
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖I是本發(fā)明實施例中的網頁請求安全處理方法的ー個具體流程示意 圖2是本發(fā)明實施例中的網頁請求安全處理系統的ー個具體組成示意 圖3是本發(fā)明實施例中的插件的ー個具體組成示意 圖4是本發(fā)明實施例中的各組件配合實現網頁請求安全處理方法的示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。在本發(fā)明實施例中通過對網頁代碼和WEB服務器兩側的改造來實現防御CSRF攻擊的目的。S卩,在瀏覽器側通過改造網站代碼,在所有http請求(包括ajax、jsonp、form表單提交等)中新增ー個g_tk參數(此處僅為示例,該參數名可設為任意的其他符號),其值為用戶在該網站上登陸后保存在cookie中的skey字段內容(此處僅為實例,該參數根據各個網站的cookie設計而不同,只要是能用于識別用戶的字段就行)的加密值。對于用cookie中的用戶識別字段作為token (即上述的g_tk參數)生成的主要原因是瀏覽器的設計上規(guī)定通過B網站是無法獲取到A網站的cookie信息。從而保證在B網站訪問的時候網頁無法構造出適用于該用戶的符合A網站要求的http請求。 而在服務器側,針對不同的web服務器可開發(fā)相應版本的CSRF防御插件,該插件通過白名單配置捕獲所有需要進行CSRF檢測的http請求(此處配置白名單主要是為了提高效率,在其他實施例中也可以不配置白名單,這樣服務器會對所有的http請求進行g_tk參數比較),并從請求的url (Uniform / Universal Resource Locator,統一資源定位符)中取出g_tk參數,并從cookie中取出登陸session值,把登陸session同樣加密后跟g_tk進行比較,如果兩個值不相同則表示此請求有CSRF攻擊嫌疑,插件中斷請求返回空白并記錄訪問日志供分析;如果兩個值相同則視為正常請求進行響應。還以前述的多窗ロ瀏覽器為例,攻擊者繼續(xù)從B網頁偽造A網頁的請求,請求的包頭會被瀏覽器帶上A網頁的登陸cookie偽裝登陸,但由于B網頁無法獲取到A網頁的cookie,所以所構造的A網頁請求中無法包含準確的g_tk參數內容。在服務器側收到http請求進行前面所述的session和g_tk驗證時就會發(fā)現這個請求是非法的。為詳細、條理的描述基于上述原理的本發(fā)明方案,以下分別列舉多個實施例進行闡述。如圖I所示,為本發(fā)明實施例中的網頁請求安全處理方法的ー個具體流程示意圖,該流程包括
101、瀏覽器側的當前網頁構造加密的當前網頁的登陸信息。如,當前網頁腳本根據用戶在當前網頁登陸后保存在cookie中的登錄會話的加密值構造加密的當前網頁的登陸信息。即,該加密的當前網頁的登陸信息可以是cookie中的登陸session加密值,構造途徑可以是通過在網頁中編寫網頁腳本,通過該當前網頁腳本獲取用戶在當前網頁登陸后保存在cookie中的登錄會話的加密值。當然可以是通過其他方式實現這種信息獲取和構造。需要說明的是,上述加密的當前網頁(如,網頁A)的登陸信息(如,cookie中的登陸session加密值)是由當前網頁構造的。對應當前的網頁組成,可通過將加密的當前網頁的登陸信息添加到當前網頁的url鏈接中,當用戶點擊網頁上的鏈接(如點擊帶鏈接的文字、圖片,或填寫登錄名和密碼后確認等)時,生成對應的網頁請求中會包括url鏈接的相關參數(即,也包括上述加密值)。而對于其他網頁(如網頁B),雖然其可以通過偽造的鏈接令瀏覽器發(fā)送包括網頁A的cookie的網頁請求,但是網頁B中的鏈接中不包括網頁A的加密的登錄信息,也就不能將該加密的登錄信息添加到網頁B的網頁請求中的(雖然網頁B可以偽造網頁A的鏈接,但是其無法獲取網頁A的cookie,也就無法構造上述加密值,也無法在偽造的鏈接中增加加密值),而瀏覽器在發(fā)送網頁B的網頁請求時,雖然可以在該網頁請求中帶上網頁A的cookie (瀏覽器的特性是在發(fā)送網頁請求時自動將該請求對應的網頁的cookie帶在該請求中,即,當網頁B偽造了網頁A的鏈接時,該請求是對應于網頁A的請求,瀏覽器會將網頁A的cookie添加到該請求中,網頁B本身并不能獲知網頁A的cookie),但是其不會帶上上述的網頁A的加密的登錄信息。102、瀏覽器側發(fā)送所述當前網頁的網頁請求,所述網頁請求中包括所述加密的當前網頁的登錄信息,并還包括瀏覽器添加的當前網頁的登錄信息。本步驟實現時可以以以下方式所述當前網頁將所述加密的當前網頁的登錄信息以參數形式添加到所述當前網頁的鏈接中;
瀏覽器發(fā)送與所述鏈接對應的網頁請求,所述網頁請求中包括所述鏈接信息,和與所述鏈接相關的登錄信息。結合前述的說明,該鏈接即是產生當前網頁的網頁請求的鏈接,瀏覽器在發(fā)送網頁請求時,會包括該鏈接的信息,和該鏈接對應的網頁的登錄信息(如,cookie)
在上述IOf 102步驟中,對應具體的網頁形式,網頁由兩種構造加密的登錄信息的方式I)由網頁中的javascript腳本發(fā)起的異步http請求(ajax, jsonp等),這種可以直接對網頁中發(fā)出http請求的基礎函數進行改造,在請求發(fā)送前在其url中新增參數g_tk,且值為cookie中登陸session的加密值;2)網頁中的form表單提交的http請求,這種方式可通過對網頁中的form表單進行改造,在提交的action的url后增加g_tk參數來實現信息獲取。在這兩種情況下不管是get還是post方式提交,g_tk參數都可統ー放在url串中以get方式傳遞到后臺服務器,這樣,若服務器側以插件方式進行CSRF攻擊的防御,則可以簡化該插件的驗證邏輯。因為post和get兩種傳輸方式中,參數在數據包中存放的位置不一樣,get方式傳輸時g_tk是在數據包靠前的位置,服務器進行處理的時候能夠只讀取少量數據就行,而post相關,需要把整個數據包都進行分析才能拿到g_tk的值。同時如果不把g_tk保存的位置明確在get或者post中,那么服務器在取這個參數的時候就需要在數據包的多處進行查找。雖然差別不大,但在服務器處理海量請求的時候,這個性能會有很大ー個差異。103、服務器側接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。在本步驟中為了提高效率,可增加白名單驗證機制,在這種機制下的白名單中定義(或者通過學習獲得)需要驗證的網頁請求(或類型)等來減少需要進行匹配的請求。如,在白名單中定義網頁請求涉及付款、購買、修改密碼等類型的網頁請求時,才進行進ー步的匹配驗證,則此時步驟103可包括如下流程 服務器側接收所述網頁請求,并判斷所述網頁請求是否為預定義的白名單中的網頁請
求;
若判斷結果為否,則正常響應所述網頁請求;
若判斷結果為是,則將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。相應的,如圖2所示,為本發(fā)明實施例中的網頁請求安全處理系統的組成圖,該系統包括
瀏覽器1,用于發(fā)送當前網頁的網頁請求,其中,所述網頁請求中包括由當前網頁構造的加密的當前網頁的登陸信息,并還包括本瀏覽器添加的當前網頁的登錄信息;
服務器2,用于接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。其中,為實現白名單驗證機制,則該服務器2可包括(圖2中為包括的情況) 請求接收模塊20,用于接收所述網頁請求;
白名單判斷模塊220,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若 判斷結果為否,則正常響應所述網頁請求;
信息匹配模塊222,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。如前所述,為了降低開發(fā)成本和復雜度,使現有技術中的服務器容易的實現上述功能,可通過為服務器添加插件的方法。相應的,本發(fā)明實施例還提供了ー種防御插件,用于安裝在如前所述的服務器中,該插件用于將所述服務器接收的網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。如圖3所示,為具有白名單驗證機制的插件,該插件22還包括
白名單判斷模塊220,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若判斷結果為否,則轉入所述服務器的其他模塊正常響應所述網頁請求;
信息匹配模塊222,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。對于上述白名單,可部署灰度方案以減少誤殺的情況,相應的,本發(fā)明實施例中的插件(或稱Csrf防御插件)對http請求的處理可以設置兩種模式a) token合法、記日志、不攔截非法請求;b) token合法、記日志、攔截非法請求。其中,token即是指前述的加密的當前網頁的登錄信息。對于部署的灰度過程,白名單是人工維護的。這兩種模式主要是用于csrf功能的灰度實施,通過日志來觀察插件會不會誤殺正常請求,當一段時間的日志無異常數據的時候,再啟用b中的攔截模式。上述中日志記錄的內容包括訪問ip、請求url、請求來路url等;這里的白名單是屬于csrf防御插件的配置文檔,可以通過開發(fā)人員手工配置或者是用輔助工具實現快速配置。在利用上述兩種模式實現本方案時,先執(zhí)行模式a,即,將需要進行csrf防御的請求url通過白名單管理加入配置,先設置為不攔截非法請求模式,收集該接ロ的訪問日志;對日志進行人工分析,如果有被記錄的正常請求由開發(fā)人員進行處理,直至確認日志中不存在誤殺記錄為止;前面兩步通過后再把該url的配置改為攔截模式,csrf正式生效。進入對其他url的處理。如前所述,為了降低開發(fā)成本和復雜度,使現有技術中的瀏覽器側容易的實現本方案中的相應功能,可通過在網頁中添加相應代碼的方式。即,本發(fā)明實施例還包括ー種網頁,裝載在如前所述的瀏覽器中,其中,該網頁包括網頁腳本,所述網頁腳本用于獲取用戶在所述網頁登陸后保存在cookie中的登錄會話的加密值。其中,所述網頁可包括基礎函數,所述函數用于以參數形式將所述加密值添加到所述當前網頁的網頁請求url串中,并以get方式發(fā)送到服務器側。如圖4所示,為本發(fā)明實施例中的各組件配合實現上述功能的示意圖。該圖中示例了瀏覽器側和服務器側的組成和交互。在用戶瀏覽器中包括http請求發(fā)起模塊,該模塊的功能通過對網頁代碼進行如前所述的改造即可實現。圖中三大模塊功能如下。http請求發(fā)送起模塊主要負責對原請求url的改造,讀取cookie中的登陸session并加密,把加密后的值做為參數附加到url中;
Csrf檢測防御插件主要負責在服務程序處理請求前,對用戶的http請求進行判斷,如果為csrf攻擊則直接中斷請求返回空白,如果是正常請求就跳過,由后臺程序進行響應。url白名單管理模塊為了避免防御模塊對所有的url進行校驗,造成不必要的性能浪費,本模塊主要負責為防御模塊提供請求csrf檢測前進行篩選的白名單配置文件;以及日常運維中對白名單的配置管理。各模塊交互如下
I. I非法請求,http請求發(fā)送起模塊向服務器發(fā)送非法請求,非法請求是指沒有或者只有錯誤g_tk參數的http請求,如前面所述中B網站的偽造請求;
I. 2命中白名単,Apache (ー種WEB服務器軟件,在本例中其具有白名單驗證功能)判斷該請求命中白名単,則向插件發(fā)送該消息;
1.3請求拒絕,插件接收到命中白名單消息后進行驗證,即對g_tk參數進行匹配,由于該消息本身為非法請求,匹配不成功,返回請求拒絕;
2.I正常請求,http請求發(fā)送起模塊向服務器發(fā)送正常請求;
2. 2命中白名單,Apache判斷該請求命中白名單,則向插件發(fā)送該消息; 2. 3驗證通過請求透傳,插件接收到命中白名單消息后進行驗證,即對g_tk參數進行匹配,匹配成功后向Cgi服務發(fā)送匹配成功的結果;
2.4返回結果,Cgi服務對該正常的http請求進行響應并返回結果;
3.I正常請求,http請求發(fā)送起模塊向服務器發(fā)送正常請求;
3. 2未命中白名單,Apache判斷該請求未命中白名單,則不需向插件發(fā)送該消息而直接將請求發(fā)送給Cgi服務;
3.3返回結果,Cgi服務對該正常的http請求進行響應并返回結果。說明,對于網站來說Apache或者其他web服務器軟件是網站程序運行的環(huán)境或平臺,真正執(zhí)行網站業(yè)務邏輯,生成內容給用戶看的東西叫做cgi服務。本例中的Cgi服務還可以是其他的語言腳本,如asp、php、peri等。在本發(fā)明實施例中,在當前網頁請求中加入由當前網頁構造加密的當前網頁的登陸信息,由服務器側對該登錄信息進行匹配,僅對匹配通過的網頁請求進行正常處理,由于該加密的當前網頁的登錄信息是由當前網頁構造,其他網頁通過鏈接偽造當前網頁請求時無法構造出該加密的當前網頁的登錄信息,從而實現防御CSRF攻擊的目的。同時,本方案中,瀏覽器側只需要對網頁腳本進行編寫就可以實現構造登錄信息井隨網頁請求發(fā)送的目的,而服務器側只需要安裝相應的插件就可以實現登錄信息的匹配處理過程,對整個系統改造小且容易實施。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
以上所揭露的僅為本發(fā)明ー種較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權利要求
1.ー種網頁請求安全處理方法,其特征在于,所述方法包括 瀏覽器側的當前網頁構造加密的當前網頁的登陸信息; 瀏覽器側發(fā)送所述當前網頁的網頁請求,所述網頁請求中包括所述加密的當前網頁的登錄信息,并還包括瀏覽器添加的當前網頁的登錄信息; 服務器側接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的所述瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。
2.如權利要求I所述的方法,其特征在于,所述服務器側接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的所述瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求,包括 服務器側接收所述網頁請求,并判斷所述網頁請求是否為預定義的白名單中的網頁請求; 若判斷結果為否,則正常響應所述網頁請求; 若判斷結果為是,則將所述網頁請求中的加密的當前網頁的登錄信息與加密后的所述瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。
3.如權利要求I所述的方法,其特征在于,所述瀏覽器側的當前網頁構造加密的當前網頁的登陸信息包括 當前網頁腳本根據用戶在當前網頁登陸后保存在cookie中的登錄會話的加密值構造加密的當前網頁的登陸信息。
4.如權利要求I至3中任一項所述的方法,其特征在于,所述瀏覽器側發(fā)送所述當前網頁的網頁請求包括 所述當前網頁將所述加密的當前網頁的登錄信息以參數形式添加到所述當前網頁的鏈接中; 瀏覽器發(fā)送與所述鏈接對應的網頁請求,所述網頁請求中包括所述鏈接信息,和與所述鏈接相關的登錄信息。
5.如權利要求4所述的方法,其特征在于,所述瀏覽器以get方式發(fā)送與所述鏈接對應的網頁請求。
6.ー種網頁請求安全處理系統,其特征在于,所述系統包括 瀏覽器,用于發(fā)送當前網頁的網頁請求,其中,所述網頁請求中包括由當前網頁構造的加密的當前網頁的登陸信息,并還包括本瀏覽器添加的當前網頁的登錄信息; 服務器,用于接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。
7.如權利要求6所述的系統,其特征在于,所述服務器包括 請求接收模塊,用于接收所述網頁請求; 白名單判斷模塊,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若判斷結果為否,則正常響應所述網頁請求;信息匹配模塊,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。
8.ー種防御插件,用于安裝在如權利要求6所述的服務器中,其特征在于,所述插件用于將所述服務器接收的網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。
9.如權利要求8所述的插件,其特征在于,所述插件還包括 白名單判斷模塊,用于判斷所述網頁請求是否為預定義的白名單中的網頁請求,若判斷結果為否,則轉入所述服務器的其他模塊正常響應所述網頁請求; 信息匹配模塊,用于當白名單判斷模塊得判斷結果為是時,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則轉入所述服務器的其他模塊正常響應所述網頁請求。
10.一種網頁,裝載在如權利要求6所述的瀏覽器中,其特征在于,所述網頁包括網頁腳本,所述網頁腳本用于獲取用戶在所述網頁登陸后保存在cookie中的登錄會話的加密值。
11.如權利要求10所述的網頁,其特征在于,所述網頁包括基礎函數,所述函數用于以參數形式將所述加密值添加到所述當前網頁的網頁請求urI串中。
全文摘要
本發(fā)明實施例公開了一種網頁請求安全處理方法及系統,該方法包括瀏覽器側的當前網頁構造加密的當前網頁的登陸信息;瀏覽器側發(fā)送所述當前網頁的網頁請求,所述網頁請求中包括所述加密的當前網頁的登錄信息,并還包括瀏覽器添加的當前網頁的登錄信息;服務器側接收所述網頁請求,將所述網頁請求中的加密的當前網頁的登錄信息與加密后的所述瀏覽器添加的當前網頁的登錄信息進行匹配,若匹配結果為不符,則中斷所述網頁請求,若匹配結果為相符,則正常響應所述網頁請求。采用本發(fā)明,可在對整個系統改造小的情況下實現對CRSF攻擊的識別和防御。
文檔編號H04L29/08GK102685081SQ20111006479
公開日2012年9月19日 申請日期2011年3月17日 優(yōu)先權日2011年3月17日
發(fā)明者周俊, 唐文榮, 徐凱鵬, 沈志堅, 肖崢, 胡文斌, 胡愛軍, 魯鋒 申請人:騰訊科技(深圳)有限公司