[發明專利]一種基于蒙特卡洛樹搜索的SQL注入攻擊優化方法在審
| 申請號: | 202111386256.7 | 申請日: | 2021-11-22 |
| 公開(公告)號: | CN114036510A | 公開(公告)日: | 2022-02-11 |
| 發明(設計)人: | 吳春明;曲振青;凌祥;陳雙喜;張江瑜;唐馨 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55;G06F21/64;G06F16/242 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 邱啟旺 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 蒙特卡洛樹 搜索 sql 注入 攻擊 優化 方法 | ||
1.一種基于蒙特卡洛樹搜索的SQL注入攻擊優化方法,其特征在于,包括如下步驟:
(1)將SQL注入語句按標點符號分割后,將得到的各部分存入集合D中,D={di|i=1,2,...,t};使用正則匹配或者基于語義的方法為di生成大量等價替換Mi,并將全部的Mi存入集合M中,M={Mi|i=1,2,...,t}。
(2)構建蒙特卡洛樹搜索的根節點N0,存有SQL注入語句的初始分數、優化過程的計算預算、子節點寬度限制最大模擬輪次、全局最大輪次等內容。
(3)選擇初始節點,若當前搜索輪次為1則選擇N0作為初始節點,否則選擇上一輪次得到的最優節點作為初始節點。
(4)基于步驟(3)選擇的初始節點,選擇當前輪次的最值得探索的節點,包括:
(4.1)針對初始節點,判斷其子節點個數,若子節點個數小于則派生一個子節點,即從當前集合M中隨機選擇Mi中的一個替換內容,并從當前集合M中剔除,將選擇的替換內容組合到初始節點對應的SQL注入語句中,返回到新派生的子節點,然后執行步驟(4.2);若子節點個數達到則直接執行步驟(4.3)。
(4.2)針對初始節點,優先找未選擇過的初始節點的子節點,如果有多個滿足條件的節點則隨機選擇。
(4.3)如果初始節點的子節點均被選擇過,則依據置信區間上界算法,根據探索和利用的權衡分數計算出優先級最高的節點,即被更多次選擇過的子節點優先級更低、最終分數較高的子節點優先級會更高。
(5)根據步驟(4)中得到的最值得探索的節點,進行一次擴展過程,即從當前集合M中隨機選擇Mi中的一個替換內容,并從當前集合M中剔除,將選擇的替換內容組合到當前最值得探索的節點對應的SQL注入語句中,完成后返回新SQL注入語句到擴展節點;
(6)在步驟(5)中得到的擴展節點的基礎上,執行模擬過程,即在最大模擬輪次的限制范圍內,每個模擬輪次都從當前集合M中隨機選擇Mi中的一個替換內容,組合到當前擴展節點對應的SQL注入語句中;返回最后生成的SQL注入語句的惡意分數。
(7)將步驟(6)得到的模擬分數與初始分數的差值作為最終分數,并將其反向傳播至步驟(6)擴展節點的所有父節點,同時將每個父節點的被選擇次數值加一;
(8)在計算預算的范圍內,重復步驟(4)~(7),然后再執行一次步驟(4.3)選擇優先級最高的節點為最優節點Nj。
(9)判斷當前Nj對應的SQL注入語句能否繞過WAF,如果成功則結束整個優化過程,輸出該SQL注入語句;否則將當前Nj作為初始節點,重復步驟(3)~(9),直至繞過WAF或者達到全局最大輪次。
2.如權利要求1所述基于蒙特卡洛樹搜索的SQL注入攻擊優化方法,其特征在于,步驟(1)中,標點符號包括空格、分號、引號等。
3.如權利要求1所述基于蒙特卡洛樹搜索的SQL注入攻擊優化方法,其特征在于,步驟(6)中,惡意分數為WAF判斷SQL注入語句的概率。
4.如權利要求1所述基于蒙特卡洛樹搜索的SQL注入攻擊優化方法,其特征在于,初始時,每個節點的被選擇次數值為0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111386256.7/1.html,轉載請聲明來源鉆瓜專利網。





