• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于抽象語法樹的C#源代碼SQL注入漏洞檢測算法

    2015-11-21 03:34:12
    信息安全研究 2015年2期
    關鍵詞:源代碼數(shù)據(jù)流漏洞

    孫 偉 陳 林

    1(中山大學信息科學與技術學院 廣州 510006)2(信息技術教育部重點實驗室(中山大學) 廣州 510006)3 (中山大學數(shù)據(jù)科學與計算機學院 廣州 510006)(sunwei@mail.sysu.edu.cn)

    ?

    基于抽象語法樹的C#源代碼SQL注入漏洞檢測算法

    孫 偉1,2陳 林3

    1(中山大學信息科學與技術學院 廣州 510006)2(信息技術教育部重點實驗室(中山大學) 廣州 510006)3(中山大學數(shù)據(jù)科學與計算機學院 廣州 510006)(sunwei@mail.sysu.edu.cn)

    SQL注入攻擊是數(shù)據(jù)庫安全的主要威脅.SQL注入攻擊被列為OWASP(open Web application security project)2010年和2013年十大Web應用系統(tǒng)安全威脅之首.SQL注入攻擊檢測及防御是目前常見的研究熱點,結合抽象語法樹的數(shù)據(jù)傳播分析及C#語言特性,提出基于規(guī)則及特征匹配的漏洞檢測架構,實現(xiàn)了C#源代碼的靜態(tài)檢測算法.測試結果表明該算法效果良好,簡單實用,通過生成源代碼的抽象語法樹及追蹤數(shù)據(jù)的傳播途徑,根據(jù)規(guī)則匹配進行檢測,實現(xiàn)C#源代碼的SQL注入漏洞檢測,在開發(fā)階段提高了代碼的安全性;同時提出的漏洞檢測框架可以進行拓展,實現(xiàn)對其他編程語言的SQL注入漏洞檢測.

    SQL注入;抽象語法樹;數(shù)據(jù)流分析;規(guī)則匹配;靜態(tài)分析

    根據(jù)美國Verizon發(fā)布的《2015 數(shù)據(jù)泄露調(diào)查報告》[1]統(tǒng)計,2014年發(fā)生在全球61個國家的79 790起安全事件中,有2 122起數(shù)據(jù)泄露事件得到確認,從2010年到2014年的統(tǒng)計數(shù)據(jù)來看,全球數(shù)據(jù)庫泄露事件呈現(xiàn)緩慢增長的趨勢.在眾多導致數(shù)據(jù)庫泄露的漏洞中,利用SQL(structured query language)注入漏洞發(fā)動的攻擊,是數(shù)據(jù)庫安全的主要威脅.OWASP(open Web application security project) 在2010年和2013年都把SQL注入攻擊列為十大Web應用系統(tǒng)安全威脅之首[2-3].根據(jù)安華金和數(shù)據(jù)庫攻防實驗室最新發(fā)布的《2015H1安華金和數(shù)據(jù)庫漏洞威脅報告》[4]顯示,80%以上的數(shù)據(jù)庫泄露漏洞都屬于SQL注入范疇.

    SQL注入漏洞不僅數(shù)量多,而且危害性很大,一旦發(fā)生SQL注入攻擊,常常給用戶帶來巨大的損失.據(jù)美國NTT集團對2013年全球發(fā)生的近30億次攻擊進行分析得出的《2014年全球威脅情報報告(GTIR)》[5]指出,一次“小規(guī)模”的SQL注入攻擊造成的損失超過19.6萬美元.因此研究SQL注入攻擊的防御檢測是一個迫切而有價值的研究.

    SQL注入(SQL injection, SQLI)是一種代碼注入技術,通過把惡意的SQL腳本插入到要執(zhí)行的輸入字段,用于攻擊數(shù)據(jù)驅(qū)動的應用程序[6].SQL注入漏洞本質(zhì)上就是Web應用程序開發(fā)者編程過程中的缺陷[7].因此對SQL注入漏洞的檢測主要是對程序代碼進行檢測.常見的代碼檢測方法有靜態(tài)代碼檢測和動態(tài)代碼檢測2種方法.靜態(tài)代碼檢測就是不需要運行應用程序,在編譯和執(zhí)行之前就實施漏洞檢測.動態(tài)代碼檢測則相反,需要運行應用程序,在應用程序執(zhí)行的過程中實施漏洞檢測.

    在動態(tài)檢測方法的研究中,文獻[8]對包括開源和商業(yè)的11個黑盒掃描器進行了分析評價,其中Acunetix,AppScan,N-Stalker,w3af在對比分析中都是較為突出的代表.Huang 等人[9]提出一個名為WAVES的黑盒測試技術,利用一個網(wǎng)頁蜘蛛爬蟲(Web crawler)識別出所有可能被利用的SQL注入點,然后基于預先定義的模式和攻擊技術模擬攻擊,WAVES會觀察應用系統(tǒng)的反應而作出判斷,并通過機器學習的方法提高攻擊技術.文獻[10]提出一種基于三維的多相位檢測方法(multiple phases detection approach, MDPA)的動態(tài)SQL注入漏洞測試用例的生成模型,提高了SQL注入檢測的覆蓋度、準確性及檢測效率.

    在靜態(tài)檢測的方法研究中,JDBC-Checker[11]通過對動態(tài)生成的SQL查詢的類型正確性進行靜態(tài)的檢查,能夠防御類型不匹配的攻擊,其缺點是不能對更多即使符合語法規(guī)范及類型正確但依然是惡意的SQL語句進行檢測.Java Static Tainting[12]是Livshits和Lam提出的一種用靜態(tài)分析技術來檢測軟件中漏洞的方法,其核心是使用信息流的技術來檢測被感染的輸入是否已被用來構造一個SQL查詢.其限制是只能檢測已知的攻擊模式,而且因使用了保守分析而影響了對未污染操作的支持,存在著較高的誤報率.文獻[13-15]先后相關地論述了使用二叉決策圖(binary decision diagram)的基于克隆的上下文相關的指針分析技術,通過Datalog(a logic programming language)和PQL(program query language)的支持,實現(xiàn)了對Java基于用戶自定義規(guī)則的靜態(tài)代碼的檢測,該工具的優(yōu)點是作為Eclipse的一個插件,能夠在編碼的階段識別出漏洞,在漏洞風險發(fā)生之前就發(fā)出警告,降低了SQL注入攻擊的風險,但該方法的缺陷是其準確率及誤報率依賴于漏洞規(guī)范的定義,而且目前只能應用到Java語言.

    以上都是來自國外的研究情況,在國內(nèi),文獻[16]使用基于信任源的動態(tài)著色及SQL方言語法感知的方法,修改了PHP的詞法分析器,利用不同數(shù)據(jù)庫管理系統(tǒng)各自的SQL語法解析器對SQL語句進行語法分析,改進了傳統(tǒng)的動態(tài)著色防御漏洞的方法,但該方法需要修改編程語言的內(nèi)核,未必適用于其他編程語言.文獻[17]提出一種基于程序分析技術的防御SQL注入的方法,通過標識污染源,跟蹤污染數(shù)據(jù)流,并為包含污染數(shù)據(jù)的SQL腳本在程序注入點建立自動機模型,在程序運行時監(jiān)控SQL腳本的自動機模型,如果無法滿足合法查詢的自動機模型,即為惡意SQL注入攻擊.該方法最大的弱點是需要在源程序進行插裝,更改了應用程序的源代碼.文獻[18]提出基于“污染值傳播”理論的數(shù)據(jù)流分析的SQL漏洞發(fā)現(xiàn)方法,首先將源代碼轉(zhuǎn)換為順序、分支或循環(huán)等控制流圖,定義并求解程序中每一個變量在控制流圖節(jié)點的污染格值,包括“污染”和“非污染”2個值,通過數(shù)據(jù)流分析技術跟蹤這種污染格值的傳播轉(zhuǎn)換,把污染值轉(zhuǎn)播分析結果作為漏洞判定的依據(jù),最終污染格值為“污染”的參數(shù)被標識為漏洞,該方法能夠在程序開發(fā)階段發(fā)現(xiàn)SQL注入漏洞,適用于解釋執(zhí)行的腳本語言,未見對編譯型的編程語言的支持.

    在我國,廣泛使用C#作為Web系統(tǒng)的設計語言,但對其研究較少,因此針對C#作為源代碼的SQL注入攻擊檢測的研究具有較高的現(xiàn)實意義.本文針對C#的源代碼提出一種基于抽象語法樹的數(shù)據(jù)流分析的規(guī)則及特征匹配算法,在應用程序研發(fā)過程中對源代碼進行靜態(tài)檢測和分析,為應用程序的安全評估提供信息,從而提高了Web應用的安全性.

    1 C#代碼的SQL注入漏洞特征分析

    SQL注入的過程是一個受到污染的注入源(source),經(jīng)過一系列的數(shù)據(jù)傳播路徑,最后到達注入點(sink)觸發(fā)注入的過程.因此,檢測SQL注入的源代碼重點是關注注入源的感染點代碼以及注入點的代碼,對應于C#編程語言,就是接收和讀取用戶輸入、客戶端或服務端信息的代碼以及與數(shù)據(jù)庫接口相關的代碼.

    在C#語言中,使用System.Web命名空間中的HttpRequest類讀取客戶端在Web請求期間的HTTP值,表1是C#代碼與SQL注入相關的編碼特征.

    表1 與SQL注入相關的C#代碼特征

    表1主要描述了與SQL注入相關的C#代碼特征,這些特征將作為匹配規(guī)則的依據(jù),檢測源代碼中是否存在導致SQL注入的注入源以及注入點的代碼,其中如果采用了參數(shù)化編程,在本文中會被認為這樣的編碼是安全的.

    下面通過一個存在SQL注入漏洞的代碼例子,分析其特點,為檢測規(guī)則的定義提供理論依據(jù).圖1是一個Web應用的后臺登錄前端界面:

    圖1 Web應用后臺登錄界面

    圖1的登錄界面由用戶名、密碼和驗證碼3個字段構成,其中用戶名字段經(jīng)常是SQL注入攻擊的位置.當輸入這3個字段的值按回車或者是點擊登錄按鈕之后,其執(zhí)行的代碼如圖2所示:

    圖2 執(zhí)行的代碼

    上述代碼通過用戶名和密碼驗證是否存在該帳號,跟蹤輸入正常的用戶名和密碼的數(shù)據(jù)流,對應的SQL語句分析如圖3所示:

    圖3 輸入正常帳號信息的登錄數(shù)據(jù)流分析

    由圖3可見,當在前端界面輸入用戶名admin進行登錄時,傳入代碼的用戶名數(shù)據(jù)是admin,對應的SQL查詢語句為select*from CRM_User where Name=′admin′ and PassWord=′admin′.假如用戶在用戶名字段輸入了諸如′or 1=1- -的惡意代碼,跟蹤處理的數(shù)據(jù)流,對應的SQL語句分析如圖4所示:

    圖4 輸入異常帳號信息的登錄數(shù)據(jù)流分析

    由圖4可見,用戶名字段傳入代碼的數(shù)據(jù)是′or 1=1 - -,對應的SQL查詢語句為select*from CRM_User where Name=′′or 1=1 - -′ and PassWord=′admin′,結果繞過了用戶名和密碼的校驗,把表CRM_User的所有用戶信息查詢出來.

    從以上例子可見,源代碼通過strUsername=Request.Form[″username″]獲取用戶的輸入,這個代碼就是SQL注入源,經(jīng)過sqlstring=″select*from CRM_User where Name=′″+strUsername+″′ and PassWord=′″+strPassword+″′″語句與其他SQL命令和密碼字段串聯(lián)組裝成新的字符串,這是注入源的傳播路徑,經(jīng)過串聯(lián)組裝的SQL語句最后經(jīng)過SqlCommand cmd=new SqlCommand(sqlstring, dbcon)把SQL腳本傳送給后臺數(shù)據(jù)庫執(zhí)行,最終觸發(fā)了SQL注入,這個代碼就是注入點.經(jīng)過分析歸納,存在SQL注入點的代碼具有如下特點:

    1) 存在如表1所述的注入源特征的用戶輸入、客戶端Cookie、服務端變量;

    2) 從注入源獲取的值直接與其他字符串串聯(lián)拼接成SQL語句,或注入源的值以變量輸入到一個函數(shù),且函數(shù)的輸出與其他字符串串聯(lián)拼接成SQL語句;

    3) 拼接的SQL語句經(jīng)過表1的注入點特征代碼交付到后臺數(shù)據(jù)庫執(zhí)行.

    符合以上3個特點的編碼被認為是存在SQL注入漏洞的.

    2 源代碼靜態(tài)檢測的思路分析

    2.1 檢測架構分析

    本文基于靜態(tài)分析的C#源代碼SQL注入檢測算法,是根據(jù)第1節(jié)描述的代碼特點進行SQL注入漏洞判斷的.假如從注入源到注入點的數(shù)據(jù)信息傳播路徑,一直都是直接的字符串拼接或者效果等于直接字符串拼接的賦值操作,那么認為這些代碼是存在SQL注入漏洞的,反之,假如采用參數(shù)化、存儲過程化或者對象化(諸如采用Nhibernate)編程對數(shù)據(jù)進行處理,那么這樣的代碼被認為是安全的.

    本文檢測算法的基本思路是利用抽象語法樹技術對C#源代碼分析,遍歷抽象語法樹,得到每一個用戶輸入的數(shù)據(jù)流分析結果,最終把用戶輸入的數(shù)據(jù)流分析結果與SQL注入校驗規(guī)則比較匹配,得出SQL注入漏洞的檢測結果.抽象語法樹技術的引入目的是為了提高生成用戶輸入的數(shù)據(jù)流分析結果的效率.

    本文通過建立一個開放和可擴展的架構,利用抽象語法樹的數(shù)據(jù)流分析技術及規(guī)則匹配的算法,根據(jù)定義的規(guī)則與源代碼作匹配,最終輸出漏洞缺陷警告,實現(xiàn)對源代碼靜態(tài)分析的掃描.本文算法的核心基礎是應用抽象語法樹的特性,如圖5所示.

    由圖5可見,架構主要由輸入、處理引擎和輸出3部分組成,其功能特點如下:

    1) 處理引擎.由生成抽象語法樹、分析數(shù)據(jù)傳播路徑、規(guī)則匹配檢測、生成知識、記錄漏洞等各個功能組件構成,具有良好的擴展性和穩(wěn)定性.本文實現(xiàn)的漏洞檢測工具重點實現(xiàn)了規(guī)則匹配檢測、記錄漏洞、漏洞缺陷報告生成3個功能組件.生成抽象語法樹借助了開源軟件Mono[19]的支持.

    2) 輸入.由代碼和規(guī)則庫組成.規(guī)則庫將根據(jù)輸出的知識庫和漏洞缺陷警告等信息進行改進.

    3) 輸出.由知識庫和漏洞缺陷警告組成.知識庫的意義是生成有價值的知識,指導開發(fā)人員提高編程質(zhì)量,同時也對規(guī)則庫的完整性和準確性提供支持.本文漏洞檢測工具實現(xiàn)了漏洞缺陷警告功能,知識庫的提出為下一步研究提供了接口和思路.

    圖5 靜態(tài)檢測算法的架構

    2.2 檢測流程描述

    基于抽象語法樹的數(shù)據(jù)流分析的規(guī)則匹配算法從源代碼開始,經(jīng)過抽象語法樹的生成、遍歷抽象語法樹生成數(shù)據(jù)流分析結果,循環(huán)調(diào)用檢測算法,用規(guī)則庫和數(shù)據(jù)流分析的數(shù)據(jù)比較匹配,當規(guī)則匹配時,記錄相應漏洞信息,當檢測算法循環(huán)體達到結束條件時,生成當前C#源代碼文件的警告報告,其流程如圖6所示:

    圖7 圖2中代碼的抽象語法樹

    圖6 靜態(tài)掃描的流程

    圖6描述了基于靜態(tài)分析的C#源代碼SQL注入檢測的整個流程,其核心過程有3個:第1個是生成抽象語法樹;第2個是遍歷抽象語法樹生成用戶數(shù)據(jù)的數(shù)據(jù)傳播路徑,該數(shù)據(jù)傳播路徑可以用1棵二叉樹表達;第3個是漏洞檢測過程,該過程就是基于規(guī)則庫,遍歷用戶數(shù)據(jù)的傳播路徑,即遍歷用戶數(shù)據(jù)流的二叉樹,符合規(guī)則的標準,記錄漏洞,最后生成漏洞報告.

    2.3 關鍵算法描述

    本文的靜態(tài)掃描算法,重點是遍歷和析取抽象語法樹數(shù)據(jù)并進行漏洞檢測的算法.

    抽象語法樹[20](abstract syntax tree, AST)也稱為語法樹(syntax tree),是采用計算機編程語言寫成的源代碼的抽象語法結構的樹狀表現(xiàn)形式,樹上的每個節(jié)點都表示源代碼中的一種結構.之所以說語法是“抽象”的,是因為這里的語法并不會表示出真實語法中出現(xiàn)的每個細節(jié).圖7是圖2中代碼對應的抽象語法樹.

    為了便于理解,圖7用矩形框起了語句string strUsername=Request.Form[″username″]的抽象語法樹關鍵節(jié)點,對本文來說有意義的節(jié)點就是用戶輸入及其傳播的節(jié)點.每一個用戶輸入的傳播過程相當于一系列的賦值指令過程,每一個賦值指令語句由目的操作數(shù)、操作符和源操作數(shù)組成,對應到抽象語法樹的節(jié)點,就是Body→Statement→Variable→Identifier→=→Expression→Identifier→Argument這樣的一個節(jié)點聯(lián)系過程,每個指令語句相當于一個Statement節(jié)點,每個Statement節(jié)點包含目的操作數(shù)、操作符和源操作數(shù)的子節(jié)點.通過遍歷析取抽象語法樹,得到每一個用戶輸入的數(shù)據(jù)傳播過程信息,每一個用戶輸入的數(shù)據(jù)經(jīng)由輸入、傳播,最終到達數(shù)據(jù)庫執(zhí)行,其傳播過程可以表達成一個數(shù)據(jù)流樹,以username的傳播過程為例,其數(shù)據(jù)流樹如圖8所示.

    圖8 用戶輸入傳播過程的數(shù)據(jù)流樹

    由圖8可見,每一個用戶輸入的傳播過程最終形成的數(shù)據(jù)結構是1棵數(shù)據(jù)流樹,葉子是源操作數(shù)或目的操作數(shù),非葉子節(jié)點是操作符.源代碼經(jīng)過抽象語法樹的生成,遍歷抽象語法樹,最終生成每一個用戶輸入的數(shù)據(jù)流樹,并存儲到數(shù)據(jù)表中.

    通過遍歷析取抽象語法樹獲得用戶輸入的數(shù)據(jù)流樹信息后,檢測SQL注入漏洞的算法轉(zhuǎn)變?yōu)橐砸?guī)則庫遍歷用戶輸入的數(shù)據(jù)流樹.規(guī)則庫定義了各種操作符及其安全性,其數(shù)據(jù)定義為(操作符,安全類型),操作符包括C#代碼處理用戶輸入的各種函數(shù),如表1所示的注入源、注入點及參數(shù)化編程的操作符以及各種字符串串接、賦值、轉(zhuǎn)換、用戶自定義函數(shù)等.安全類型包括安全、不安全、可能不安全,針對SQL注入漏洞而言,其安全類型定義如下:

    1) 參數(shù)化、存儲過程化和對象化編程的操作標記為安全;

    2) 其他的直接賦值、轉(zhuǎn)換操作標記為不安全;

    3) 函數(shù)操作標記為可能不安全.

    另外,作為注入源的用戶,直接輸入標記為不安全.SQL注入漏洞的檢測規(guī)則為:

    1) 不安全的數(shù)據(jù)經(jīng)過安全的操作,輸出為安全;

    2) 不安全的數(shù)據(jù)經(jīng)過不安全的操作,輸出為不安全;

    3) 不安全的數(shù)據(jù)經(jīng)過可能不安全的操作,輸出為不安全;

    4) 安全的數(shù)據(jù)經(jīng)過安全的操作,輸出為安全;

    5) 安全的數(shù)據(jù)經(jīng)過不安全的操作,輸出為安全;

    6) 安全的數(shù)據(jù)經(jīng)過可能不安全的操作,輸出為安全.

    依據(jù)這些規(guī)則,遍歷用戶輸入的檢測結果如圖9所示.

    在圖9中,用戶輸入Request.Form[″username″]標記為不安全,經(jīng)過一系列的操作,由源操作數(shù)和操作符的安全性一起決定目的操作數(shù)的安全性,然后標識每個操作輸出的安全性,整個數(shù)據(jù)流分析結果表明該用戶輸入存在漏洞,不安全.

    圖9 遍歷數(shù)據(jù)流樹的檢測結果

    3 SQL注入漏洞檢測算法實現(xiàn)

    從以上對SQL注入及防御的研究可知,SQL注入其實質(zhì)是一種驗證型的漏洞,這對如何提高代碼的安全性有著重要的現(xiàn)實意義.通過檢測代碼存在的SQL注入漏洞,是一種有效防御SQL注入的方法.

    本文從源代碼靜態(tài)檢測的角度,提出基于抽象語法樹的數(shù)據(jù)流分析技術,針對C#源代碼的靜態(tài)檢測方法,不僅有利于發(fā)現(xiàn)源代碼的安全漏洞,給軟件開發(fā)商帶來切實的價值,把軟件系統(tǒng)的安全風險提前揭示,而且能夠給代碼開發(fā)人員帶來有益的啟示,提高了開發(fā)人員編碼的規(guī)范性和安全性.

    本文提出的檢測算法,其功能主要包括:

    1) 生成抽象語法樹.通過xx編譯器把C#的源代碼(*.cs)生成抽象語法樹.

    2) 析取抽象語法樹數(shù)據(jù).通過遍歷抽象語法樹,析取與用戶輸入相關的節(jié)點數(shù)據(jù),每一個用戶輸入數(shù)據(jù)的傳播過程都形成1棵數(shù)據(jù)流樹.

    3) 規(guī)則的定義.定義檢測代碼是否存在SQL注入漏洞的規(guī)則,用來判斷用戶輸入數(shù)據(jù)從注入源到注入點的過程是否存在安全或不安全的操作.

    4) 檢測SQL注入漏洞.依據(jù)檢測規(guī)則,遍歷數(shù)據(jù)流樹,檢測代碼的SQL注入漏洞并保存到數(shù)據(jù)表中.

    5) 輸出檢測報告.查詢檢測結果,輸出檢測結果報告.

    本文提供的算法暫時無法檢測跨文件的數(shù)據(jù)傳播,使得本文的靜態(tài)代碼檢測算法存在一定的誤判率.

    3.1 分析及設計

    根據(jù)SQL注入檢測的問題,依據(jù)其功能要求,析取以下用例,如圖10所示:

    圖10 SQL注入漏洞檢測的用例

    圖10由5個用例組成,包括生成抽象語法樹、析取抽象語法樹數(shù)據(jù)、檢測SQL注入漏洞、定義規(guī)則及輸出檢測結果.其中生成抽象語法樹的用例功能,引用了開源軟件Mono項目的Cecil控件,本文在其基礎上實現(xiàn)了遍歷抽象語法樹,析取用戶輸入的數(shù)據(jù)流傳播信息的功能.

    下面通過活動圖描述核心的2個用例:析取抽象語法樹數(shù)據(jù)用例和檢測SQL注入漏洞的用例,如圖11和圖12所示.

    圖11描述了析取語法樹用例的活動過程:

    1) 讀取抽象語法樹;

    2) 遍歷抽象語法樹的每一個元素;

    3) 判斷抽象語法樹的節(jié)點Token類型是否是賦值型的表達式,如果是,則判斷同級節(jié)點的表達式是否包含用戶輸入變量,用戶輸入變量的判斷來自檢測規(guī)則的HTTP request的特征關鍵字,如果是用戶輸入,則析取該表達式的節(jié)點信息并記錄到數(shù)據(jù)庫,按照目的操作數(shù)、操作符和源操作數(shù)這樣的指令模式記錄;

    4) 把獲得的表達式的目的操作數(shù)作為輸入,遍歷抽象語法樹的節(jié)點,追蹤該目的操作數(shù)作為源操作數(shù)的表達式,如3)一樣記錄到數(shù)據(jù)庫;

    5) 遞歸檢測每一個新的目的操作數(shù),并記錄到數(shù)據(jù)庫,直到目的操作數(shù)在抽象語法樹中不再作為源操作數(shù)存在;

    6) 結束.

    圖11 析取抽象語法樹數(shù)據(jù)的活動圖

    圖12是檢測SQL注入漏洞的用例活動圖.該圖描述了檢測SQL注入漏洞用例的活動過程:

    1) 獲取所有待檢測的文件名;

    2) 循環(huán)遍歷每一個文件;

    3) 獲取同一個文件所有的注入源,即用戶輸入;

    4) 遍歷每一個注入源的數(shù)據(jù)流樹,用預先定義的規(guī)則,跟蹤分析每一個用戶輸入的數(shù)據(jù)傳播路徑,從注入源的位置開始,到注入點的位置結束,得出該用戶輸入的安全屬性;

    5) 保存檢測結果.

    圖12 檢測SQL注入漏洞的活動圖

    根據(jù)以上的分析,檢測算法的類設計如圖13所示.

    圖13描述了檢測算法各個類之間的關系,由圖13可見,檢測的邊界類ScanView調(diào)用了檢測規(guī)則的控制類RuleMaintemance和檢測結果的控制類ScanResultOperation.

    圖13 SQL注入檢測算法實現(xiàn)的VOPC(view of participating class)圖

    3.2 編碼的技術架構

    邏輯上,SQL注入檢測算法的實現(xiàn)采用3層的架構,包括界面層、業(yè)務邏輯層和實體層,在編碼實現(xiàn)中,其技術架構如圖14所示.

    圖14 SQL注入檢測算法的實現(xiàn)技術架構

    圖14描述了實際編碼中的技術架構.用戶界面定義面向用戶操作的功能,也稱表示層,通過調(diào)用邏輯層的接口,實現(xiàn)業(yè)務邏輯處理;邏輯層通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫;Model負責定義數(shù)據(jù)實體的類,可以被表示層、邏輯層和數(shù)據(jù)訪問層訪問;在數(shù)據(jù)訪問層,為了更便于編程及編碼的簡潔,數(shù)據(jù)庫訪問接口統(tǒng)一放在Library子層,該Library子層定義了數(shù)據(jù)庫連接字符串及各種直接面向數(shù)據(jù)庫的操作接口,數(shù)據(jù)處理組件只要引用Library,則可方便連接數(shù)據(jù)庫及調(diào)用各種數(shù)據(jù)庫執(zhí)行指令.

    3.3 算法典型代碼

    SQL注入漏洞的檢測算法的典型代碼如圖15所示.圖15的典型代碼主要包含各種循環(huán)遍歷的檢測代碼,包括循環(huán)遍歷獲取所有待檢測文件、循環(huán)遍歷每一個文件的所有用戶輸入,遍歷每一個用戶輸入的數(shù)據(jù)傳播路徑的數(shù)據(jù)流樹,最終確定每一個用戶輸入是否存在SQL注入漏洞,把檢測的結果保存到結果表.

    圖15 SQL注入漏洞的檢測算法代碼

    4 實驗結果

    下面是本文實現(xiàn)的檢測算法的功能界面截圖,主要包括4個:

    1) 規(guī)則定義界面如圖16所示.

    圖16通過列表的形式顯示規(guī)則,增加、修改規(guī)則之后,點擊底下的保存按鈕即可保存到數(shù)據(jù)庫.

    2) 語法樹生成界面如圖17所示.

    圖17頂部的代碼是C#源代碼,點擊生成語法樹按鈕之后,底部的樹型結構的內(nèi)容即是源代碼對應的抽象語法樹.

    圖17 生成語法樹界面

    3) 析取語法樹結果界面如圖18所示.

    圖18呈現(xiàn)了析取抽象語法樹之后,每一個用戶輸入的表達式,都以目的操作數(shù)、操作符和源操作數(shù)的形式保存到數(shù)據(jù)庫,每一個用戶輸入的數(shù)據(jù)傳播路徑,都形成一個樹型的數(shù)據(jù)流樹.

    4) 掃描檢測結果界面如圖19所示.

    圖19顯示了點擊開始檢測按鈕后的檢測結果,包括檢測的文件數(shù)、檢測所耗時間以及檢測發(fā)現(xiàn)的SQL注入漏洞個數(shù),底部詳細呈現(xiàn)了注入源、行號、SQL注入掃描結果、注入傳播路徑、文件名及掃描時間等數(shù)據(jù)信息.

    圖18 析取抽象語法樹的結果

    圖19 SQL注入檢測結果界面

    實驗的檢測結果表明,本文提出的基于靜態(tài)分析的C#源代碼SQL注入檢測算法是可行的,覆蓋了標準的C#源代碼的SQL注入源的所有類型,檢測的結果經(jīng)滲透測試是正確的.

    5 總 結

    本文提出的靜態(tài)檢測算法概述為通過抽象語法樹的生成,析取抽象語法樹的節(jié)點數(shù)據(jù),形成用戶輸入的數(shù)據(jù)流樹,然后基于預先定義的檢測規(guī)則,從注入源到注入點遍歷檢測數(shù)據(jù)流樹,追蹤分析源操作數(shù)、操作符及目的操作數(shù)的安全性變化,最終得出用戶輸入是否存在SQL注入漏洞的安全性分析結果.但在未來的研究中需要進一步完善以下功能:

    1) 改進生成源代碼的抽象語法樹的功能;

    2) 改善遍歷抽象語法樹生成數(shù)據(jù)流分析樹的功能;

    3) 提高跨過程調(diào)用的檢測準確率及實現(xiàn)跨文件調(diào)用的檢測;

    4) 完善規(guī)則庫和知識庫的建設,提高覆蓋度及準確率.

    [1]2015 data breach investigations report[R/OL]. New York: Verizon, 2015 [2015-10-19]. https://msisac.cisecurity.org/resources/reports/documents/rp_data-breach-investigation-report-2015_en_xg.pdf

    [2]Creative Commons Attributution Share-alike. The top10 most critical Web application security risks 2010[R/OL]. United States: OWASP, 2010 [2015-10-19]. http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf

    [3]Creative Commons Attributution Share-alike. The top10 most critical Web application security risks 2013[R/OL]. United States: OWASP, 2013 [2015-10-19]. http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202013.pdf

    [4]安華金和. 2015H1安華金和數(shù)據(jù)庫漏洞威脅報告[R/OL]. 北京: 安華金和數(shù)據(jù)庫攻防實驗室, 2015 [2015-10-19]. http://www.dbsec.cn/service/pdf/2015H1-DATABASE-VULNERABILITIES-REPORT.pdf

    [5]NTT Innovation Institute. Global threat intelligence report[R/OL]. Palo Alto, California: NTT Group, 2015 [2015-10-19]. https://nttgroupsecurity.com/articles-content/articles/download-the-2014-report

    [6]維基百科編者. SQL injection[G/OL]. 維基百科, (2015-10-19) [2015-10-19]. https://en.wikipedia.org/wiki/SQL_injection

    [7]馬小婷, 胡國平, 李舟軍. SQL注入漏洞檢測與防御技術研究[J]. 計算機安全, 2010 (11): 18-24

    [8]Doupé A, Cova M, Vigna G. Why johnny can’t pentest: An analysis of black-box Web vulnerability scanners[M] //Detection of Intrusions and Malware, and Vulnerability Assessment. Berlin: Springer, 2010: 111-131

    [9]Huang Y W, Huang S K, Lin T P, et al. Web application security assessment by fault injection and behavior monitoring[C] //Proc of the 12th Int Conf on World Wide Web. New York: ACM, 2003: 148-159

    [10]Liu Lei,Xu Jing, Li Minglei, et al. A dynamic SQL injection vulnerability test case generation model based on the multiple phases detection approach[C] //Proc of the 37th IEEE Annual Computer Software and Applications Conf. Piscataway, NJ: IEEE, 2013: 256-261

    [11]Gould C, Su Z, Devanbu P. JDBC checker: A static analysis tool for SQL/JDBC applications[C] //Proc of the 26th Int Conf on Software Engineering. Los Alamitos, CA: IEEE Computer Society, 2004: 697-698

    [12]Livshits B V, Lam M S. Finding security errors in Java programs with static analysis[C] //Proc of the 14th USENIX Security Symp. Berkeley: USENIX Association, 2005: 271-286

    [13]Whaley J, Lam M S. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams[J]. ACM SIGPLAN Notices, 2004, 39(6): 131-144

    [14]Martin M, Livshits B, Lam M S. Finding application errors using PQL: A program query language[R]. Palo Alto, California: Stanford University, 2004

    [15]Martin M, Livshits B, Lam M S. Finding application errors and security flaws using PQL: A program query language[J]. ACM SIGPLAN Notices, 2005, 40(10): 365-383

    [16]丁翔, 仇寅, 鄭滔. 一種利用PHP防御SQL注入攻擊的方法[J]. 計算機工程, 2011, 37(11): 152-153

    [17]李小花, 孫建華, 陳浩. 程序分析技術在SQL注入防御中的應用研究[J]. 小型微型計算機系統(tǒng), 2011, 32(6): 1089-1093

    [18]謝億鑫, 孫樂昌, 劉京菊. 基于數(shù)據(jù)流分析的SQL注入漏洞發(fā)現(xiàn)技術研究[J]. 微計算機信息, 2010 (15): 163-165

    [19]Mono. Cecil[CP/OL]. 2015 [2015-09-10]. http://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/

    [20]維基百科編者. Abstract syntax tree[G/OL]. 維基百科, (2015-09-08) [2015-10-19]. https://en.wikipedia.org/wiki/Abstract_syntax_tree

    孫 偉

    教授,博士生導師,主要研究方向為網(wǎng)絡安全和多媒體技術通信.

    sunwei@mail.sysu.edu.cn

    陳 林

    碩士研究生,主要研究方向為信息安全.

    chanlan@163.com

    A C# Source-Code SQL Injection Attack Detection Algorithm Based on Abstract Syntax Tree

    Sun Wei1,2and Chen Lin3

    1(SchoolofInformationScienceandTechnology,SunYat-senUniversity,Guangzhou510006)2(KeyLaboratoryofInformationTechnology(MinistryofEducation),SunYat-senUniversity,Guangzhou510006)3(SchoolofDataandComputerScience,SunYat-senUniversity,Guangzhou510006)

    SQL injection attacks is ranked first in OWASP (open Web application security project) Top10 Web application security threats in both 2010 and 2013. This paper proposes a static abstract syntax tree analysis framework for detecting SQL injections based on the matching rules, and implements the C# source-code SQL injection attack detection algorithm. This paper focuses on data flow analysis based on the abstract syntax tree, tracing the route of transmission of data and detecting SQL vulnerability in accordance with the predefined rules. Then this paper achieves injection detection algorithm based on C# language source code and MSSQL. The detection algorithm results show that the algorithm works well for C# language source code. But the results also show that it is possible to make false negative due to lack of supportof detecting the vulnerability existing in the cross-file and cross-function. However, the proposed architecture and algorithms can be extended to other programming platforms. Finally, this paper makes a summary on both SQL injection and the defense, points out the shortcomings itself and makes a prospect of the SQL injection research.

    SQL injection; abstract syntax tree; data flow analysis; feature matching; static analysis

    2015-10-19

    TP309

    猜你喜歡
    源代碼數(shù)據(jù)流漏洞
    人工智能下復雜軟件源代碼缺陷精準校正
    計算機仿真(2023年8期)2023-09-20 11:23:42
    漏洞
    基于TXL的源代碼插樁技術研究
    汽車維修數(shù)據(jù)流基礎(下)
    軟件源代碼非公知性司法鑒定方法探析
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
    三明:“兩票制”堵住加價漏洞
    漏洞在哪兒
    兒童時代(2016年6期)2016-09-14 04:54:43
    揭秘龍湖產(chǎn)品“源代碼”
    基于數(shù)據(jù)流聚類的多目標跟蹤算法
    成年人黄色毛片网站| 精品免费久久久久久久清纯 | 亚洲精品中文字幕一二三四区| 中文字幕另类日韩欧美亚洲嫩草| 美女高潮到喷水免费观看| 两个人免费观看高清视频| 在线永久观看黄色视频| 亚洲aⅴ乱码一区二区在线播放 | av电影中文网址| 久久久久久久精品吃奶| 亚洲av欧美aⅴ国产| 亚洲av熟女| 亚洲精品中文字幕一二三四区| 国产免费现黄频在线看| 少妇被粗大的猛进出69影院| 亚洲第一av免费看| 午夜福利欧美成人| 精品人妻1区二区| 美女国产高潮福利片在线看| 久久精品亚洲精品国产色婷小说| 窝窝影院91人妻| 成人精品一区二区免费| 黄色a级毛片大全视频| 欧美中文综合在线视频| 国产av一区二区精品久久| 99国产综合亚洲精品| 一进一出抽搐动态| 国产成人av激情在线播放| 久久国产精品影院| 一区福利在线观看| 最新的欧美精品一区二区| 国产成人啪精品午夜网站| 两性午夜刺激爽爽歪歪视频在线观看 | 在线播放国产精品三级| 激情在线观看视频在线高清 | 18在线观看网站| 国产单亲对白刺激| 国产在线精品亚洲第一网站| 热re99久久精品国产66热6| 美女午夜性视频免费| 亚洲av电影在线进入| 国产极品粉嫩免费观看在线| 看黄色毛片网站| 国产高清视频在线播放一区| 一个人免费在线观看的高清视频| 在线av久久热| 一边摸一边抽搐一进一出视频| 色在线成人网| 久久久久久久久久久久大奶| 久久热在线av| 纯流量卡能插随身wifi吗| 天堂√8在线中文| 99riav亚洲国产免费| 在线av久久热| 国产精品一区二区在线不卡| 久久国产亚洲av麻豆专区| 国产精品一区二区精品视频观看| 丁香欧美五月| 另类亚洲欧美激情| 亚洲av熟女| 久久这里只有精品19| xxx96com| 亚洲午夜精品一区,二区,三区| 午夜视频精品福利| 免费少妇av软件| 人妻一区二区av| 男女下面插进去视频免费观看| 无人区码免费观看不卡| 国产亚洲欧美精品永久| 国产在视频线精品| 久久香蕉精品热| 精品亚洲成a人片在线观看| 91麻豆精品激情在线观看国产 | 99国产精品一区二区蜜桃av | 一二三四在线观看免费中文在| 妹子高潮喷水视频| 村上凉子中文字幕在线| 亚洲精品一二三| 99国产综合亚洲精品| 欧美成狂野欧美在线观看| svipshipincom国产片| 久久青草综合色| 精品福利观看| 悠悠久久av| 免费少妇av软件| 国产免费现黄频在线看| 男女之事视频高清在线观看| 久久久久国内视频| 亚洲色图 男人天堂 中文字幕| 午夜精品久久久久久毛片777| 久久久国产成人免费| 国产97色在线日韩免费| 看免费av毛片| 国产精品免费视频内射| 久久人人97超碰香蕉20202| 久久精品国产亚洲av香蕉五月 | 国产成人啪精品午夜网站| 两个人看的免费小视频| 成人永久免费在线观看视频| 午夜视频精品福利| 宅男免费午夜| 18禁美女被吸乳视频| 成人黄色视频免费在线看| 欧洲精品卡2卡3卡4卡5卡区| 精品高清国产在线一区| 妹子高潮喷水视频| tube8黄色片| 国产一区二区三区综合在线观看| 亚洲成av片中文字幕在线观看| 色94色欧美一区二区| 桃红色精品国产亚洲av| 欧美大码av| 午夜激情av网站| 国产在线观看jvid| 亚洲av电影在线进入| 欧美乱妇无乱码| 老司机在亚洲福利影院| 女人爽到高潮嗷嗷叫在线视频| 国产视频一区二区在线看| 日韩制服丝袜自拍偷拍| 精品人妻在线不人妻| 90打野战视频偷拍视频| 三级毛片av免费| 91大片在线观看| 欧美日韩瑟瑟在线播放| av天堂在线播放| 一本一本久久a久久精品综合妖精| 大型av网站在线播放| 在线av久久热| 丁香六月欧美| 老汉色∧v一级毛片| 高清视频免费观看一区二区| 人人妻人人澡人人爽人人夜夜| 欧美+亚洲+日韩+国产| 国产av一区二区精品久久| 老汉色av国产亚洲站长工具| 夜夜爽天天搞| 色婷婷av一区二区三区视频| 在线观看舔阴道视频| 亚洲五月色婷婷综合| 国产精品免费一区二区三区在线 | 国产有黄有色有爽视频| 母亲3免费完整高清在线观看| 国产单亲对白刺激| 一级毛片精品| 亚洲成人免费电影在线观看| 丝瓜视频免费看黄片| 十八禁网站免费在线| 久久精品亚洲av国产电影网| 久久午夜综合久久蜜桃| 99国产精品99久久久久| 欧美日韩瑟瑟在线播放| 成年动漫av网址| 亚洲国产欧美一区二区综合| 色尼玛亚洲综合影院| a级毛片黄视频| 久久久国产欧美日韩av| 欧美激情极品国产一区二区三区| av超薄肉色丝袜交足视频| bbb黄色大片| 精品一区二区三区av网在线观看| 国产精品1区2区在线观看. | 人人妻人人澡人人爽人人夜夜| 国产成人av教育| 精品一区二区三区av网在线观看| 身体一侧抽搐| 亚洲精品国产精品久久久不卡| 叶爱在线成人免费视频播放| 久99久视频精品免费| 黄片播放在线免费| 欧美日韩黄片免| 黄色视频不卡| 免费在线观看黄色视频的| 欧美最黄视频在线播放免费 | 亚洲中文日韩欧美视频| 男人舔女人的私密视频| 人人妻人人爽人人添夜夜欢视频| 中文字幕另类日韩欧美亚洲嫩草| 欧美丝袜亚洲另类 | 亚洲五月婷婷丁香| 国内久久婷婷六月综合欲色啪| 国产成人精品久久二区二区免费| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲五月婷婷丁香| 亚洲国产中文字幕在线视频| 免费一级毛片在线播放高清视频 | 亚洲,欧美精品.| 精品国产一区二区三区久久久樱花| 欧美精品一区二区免费开放| √禁漫天堂资源中文www| 69精品国产乱码久久久| 最近最新中文字幕大全电影3 | 老司机在亚洲福利影院| 女人被躁到高潮嗷嗷叫费观| 精品视频人人做人人爽| 久久久水蜜桃国产精品网| 亚洲黑人精品在线| 国产精品免费大片| 精品国产乱子伦一区二区三区| av一本久久久久| 两个人看的免费小视频| 国产成人免费无遮挡视频| 午夜激情av网站| av视频免费观看在线观看| 深夜精品福利| 日韩欧美免费精品| 18禁美女被吸乳视频| 免费在线观看黄色视频的| 可以免费在线观看a视频的电影网站| 国产成人免费观看mmmm| 国产精品永久免费网站| 欧美性长视频在线观看| 久久久久久免费高清国产稀缺| 人妻 亚洲 视频| 露出奶头的视频| 亚洲专区国产一区二区| 午夜影院日韩av| 中文字幕人妻丝袜制服| 免费在线观看黄色视频的| 日日爽夜夜爽网站| 动漫黄色视频在线观看| videos熟女内射| 亚洲视频免费观看视频| 国产成人影院久久av| 精品福利永久在线观看| 夜夜夜夜夜久久久久| 国产aⅴ精品一区二区三区波| 欧美另类亚洲清纯唯美| 男男h啪啪无遮挡| 亚洲精品在线美女| 一二三四社区在线视频社区8| 国产精品久久久久久人妻精品电影| 人人妻人人澡人人看| 国产成人av激情在线播放| 欧美不卡视频在线免费观看 | av有码第一页| 一边摸一边抽搐一进一小说 | 极品少妇高潮喷水抽搐| 亚洲av美国av| 男女之事视频高清在线观看| 日本一区二区免费在线视频| 亚洲精品国产一区二区精华液| 欧美日韩亚洲国产一区二区在线观看 | 免费观看精品视频网站| 水蜜桃什么品种好| 老熟妇仑乱视频hdxx| 在线视频色国产色| 叶爱在线成人免费视频播放| 亚洲色图 男人天堂 中文字幕| 午夜成年电影在线免费观看| 色老头精品视频在线观看| 男女午夜视频在线观看| 成人特级黄色片久久久久久久| 韩国精品一区二区三区| 一夜夜www| 欧美精品一区二区免费开放| 免费av中文字幕在线| 欧美性长视频在线观看| av欧美777| 亚洲精品美女久久av网站| 天天添夜夜摸| 91成年电影在线观看| av超薄肉色丝袜交足视频| 少妇的丰满在线观看| 人妻丰满熟妇av一区二区三区 | 成年版毛片免费区| 9热在线视频观看99| 国产精品久久久久久精品古装| 国产主播在线观看一区二区| 波多野结衣一区麻豆| 亚洲色图综合在线观看| 999久久久国产精品视频| 91av网站免费观看| 狂野欧美激情性xxxx| 热re99久久国产66热| 99re在线观看精品视频| 久久99一区二区三区| 免费在线观看黄色视频的| 超碰成人久久| 女人高潮潮喷娇喘18禁视频| 成人亚洲精品一区在线观看| av片东京热男人的天堂| 啦啦啦视频在线资源免费观看| 成人特级黄色片久久久久久久| 自线自在国产av| 极品教师在线免费播放| 国产熟女午夜一区二区三区| 女人爽到高潮嗷嗷叫在线视频| 久久人人97超碰香蕉20202| 欧美黄色片欧美黄色片| e午夜精品久久久久久久| 日韩欧美在线二视频 | 久久精品熟女亚洲av麻豆精品| 少妇被粗大的猛进出69影院| 无人区码免费观看不卡| 欧美国产精品一级二级三级| 亚洲中文字幕日韩| 国产精品久久久久久精品古装| 精品乱码久久久久久99久播| 最近最新中文字幕大全免费视频| 在线观看日韩欧美| 少妇猛男粗大的猛烈进出视频| 亚洲精品成人av观看孕妇| 天天躁日日躁夜夜躁夜夜| 国产精品国产av在线观看| 久久精品成人免费网站| 两个人看的免费小视频| 国产亚洲av高清不卡| 久久久久精品人妻al黑| 国产精品国产av在线观看| x7x7x7水蜜桃| 亚洲一区二区三区欧美精品| 波多野结衣一区麻豆| 欧美国产精品va在线观看不卡| 9热在线视频观看99| 露出奶头的视频| 黑丝袜美女国产一区| 国产一区二区三区在线臀色熟女 | 男人操女人黄网站| 午夜福利影视在线免费观看| 老司机在亚洲福利影院| 欧美中文综合在线视频| 久久热在线av| 国产亚洲欧美98| 一级毛片女人18水好多| 日本五十路高清| 亚洲熟妇中文字幕五十中出 | 久久久国产精品麻豆| av网站免费在线观看视频| 国产1区2区3区精品| 丰满的人妻完整版| av超薄肉色丝袜交足视频| 一级毛片高清免费大全| 大型黄色视频在线免费观看| 这个男人来自地球电影免费观看| 久久久国产成人精品二区 | 天天躁狠狠躁夜夜躁狠狠躁| 91精品国产国语对白视频| 精品一区二区三区视频在线观看免费 | 丝袜在线中文字幕| 女性被躁到高潮视频| 香蕉久久夜色| 国产欧美亚洲国产| 五月开心婷婷网| 国产精品 欧美亚洲| 男人的好看免费观看在线视频 | 国产在线观看jvid| 嫁个100分男人电影在线观看| 亚洲av成人一区二区三| 一a级毛片在线观看| 久久香蕉激情| 欧美精品啪啪一区二区三区| 国产欧美日韩精品亚洲av| 亚洲第一欧美日韩一区二区三区| 建设人人有责人人尽责人人享有的| 国产一区二区三区在线臀色熟女 | 伦理电影免费视频| av线在线观看网站| 亚洲国产欧美一区二区综合| 看片在线看免费视频| 亚洲片人在线观看| 婷婷成人精品国产| 精品国产一区二区三区久久久樱花| 久久影院123| 婷婷精品国产亚洲av在线 | 日日夜夜操网爽| 精品国产一区二区三区四区第35| 视频在线观看一区二区三区| 精品久久蜜臀av无| 黄色成人免费大全| 国产三级黄色录像| 欧美黄色淫秽网站| 又黄又粗又硬又大视频| 波多野结衣av一区二区av| 1024视频免费在线观看| 免费久久久久久久精品成人欧美视频| 欧美成人午夜精品| 80岁老熟妇乱子伦牲交| 国产精品秋霞免费鲁丝片| 热re99久久国产66热| 美女午夜性视频免费| 中文字幕另类日韩欧美亚洲嫩草| 精品无人区乱码1区二区| 操美女的视频在线观看| 日韩欧美免费精品| 日本撒尿小便嘘嘘汇集6| 欧美日韩国产mv在线观看视频| 久久精品熟女亚洲av麻豆精品| 亚洲av电影在线进入| 夫妻午夜视频| 在线视频色国产色| tocl精华| 欧美乱码精品一区二区三区| 国产精品国产av在线观看| 麻豆av在线久日| 少妇的丰满在线观看| av网站免费在线观看视频| 无人区码免费观看不卡| av国产精品久久久久影院| 一区二区日韩欧美中文字幕| 91国产中文字幕| 亚洲 欧美一区二区三区| 日本欧美视频一区| 久久精品91无色码中文字幕| 国产欧美日韩一区二区三| 日韩三级视频一区二区三区| 午夜福利,免费看| 亚洲少妇的诱惑av| 免费少妇av软件| 久久精品国产清高在天天线| 99香蕉大伊视频| 亚洲专区字幕在线| 精品人妻1区二区| 又大又爽又粗| 一区二区三区国产精品乱码| 午夜影院日韩av| 欧美在线一区亚洲| 久久天躁狠狠躁夜夜2o2o| 成年人免费黄色播放视频| 男人操女人黄网站| 成年人午夜在线观看视频| 国产真人三级小视频在线观看| 51午夜福利影视在线观看| 在线免费观看的www视频| 亚洲av熟女| 亚洲情色 制服丝袜| 亚洲精品中文字幕在线视频| 黑丝袜美女国产一区| 亚洲欧美激情综合另类| 欧美 日韩 精品 国产| 日本欧美视频一区| 久热这里只有精品99| 国产成人av教育| 老司机在亚洲福利影院| 中文字幕精品免费在线观看视频| 下体分泌物呈黄色| 久久午夜亚洲精品久久| 亚洲在线自拍视频| 又紧又爽又黄一区二区| 国产精品久久久久成人av| 亚洲精品国产精品久久久不卡| 人人妻人人澡人人看| 久久久精品区二区三区| 欧美黑人精品巨大| 在线观看午夜福利视频| 欧美精品人与动牲交sv欧美| 色婷婷av一区二区三区视频| 欧美日韩乱码在线| 久久ye,这里只有精品| 久热爱精品视频在线9| 国产免费av片在线观看野外av| 亚洲精品乱久久久久久| 色婷婷久久久亚洲欧美| 香蕉丝袜av| 最近最新中文字幕大全电影3 | 国产av一区二区精品久久| 三级毛片av免费| 少妇 在线观看| 黑丝袜美女国产一区| 国产精品电影一区二区三区 | 成人手机av| 视频在线观看一区二区三区| 成人影院久久| 国产精品久久久人人做人人爽| 性少妇av在线| 女人高潮潮喷娇喘18禁视频| 18禁裸乳无遮挡免费网站照片 | 一区在线观看完整版| 色老头精品视频在线观看| 久久国产精品大桥未久av| 成人国语在线视频| 亚洲欧美激情在线| av有码第一页| 黄色怎么调成土黄色| 欧美激情久久久久久爽电影 | 伊人久久大香线蕉亚洲五| 又大又爽又粗| 窝窝影院91人妻| 久久久国产欧美日韩av| 啪啪无遮挡十八禁网站| 免费一级毛片在线播放高清视频 | 久久精品国产99精品国产亚洲性色 | 美国免费a级毛片| 欧美老熟妇乱子伦牲交| 伦理电影免费视频| 99国产极品粉嫩在线观看| 99久久国产精品久久久| 成人特级黄色片久久久久久久| 1024视频免费在线观看| 久久ye,这里只有精品| 国产蜜桃级精品一区二区三区 | 国产精品综合久久久久久久免费 | av片东京热男人的天堂| 午夜久久久在线观看| 久久狼人影院| 久久久久视频综合| 亚洲国产精品sss在线观看 | 老熟妇仑乱视频hdxx| 国产伦人伦偷精品视频| www.熟女人妻精品国产| 亚洲国产毛片av蜜桃av| 首页视频小说图片口味搜索| 在线观看www视频免费| 18禁裸乳无遮挡免费网站照片 | 在线观看免费午夜福利视频| 久久久久久免费高清国产稀缺| 丝袜美腿诱惑在线| 美女福利国产在线| 午夜福利乱码中文字幕| 黄色片一级片一级黄色片| 激情在线观看视频在线高清 | 丰满人妻熟妇乱又伦精品不卡| 亚洲精品中文字幕在线视频| 大陆偷拍与自拍| 两个人看的免费小视频| 91麻豆精品激情在线观看国产 | 国产精品免费一区二区三区在线 | 在线天堂中文资源库| 丝袜人妻中文字幕| 欧美+亚洲+日韩+国产| 极品人妻少妇av视频| 波多野结衣av一区二区av| 青草久久国产| 午夜福利影视在线免费观看| 午夜亚洲福利在线播放| 窝窝影院91人妻| 国产蜜桃级精品一区二区三区 | 91九色精品人成在线观看| 国产又爽黄色视频| 国产精品秋霞免费鲁丝片| 十八禁高潮呻吟视频| 在线观看免费日韩欧美大片| 9191精品国产免费久久| videosex国产| 精品第一国产精品| avwww免费| 国产成人一区二区三区免费视频网站| 在线观看66精品国产| 最近最新免费中文字幕在线| 成人永久免费在线观看视频| 久久香蕉国产精品| 看片在线看免费视频| 欧美午夜高清在线| 18禁裸乳无遮挡动漫免费视频| 国产精品99久久99久久久不卡| 久久国产精品大桥未久av| 免费av中文字幕在线| 亚洲精品在线观看二区| 亚洲成a人片在线一区二区| 麻豆乱淫一区二区| 18禁裸乳无遮挡免费网站照片 | 久久精品熟女亚洲av麻豆精品| 黄色丝袜av网址大全| av欧美777| 免费久久久久久久精品成人欧美视频| 91成人精品电影| 欧美日韩中文字幕国产精品一区二区三区 | 亚洲精品国产精品久久久不卡| 亚洲欧洲精品一区二区精品久久久| 一区二区日韩欧美中文字幕| 久久草成人影院| 悠悠久久av| 亚洲精品自拍成人| 看免费av毛片| 人妻 亚洲 视频| 国产成人啪精品午夜网站| 欧美亚洲日本最大视频资源| av福利片在线| 黄色毛片三级朝国网站| 叶爱在线成人免费视频播放| 丝袜美足系列| 亚洲av日韩精品久久久久久密| 女人爽到高潮嗷嗷叫在线视频| 精品国产一区二区三区四区第35| 久久久久久亚洲精品国产蜜桃av| 精品一区二区三卡| e午夜精品久久久久久久| 国产成人系列免费观看| 免费在线观看亚洲国产| 99国产极品粉嫩在线观看| 欧美成狂野欧美在线观看| 看片在线看免费视频| 亚洲第一av免费看| √禁漫天堂资源中文www| 老司机在亚洲福利影院| 99国产精品一区二区蜜桃av | 免费少妇av软件| 视频区图区小说| 伊人久久大香线蕉亚洲五| 欧美色视频一区免费| 又紧又爽又黄一区二区| 精品久久久久久久毛片微露脸| 真人做人爱边吃奶动态| 欧美激情极品国产一区二区三区| 国产成人av激情在线播放| 午夜福利,免费看| 亚洲情色 制服丝袜| 国产一区二区激情短视频| 韩国av一区二区三区四区| 色精品久久人妻99蜜桃| 无遮挡黄片免费观看| 搡老乐熟女国产| 黄色视频不卡| 老司机在亚洲福利影院| 国产精品偷伦视频观看了| 天天影视国产精品| 淫妇啪啪啪对白视频| 一级片免费观看大全| 午夜福利视频在线观看免费| 亚洲精品久久午夜乱码| 麻豆av在线久日| 在线观看一区二区三区激情| 一区二区三区国产精品乱码| 国产色视频综合| 人妻 亚洲 视频|