控制web系統(tǒng)越權(quán)訪問(wèn)的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種控制web系統(tǒng)越權(quán)訪問(wèn)的方法及裝置,接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn);本發(fā)明實(shí)施例達(dá)到了有效地控制web系統(tǒng)越權(quán)訪問(wèn)的目的。
【專(zhuān)利說(shuō)明】控制web系統(tǒng)越權(quán)訪問(wèn)的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種控制web系統(tǒng)越權(quán)訪問(wèn)的方法及裝置。
【背景技術(shù)】
[0002]目前互聯(lián)網(wǎng)中存在的最嚴(yán)重的漏洞之一是越權(quán)訪問(wèn)這類(lèi)漏洞,這類(lèi)漏洞是指網(wǎng)絡(luò)應(yīng)用在檢查授權(quán)時(shí)存在紕漏,使得攻擊者可以利用某些方式繞過(guò)權(quán)限檢查,訪問(wèn)或者操作到原本無(wú)權(quán)訪問(wèn)的代碼。在實(shí)際代碼安全檢查中,越權(quán)訪問(wèn)這類(lèi)漏洞往往很難通過(guò)網(wǎng)絡(luò)安全工具進(jìn)行自動(dòng)化檢測(cè);且在實(shí)際應(yīng)用中,需要進(jìn)行權(quán)限控制的數(shù)據(jù)也非常多,比如用戶的收貨地址信息、訂單信息、支付信息等,當(dāng)網(wǎng)絡(luò)業(yè)務(wù)復(fù)雜到一定程度后,很難保證這些數(shù)據(jù)的訪問(wèn)都經(jīng)過(guò)了嚴(yán)格的權(quán)限檢查;且傳統(tǒng)的網(wǎng)關(guān)安全設(shè)備也不具備控制用戶權(quán)限、業(yè)務(wù)邏輯等安全問(wèn)題的能力;因此,采用現(xiàn)有的防御方式對(duì)越權(quán)訪問(wèn)這類(lèi)漏洞的防御非常困難。
【發(fā)明內(nèi)容】
[0003]鑒于此,有必要提供一種控制web系統(tǒng)越權(quán)訪問(wèn)的方法及裝置,以達(dá)到控制web系統(tǒng)越權(quán)訪問(wèn)的目的。
[0004]本發(fā)明實(shí)施例公開(kāi)了一種控制web系統(tǒng)越權(quán)訪問(wèn)的方法,包括以下步驟:
[0005]接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù);
[0006]將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;
[0007]檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
[0008]優(yōu)選地,所述檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn),包括:
[0009]檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息;
[0010]根據(jù)所述用戶唯一標(biāo)識(shí)信息,查找所述參數(shù)列表中記錄的與所述用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù);
[0011]識(shí)別用戶提交的請(qǐng)求頁(yè)面的表單對(duì)應(yīng)的不可修改參數(shù)與所述參數(shù)列表中記錄的不可修改參數(shù)是否一致;
[0012]若二者不一致,則禁止該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn);
[0013]若二者一致,則允許該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn)。
[0014]優(yōu)選地,所述根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,包括:[0015]當(dāng)預(yù)設(shè)的所述識(shí)別策略為:http請(qǐng)求頭中cookie傳遞的參數(shù)時(shí),從所述頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭中cookie的username字段,將提取的所述username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
[0016]優(yōu)選地,所述提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),包括:
[0017]掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)。
[0018]優(yōu)選地,所述提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),包括:
[0019]虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。
[0020]本發(fā)明實(shí)施例還公開(kāi)了一種控制web系統(tǒng)越權(quán)訪問(wèn)的裝置,包括:
[0021]參數(shù)提取模塊,用于接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù);
[0022]參數(shù)綁定模塊,用于將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;
[0023]越權(quán)檢測(cè)模塊,用于檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
[0024]優(yōu)選地,所述越權(quán)檢測(cè)模塊用于:
[0025]檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息;
[0026]根據(jù)所述用戶唯一標(biāo)識(shí)信息,查找所述參數(shù)列表中記錄的與所述用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù);
[0027]識(shí)別用戶提交的請(qǐng)求頁(yè)面的表單對(duì)應(yīng)的不可修改參數(shù)與所述參數(shù)列表中記錄的不可修改參數(shù)是否一致;
[0028]若二者不一致,則禁止該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn);
[0029]若二者一致,則允許該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn)。
[0030]優(yōu)選地,所述參數(shù)提取模塊用于:
[0031]當(dāng)預(yù)設(shè)的所述識(shí)別策略為:http請(qǐng)求頭中cookie傳遞的參數(shù)時(shí),從所述頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭中cookie的username字段,將提取的所述username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
[0032]優(yōu)選地,所述參數(shù)綁定模塊用于:
[0033]掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)。
[0034]優(yōu)選地,所述參數(shù)綁定模塊還用于:
[0035]虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。
[0036]本發(fā)明實(shí)施例網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn);相較于現(xiàn)有技術(shù)對(duì)越權(quán)訪問(wèn)形式的漏洞所采用的方法,本發(fā)明實(shí)施例達(dá)到了有效地控制web系統(tǒng)越權(quán)訪問(wèn)的目的;進(jìn)一步地,由于本發(fā)明實(shí)施例采用將用戶訪問(wèn)的頁(yè)面表單及不可修改參數(shù)進(jìn)行綁定的方式,具有精確控制越權(quán)訪問(wèn)的有益效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0037]圖1是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的方法一實(shí)施例流程示意圖;
[0038]圖2是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的方法中進(jìn)行越權(quán)檢測(cè)一實(shí)施例流程示意圖;
[0039]圖3是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的裝置一實(shí)施例功能模塊示意圖。
[0040]本發(fā)明實(shí)施例目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
【具體實(shí)施方式】
[0041]以下結(jié)合說(shuō)明書(shū)附圖及具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0042]圖1是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的方法一實(shí)施例流程示意圖;如圖1所示,本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的方法包括以下步驟:
[0043]步驟S01、接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù);
[0044]步驟S02、將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;
[0045]本實(shí)施例中,網(wǎng)關(guān)預(yù)先設(shè)置了用戶唯一標(biāo)識(shí)的識(shí)別策略;該識(shí)別策略包括http(Hyper Text Transport Protocol,超文本傳輸協(xié)議)請(qǐng)求頭中cookie (小型文本文件)傳遞的參數(shù)或URL (Uniform Resource Locator,統(tǒng)一資源定位符)中傳遞的參數(shù)。
[0046]當(dāng)網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)先設(shè)置的識(shí)別策略,例如設(shè)置cookie中的username字段作為web用戶的唯一標(biāo)識(shí)信息,則網(wǎng)關(guān)從用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭的cookie中的username字段,將提取的username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
[0047]網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),對(duì)該用戶的每次訪問(wèn),掃描數(shù)據(jù)包,提取用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及表單中不可修改參數(shù),并將該表單及不可修改參數(shù)與用戶唯一標(biāo)識(shí)信息一起綁定后,記錄在參數(shù)列表中。
[0048]本實(shí)施例中,所述參數(shù)列表至少包含用戶的請(qǐng)求方法、請(qǐng)求URL、參數(shù)名和參數(shù)值;在進(jìn)行參數(shù)綁定時(shí),網(wǎng)關(guān)掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)?;蛘?,網(wǎng)關(guān)也可以虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序如JS (JavaScript,腳本語(yǔ)言)代碼,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。例如,用戶請(qǐng)求頁(yè)面A,A頁(yè)面中包含以POST (Power On Self Test,開(kāi)機(jī)自檢)方式提交到B頁(yè)面的表單,表單中包含固定參數(shù)nameflag=”hello”的鍵值對(duì),則記錄的不可修改參數(shù)中包括:請(qǐng)求方法POST, URLB,參數(shù)名nameflag,參數(shù)值hello。
[0049]本實(shí)施例中,所述不可修改參數(shù)是指在HTML (Hypertext Markup Language,超文本標(biāo)記語(yǔ)言)表單中固定寫(xiě)入的一個(gè)不可更改的表單項(xiàng)即隱藏域;當(dāng)用戶提交表單時(shí),網(wǎng)關(guān)將不可修改參數(shù)也與表單一起發(fā)送到服務(wù)端;該隱藏域在表單中的形式主要有以下三種:①直接內(nèi)置到HTML頁(yè)面中的隱藏域,例如〈input type=”hidden”name=”xxx”value=”xxx”/> ;②以JS的形式動(dòng)態(tài)創(chuàng)建的隱藏參數(shù),例如:
[0050]〈script〉
[0051]function add(value){
[0052]var value=l;
[0053]document, all.divHidden.1nnerHTML=〃〈input
[0054]type=,hidden,name=,hdncount, value=//+value+//>//;
[0055]}
[0056]〈/script〉
[0057]③HTML結(jié)合JS的實(shí)現(xiàn)方式,例如HTML頁(yè)面中寫(xiě)〈inputtype=” hidden” name=” XXX”/>, JS中動(dòng)態(tài)給名稱(chēng)為xxx的隱藏域賦值。
[0058]上述第①種形式的隱藏域可以完全綁定參數(shù)值,第②種形式的隱藏域的綁定需要結(jié)合隱藏域插入到HTML頁(yè)面的具體表單來(lái)獲取隱藏域提交的URL ;若存在第③種形式的隱藏域,則可以綁定第三種形式隱藏域的參數(shù)值。
[0059]步驟S03、檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
[0060]當(dāng)檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),查詢(xún)?cè)撜?qǐng)求頁(yè)面對(duì)應(yīng)的URL及該URL對(duì)應(yīng)的各種參數(shù);將所述請(qǐng)求頁(yè)面的表單及參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì);當(dāng)發(fā)現(xiàn)請(qǐng)求方法匹配,但卻存在不可修改參數(shù)被修改時(shí),網(wǎng)關(guān)則認(rèn)為該用戶為越權(quán)訪問(wèn),則阻止該用戶對(duì)請(qǐng)求頁(yè)面的訪問(wèn)。
[0061]圖2是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的方法中進(jìn)行越權(quán)檢測(cè)一實(shí)施例流程示意圖;如圖2所示,步驟S03、檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn),包括:
[0062]步驟S11、檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息;
[0063]步驟S12、根據(jù)所述用戶唯一標(biāo)識(shí)信息,查找所述參數(shù)列表中記錄的與所述用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù);
[0064]步驟S13、識(shí)別用戶提交的請(qǐng)求頁(yè)面的表單對(duì)應(yīng)的不可修改參數(shù)與所述參數(shù)列表中記錄的不可修改參數(shù)是否一致;若是,則執(zhí)行步驟S14 ;若否,則執(zhí)行步驟S15 ;
[0065]步驟S14、允許該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn);
[0066]步驟S15、禁止該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn)。
[0067]網(wǎng)關(guān)檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),識(shí)別并獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息;根據(jù)獲取的該用戶唯一標(biāo)識(shí)信息,查找已存儲(chǔ)的參數(shù)列表中記錄的與該用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù)。將用戶提交的請(qǐng)求頁(yè)面的表單及對(duì)應(yīng)的不可修改參數(shù),與參數(shù)列表中記錄的與用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù)進(jìn)行比對(duì),識(shí)別二者是否一致;在用戶請(qǐng)求頁(yè)面對(duì)應(yīng)的不可修改參數(shù)與參數(shù)列表中記錄的不可修改參數(shù)一致時(shí),允許用戶的本次訪問(wèn);在用戶請(qǐng)求頁(yè)面對(duì)應(yīng)的不可修改參數(shù)與參數(shù)列表中記錄的不可修改參數(shù)不一致時(shí),識(shí)別該用戶的本次訪問(wèn)為越權(quán)訪問(wèn),阻止用戶訪問(wèn)其請(qǐng)求的頁(yè)面。
[0068]本發(fā)明實(shí)施例網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn);達(dá)到了有效地控制web系統(tǒng)越權(quán)訪問(wèn)的目的;進(jìn)一步地,由于本發(fā)明實(shí)施例采用將用戶訪問(wèn)的頁(yè)面表單及不可修改參數(shù)進(jìn)行綁定的方式,具有精確控制越權(quán)訪問(wèn)的有益效果。
[0069]圖3是本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的裝置一實(shí)施例功能模塊示意圖。如圖3所示,本發(fā)明控制web系統(tǒng)越權(quán)訪問(wèn)的裝置包括:參數(shù)提取模塊01、參數(shù)綁定模塊02和越權(quán)檢測(cè)模塊03。
[0070]參數(shù)提取模塊01,用于接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù);
[0071]參數(shù)綁定模塊02,用于將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;
[0072]本實(shí)施例中,網(wǎng)關(guān)預(yù)先設(shè)置了用戶唯一標(biāo)識(shí)的識(shí)別策略;該識(shí)別策略包括http請(qǐng)求頭中cookie傳遞的參數(shù)或URL中傳遞的參數(shù)。
[0073]當(dāng)網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)先設(shè)置的識(shí)別策略,例如設(shè)置cookie中的username字段作為web用戶的唯一標(biāo)識(shí)信息,參數(shù)提取模塊01從用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭的cookie中的username字段,將提取的username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
[0074]參數(shù)提取模塊01接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),對(duì)該用戶的每次訪問(wèn),掃描數(shù)據(jù)包,提取用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及表單中不可修改參數(shù),并由參數(shù)綁定模塊02將該表單及不可修改參數(shù)與用戶唯一標(biāo)識(shí)信息一起綁定后,記錄在參數(shù)列表中。
[0075]本實(shí)施例中,所述參數(shù)列表至少包含用戶的請(qǐng)求方法、請(qǐng)求URL、參數(shù)名和參數(shù)值;在進(jìn)行參數(shù)的提取時(shí),參數(shù)提取模塊01掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)?;蛘?,參數(shù)提取模塊01也可以虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序如JS代碼,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。例如,用戶請(qǐng)求頁(yè)面A,A頁(yè)面中包含以POST方式提交到B頁(yè)面的表單,表單中包含固定參數(shù)nameflag=” hello”的鍵值對(duì),則參數(shù)提取模塊01記錄的不可修改參數(shù)中包括:請(qǐng)求方法POST,URL B,參數(shù)名nameflag,參數(shù)值 hello。
[0076]本實(shí)施例中,所述不可修改參數(shù)是指在HTML表單中固定寫(xiě)入的一個(gè)不可更改的表單項(xiàng)即隱藏域;當(dāng)用戶提交表單時(shí),網(wǎng)關(guān)將不可修改參數(shù)也與表單一起發(fā)送到服務(wù)端;該隱藏域在表單中的形式主要有以下三種:①直接內(nèi)置到HTML頁(yè)面中的隱藏域,例如〈input type=”hidden”name=”xxx” value=” xxx”/> ;②以 JS 的形式動(dòng)態(tài)創(chuàng)建的隱藏參數(shù),例如:
[0077]〈script〉
[0078]function add(value) {
[0079]var value=l;
[0080]document, all.divHidden.1nnerHTML="〈input
[0081]type=,hidden,name=,hdncount, value=//+value+//>//;
[0082]}
[0083]〈/script〉
[0084]③HTML結(jié)合JS的實(shí)現(xiàn)方式,例如HTML頁(yè)面中寫(xiě)〈inputtype=” hidden” name=” xxx”/>, JS中動(dòng)態(tài)給名稱(chēng)為xxx的隱藏域賦值。
[0085]參數(shù)綁定模塊02對(duì)上述第①種形式的隱藏域可以完全綁定參數(shù)值,參數(shù)綁定模塊02對(duì)第②種形式的隱藏域的綁定需要結(jié)合隱藏域插入到HTML頁(yè)面的具體表單來(lái)獲取隱藏域提交的URL ;若存在第③種形式的隱藏域,參數(shù)綁定模塊02則可以綁定第三種形式隱藏域的參數(shù)值。
[0086]越權(quán)檢測(cè)模塊03,用于檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
[0087]當(dāng)檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),越權(quán)檢測(cè)模塊03查詢(xún)?cè)撜?qǐng)求頁(yè)面對(duì)應(yīng)的URL及該URL對(duì)應(yīng)的各種參數(shù);將所述請(qǐng)求頁(yè)面的表單及參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì);當(dāng)發(fā)現(xiàn)請(qǐng)求方法匹配,但卻存在不可修改參數(shù)被修改時(shí),越權(quán)檢測(cè)模塊03則認(rèn)為該用戶為越權(quán)訪問(wèn),則阻止該用戶對(duì)請(qǐng)求頁(yè)面的訪問(wèn)。
[0088]越權(quán)檢測(cè)模塊03檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),識(shí)別并獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息;根據(jù)獲取的該用戶唯一標(biāo)識(shí)信息,越權(quán)檢測(cè)模塊03查找已存儲(chǔ)的參數(shù)列表中記錄的與該用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù)。越權(quán)檢測(cè)模塊03將用戶提交的請(qǐng)求頁(yè)面的表單及對(duì)應(yīng)的不可修改參數(shù),與參數(shù)列表中記錄的與用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù)進(jìn)行比對(duì),識(shí)別二者是否一致;在用戶請(qǐng)求頁(yè)面對(duì)應(yīng)的不可修改參數(shù)與參數(shù)列表中記錄的不可修改參數(shù)一致時(shí),越權(quán)檢測(cè)模塊03允許用戶的本次訪問(wèn);在用戶請(qǐng)求頁(yè)面對(duì)應(yīng)的不可修改參數(shù)與參數(shù)列表中記錄的不可修改參數(shù)不一致時(shí),越權(quán)檢測(cè)模塊03識(shí)別該用戶的本次訪問(wèn)為越權(quán)訪問(wèn),阻止用戶訪問(wèn)其請(qǐng)求的頁(yè)面。
[0089]本發(fā)明實(shí)施例網(wǎng)關(guān)接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn);達(dá)到了有效地控制web系統(tǒng)越權(quán)訪問(wèn)的目的;進(jìn)一步地,由于本發(fā)明實(shí)施例采用將用戶訪問(wèn)的頁(yè)面表單及不可修改參數(shù)進(jìn)行綁定的方式,具有精確控制越權(quán)訪問(wèn)的有益效果。
[0090]需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有
的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排除在包
括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
[0091 ] 上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0092] 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種控制web系統(tǒng)越權(quán)訪問(wèn)的方法,其特征在于,包括以下步驟: 接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù); 將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中;檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
2.如權(quán)利要求1所述的方法,其特征在于,所述檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn),包括: 檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息; 根據(jù)所述用戶唯一標(biāo)識(shí)信息,查找所述參數(shù)列表中記錄的與所述用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù); 識(shí)別用戶提交的請(qǐng)求頁(yè)面的表單對(duì)應(yīng)的不可修改參數(shù)與所述參數(shù)列表中記錄的不可修改參數(shù)是否一致; 若二者不一致,則禁止該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn); 若二者一致,則允許該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn)。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,包括: 當(dāng)預(yù)設(shè)的所述識(shí)別策略為:http請(qǐng)求頭中cookie傳遞的參數(shù)時(shí),從所述頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭中cookie的username字段,將提取的所述username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),包括: 掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)。
5.如權(quán)利要求1或2所述的方法,其特征在于,所述提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù),包括: 虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。
6.一種控制web系統(tǒng)越權(quán)訪問(wèn)的裝置,其特征在于,包括: 參數(shù)提取模塊,用于接收到用戶發(fā)送的頁(yè)面訪問(wèn)請(qǐng)求時(shí),根據(jù)預(yù)設(shè)的識(shí)別策略,從用戶的頁(yè)面訪問(wèn)請(qǐng)求中提取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息,同時(shí)提取所述頁(yè)面訪問(wèn)請(qǐng)求對(duì)應(yīng)的應(yīng)答頁(yè)面中的表單及該表單中不可修改參數(shù); 參數(shù)綁定模塊,用于將所述表單及不可修改參數(shù)與所述用戶唯一標(biāo)識(shí)信息綁定后記錄到參數(shù)列表中; 越權(quán)檢測(cè)模塊,用于檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),將所述請(qǐng)求頁(yè)面的表單及不可修改參數(shù)與該用戶對(duì)應(yīng)的所述參數(shù)列表中記錄的表單及不可修改參數(shù)進(jìn)行比對(duì),控制該用戶的網(wǎng)絡(luò)訪問(wèn)。
7.如權(quán)利要求6所述的裝置,其特征在于,所述越權(quán)檢測(cè)模塊用于: 檢測(cè)到用戶提交請(qǐng)求頁(yè)面的表單時(shí),獲取該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息; 根據(jù)所述用戶唯一標(biāo)識(shí)信息,查找所述參數(shù)列表中記錄的與所述用戶唯一標(biāo)識(shí)信息對(duì)應(yīng)的表單及不可修改參數(shù); 識(shí)別用戶提交的請(qǐng)求頁(yè)面的表單對(duì)應(yīng)的不可修改參數(shù)與所述參數(shù)列表中記錄的不可修改參數(shù)是否一致; 若二者不一致,則禁止該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn); 若二者一致,則允許該用戶對(duì)所述請(qǐng)求頁(yè)面的訪問(wèn)。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述參數(shù)提取模塊用于: 當(dāng)預(yù)設(shè)的所述識(shí)別策略為:http請(qǐng)求頭中cookie傳遞的參數(shù)時(shí),從所述頁(yè)面訪問(wèn)請(qǐng)求中提取http請(qǐng)求頭中cookie的username字段,將提取的所述username字段值作為該用戶對(duì)應(yīng)的用戶唯一標(biāo)識(shí)信息。
9.如權(quán)利要求6或7所述的裝置,其特征在于,所述參數(shù)綁定模塊用于: 掃描應(yīng)答頁(yè)面,提取所述應(yīng)答頁(yè)面中的表單及對(duì)應(yīng)的隱藏域,根據(jù)提取的隱藏域獲取所述表單中不可修改參數(shù)。
10.如權(quán)利要求6或7所述的裝置,其特征在于,所述參數(shù)綁定模塊還用于: 虛擬執(zhí)行所述應(yīng)答頁(yè)面包含的腳本程序,提取動(dòng)態(tài)構(gòu)建的隱藏域和對(duì)已有隱藏域的賦值,獲取所述應(yīng)答頁(yè)面中的表單及該表單不可修改參數(shù)。
【文檔編號(hào)】H04L9/32GK103501304SQ201310477351
【公開(kāi)日】2014年1月8日 申請(qǐng)日期:2013年10月12日 優(yōu)先權(quán)日:2013年10月12日
【發(fā)明者】曾長(zhǎng)春 申請(qǐng)人:深信服網(wǎng)絡(luò)科技(深圳)有限公司