[發(fā)明專利]一種識別網(wǎng)頁中CSRFtoken元素的方法在審
| 申請?zhí)枺?/td> | 201611107166.9 | 申請日: | 2016-12-06 |
| 公開(公告)號: | CN106776975A | 公開(公告)日: | 2017-05-31 |
| 發(fā)明(設(shè)計)人: | 周海嘯 | 申請(專利權(quán))人: | 成都知道創(chuàng)宇信息技術(shù)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 成都信博專利代理有限責(zé)任公司51200 | 代理人: | 張輝,崔建中 |
| 地址: | 610000 四川省成都*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 識別 網(wǎng)頁 csrftoken 元素 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及CSRF識別領(lǐng)域,具體涉及一種識別網(wǎng)頁中CSRF token元素的方法。
背景技術(shù)
CSRF攻擊之所以能夠成功,是因為攻擊者可以偽造用戶的請求,該請求中所有的用戶驗證信息都存在于Cookie中,因此攻擊者可以在不知道這些驗證信息的情況下直接利用用戶自己的Cookie來通過安全驗證。由此可知,抵御CSRF攻擊的關(guān)鍵在于:在請求中放入攻擊者所不能偽造的信息,并且該信息不存在于Cookie之中。
系統(tǒng)開發(fā)者可以在HTTP請求中以參數(shù)的形式加入一個隨機產(chǎn)生的token,并在服務(wù)器端建立一個攔截器來驗證這個token,如果請求中沒有token或者token內(nèi)容不正確,則認為可能是CSRF攻擊而拒絕該請求。這種網(wǎng)頁表單中嵌入CSRF token的方法有效阻止了點擊鏈接觸發(fā)CSRF漏洞,但同時對于自動化漏洞檢測工具也造成了攔截,導(dǎo)致自動化漏洞檢測工具不能夠正常提交網(wǎng)頁表單請求,造成對網(wǎng)頁表單中的輸入?yún)?shù)的漏洞不能進行檢測。
現(xiàn)有技術(shù)通過收集常見Web框架的CSRF token值名稱作為黑名單,例如表單input名稱為token,csrf_token,csrfmiddlewaretoken等,這些參數(shù)名稱在黑名單中,那么在HTTP請求過程中就認為是CSRF token參數(shù)。在后續(xù)的HTTP請求中會獲取CSRF token參數(shù)值,構(gòu)造正確的不被服務(wù)端攔截的HTTP請求。
因為是基于黑名單方式來判別是否是CSRF token參數(shù),這種方式依賴收集的黑名單庫的數(shù)量及準確性,存在大量的漏報情況,覆蓋不全,不能收集覆蓋所有的網(wǎng)頁表單中CSRF token的參數(shù)名稱。也會對網(wǎng)頁表單中某些正常的,非CSRF token表單參數(shù)造成誤判。
相關(guān)術(shù)語解釋
CSRF:(Cross-Site Request Forgery,跨站點偽造請求)是一種網(wǎng)絡(luò)攻擊方式,該攻擊可以在受害者毫不知情的情況下以受害者名義偽造請求發(fā)送給受攻擊站點,從而在未授權(quán)的情況下執(zhí)行在權(quán)限保護之下的操作,具有很大的危害性。具體來講,可以這樣理解CSRF攻擊:攻擊者盜用了你的身份,以你的名義發(fā)送惡意請求,對服務(wù)器來說這個請求是完全合法的,但是卻完成了攻擊者所期望的一個操作。
URL:統(tǒng)一資源定位符,是對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標準資源的地址。互聯(lián)網(wǎng)上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
Form:網(wǎng)頁表單,用于為用戶輸入創(chuàng)建HTML表單。表單用于向服務(wù)器傳輸數(shù)據(jù)。
萊文斯坦距離:又稱Levenshtein距離,是編輯距離(edit distance)的一種,指兩個字串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種識別網(wǎng)頁中CSRF token元素的方法,通過對目標網(wǎng)頁發(fā)起兩次不同會話的HTTP請求,解析出網(wǎng)頁表單中input類型為hidden的參數(shù)值,再通過判別計算參數(shù)值的萊文斯坦距離比例而不是黑名單名稱來判別是否為CSRF token參數(shù)。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
一種識別網(wǎng)頁中CSRF token元素的方法,包括以下步驟:
步驟1:創(chuàng)建HTTP第一個會話,通過獲取目標頁面源代碼,檢查頁面源代碼是否存在<form>標簽,存在則進行后續(xù)步驟;
步驟2:檢索第一個會話的網(wǎng)頁源碼<form>標簽內(nèi)是否存在input類型為hidden的表單元素,存在則進行后續(xù)步驟;
步驟3:創(chuàng)建HTTP第二個會話,通過獲取目標頁面源代碼,檢查頁面源代碼是否存在<form>標簽,存在則進行后續(xù)步驟;
步驟4:檢索第二個會話的網(wǎng)頁源碼<form>標簽內(nèi)是否存在input類型為hidden的表單元素,存在則進行后續(xù)步驟;
步驟5:依次比較第一個會話和第二個會話的表單中input類型為hidden的表單元素值,若相同input參數(shù)名稱的值發(fā)生變化,則標記為疑似CSRF token值,進入后續(xù)步驟;
步驟6:計算疑似CSRF token表單元素值的萊文斯坦距離比例,若所得到的比例大于一個確定的閾值,則該參數(shù)的CSRF token隨機性不夠,做誤報處理,否則,判別該參數(shù)為CSRF token。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都知道創(chuàng)宇信息技術(shù)有限公司,未經(jīng)成都知道創(chuàng)宇信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611107166.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





