[發明專利]一種自動化檢測驗證碼回傳邏輯漏洞的方法及系統在審
| 申請號: | 201711227370.9 | 申請日: | 2017-11-29 |
| 公開(公告)號: | CN107896218A | 公開(公告)日: | 2018-04-10 |
| 發明(設計)人: | 陳棟 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;G06F11/36 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 孟峣 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 自動化 檢測 驗證 碼回傳 邏輯 漏洞 方法 系統 | ||
技術領域
本發明涉及信息安全技術領域,具體地說是一種實用性強的自動化檢測驗證碼回傳邏輯漏洞的方法及系統。
背景技術
現有技術中,驗證碼的邏輯漏洞問題嚴重,亟待解決,邏輯漏洞是指由于程序邏輯不嚴或邏輯太復雜,導致一些邏輯分支不能夠正常處理或處理錯誤。邏輯漏洞一般出現在賬號注冊、密碼修改、密碼找回、提交訂單、支付金額等敏感操作處。
邏輯漏洞挖掘一直是安全測試中“經久不衰”的話題。相比SQL注入、XSS漏洞等傳統安全漏洞,現在的攻擊者更傾向于利用業務邏輯層的漏洞,這類漏洞往往危害巨大,可能造成企業的資產損失和名譽受損,并且傳統的安全防御設備和措施收效甚微。例如,某在線購物網站存在訂單金額任意修改的邏輯漏洞,攻擊者能夠通過在提交訂單的時候抓取數據包或者直接修改前端代碼的方式,完成對訂單的金額的任意修改,導致攻擊者能夠以極低的價格購買商品,造成該購物網站的資產損失。并且,該漏洞相對于傳統安全漏洞(如SQL注入),更加難以防御,原因是該訂單的請求與正常的請求非常相似。
驗證碼(CAPTCHA)是Completely Automated Public Turing test to tell Computers and Humans Apart(全自動區分計算機和人類的圖靈測試)的縮寫,是一種區分用戶是計算機還是人的公共全自動程序。在網絡安全領域,驗證碼可以防止暴力破解等攻擊方式。
而在用戶需要進行敏感操作(比如重置密碼)時,驗證碼也可以被用來確定用戶的身份。驗證碼的發送一般有兩種途徑,一種是通過手機短信方式,另一種是通過郵箱郵件方式。目前,許多在線購物網站在賬號注冊、賬號登錄、重置密碼等操作時需要發送驗證碼至用戶的手機,以核實用戶的身份,確保用戶的賬號安全。
驗證碼回傳邏輯漏洞主要發生在前端驗證處,并且經常發生的位置在于賬號密碼找回、賬號注冊、支付訂單等功能處。該漏洞是指服務器生成驗證碼后,將驗證碼發送到用戶郵箱或者手機的同時,也將響應數據包發送到用戶本地(這一過程稱為驗證碼回傳),由于響應數據包中包含驗證碼的值,導致攻擊者在無法訪問用戶的郵箱以及手機的情況下,獲取驗證碼,完成敏感操作(如任意用戶密碼重置、支付訂單等操作)。
首先,用戶會發送驗證碼請求到服務器端,然后服務器端會生成驗證碼。隨后該驗證碼被發送到用戶郵箱或者手機,同時會被回傳到用戶本地。所以攻擊者只需要抓取響應數據包便能夠得到驗證碼的值,導致攻擊者在無法訪問用戶的郵箱以及手機的情況下,獲取驗證碼,完成敏感操作(如任意用戶密碼重置、支付訂單等操作)。
基于上述問題,本發明提出了一種自動化檢測驗證碼回傳邏輯漏洞的方法及系統。
發明內容
本發明的技術任務是針對以上不足之處,提供一種實用性強的自動化檢測驗證碼回傳邏輯漏洞的方法及系統。
一種自動化檢測驗證碼回傳邏輯漏洞的方法,其實現過程為,
一、首先載入敏感操作對應的URL,然后解析獲取敏感操作對應的郵箱地址或者手機號碼;
二、然后發送驗證碼請求,查看響應數據中是否包含驗證碼的值,如果包含,則說明該操作存在驗證碼回傳邏輯漏洞,如果不包含,則說明不存在。
所述步驟一的具體過程為:
1)首先載入一個或多個URL,這里的一個URL對應一項敏感操作;
2)發送HTTP請求至URL,獲取步驟1)中載入的URL的html文件;
3)解析步驟二中獲取的html文件,完成郵箱地址或者手機號碼的填寫。
上述步驟通過Python語言編寫程序自動實現,相對應的,步驟1)中URL載入通過在程序交互時直接輸入URL或者導入保存URL的文件實現。
所述步驟2)中,使用Python內置的urllib庫,發送HTTP請求至URL并返回html文檔,所述urllib庫的作用是發送請求至服務器端,然后獲取該頁面的html文檔。
所述步驟3)中,使用Python的BeautifulSoup庫,解析獲取的html文檔,從網頁中抓取希望得到的數據:首先抓取html表單,然后判斷是否需要在該html表單中填寫郵箱地址或者手機號碼;如果需要填寫,則由程序自動填寫完成;如果不需要填寫,則表示html文檔中已包含郵箱地址或者手機號碼。
所述步驟二的具體實現過程為:
使用Python內置的urllib庫,發送請求至對應敏感操作的URL地址,對應的郵箱地址或手機號碼即可收到驗證碼;
獲取響應后,將該響應數據包保存為文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711227370.9/2.html,轉載請聲明來源鉆瓜專利網。





