久久久精品视频在线_免费在线a视频_在线看的黄色网址_懂色av粉嫩av浪潮av_艳妇乳肉豪妇荡乳av_国产午夜大地久久_国产在线观看免费播放_天堂视频免费看_久久精品女同亚洲女同13_各处沟厕大尺度偷拍女厕嘘嘘

當(dāng)前位置: 首頁 >綜合 > 正文

使用doop識別最近c(diǎn)ommons text漏洞的污點(diǎn)信息流

2023-05-11 08:12:02 來源:vivo互聯(lián)網(wǎng)技術(shù)
一、doop靜態(tài)分析框架簡介1. doop靜態(tài)分析框架簡介

doop靜態(tài)分析框架由希臘雅典大學(xué)plast-lab Yannis Smaragdakis團(tuán)隊(duì)設(shè)計(jì)開發(fā),目前看是一款開源領(lǐng)域的比較先進(jìn)的程序靜態(tài)分析框架,一些程序靜態(tài)分析論文的理論也有通過doop的規(guī)則實(shí)現(xiàn)后實(shí)驗(yàn)。


(資料圖片僅供參考)

doop整體架構(gòu)簡單明了,符合通常靜態(tài)代碼漏洞掃描工具掃描器內(nèi)核的設(shè)計(jì)思路。架構(gòu)上由groovy寫的調(diào)用程序“粘合”在一起,通過調(diào)用fact-generator和datalog分析器,得出自動化的分析結(jié)果。

下面是筆者畫的doop整體架構(gòu)圖,包含doop中一些關(guān)鍵的組件模塊:

2. doop工作流程

doop的fact generator模塊會對輸入進(jìn)行解析(例如jar包的解析或者類的resolve從而加載進(jìn)必要的類信息到內(nèi)存中)調(diào)用soot、wala等工具生成jimple IR,在此基礎(chǔ)上生成后續(xù)分析引擎需要的facts文件。而后doop使用LogicBlox(目前doop已不維護(hù))或者Soufflé(開源的datalog分析引擎)基于facts文件和既定的datalog分析規(guī)則文件進(jìn)行分析,得到最終的程序分析結(jié)果。

doop支持對java源碼及字節(jié)碼的分析,不過源碼的jdk版本受限,建議直接使用字節(jié)碼進(jìn)行分析。

doop核心是其實(shí)現(xiàn)的一套datalog分析規(guī)則,其中包含了由粗糙到精細(xì)的context-insensitive、1-call-site-sensitive、1-call-site-sensitive+heap的豐富的靜態(tài)程序分析策略等等等,同時(shí)通過在addons中添加了額外的對信息流分析、對spring等生態(tài)框架、對java反射特性的支持,十分強(qiáng)大。

以上是對doop的架構(gòu)和功能的簡單介紹,jar包信息的解析、規(guī)則的預(yù)處理、編譯執(zhí)行和解釋執(zhí)行、程序的并發(fā)設(shè)計(jì)或者由于大量sootclass加載造成的內(nèi)存溢出問題等一些細(xì)節(jié)由于篇幅限制不在此介紹。

二、commons text rce漏洞簡介

先對該漏洞進(jìn)行簡單介紹。

Apache Commons Text是一款處理字符串和文本塊的開源項(xiàng)目,之前被披露存在CVE-2022-42889遠(yuǎn)程代碼執(zhí)行漏洞,這個(gè)漏洞目前網(wǎng)上的分析文章比較多,在此不做復(fù)述。該漏洞原理上有點(diǎn)類似log4j2,當(dāng)然影響不可相比,其代碼中存在可以造成代碼執(zhí)行的插值器,例如ScriptStringLookup(當(dāng)然這里提到這個(gè)插值器是因?yàn)槲覀兡繕?biāo)就是分析這一條sink污點(diǎn)流),同時(shí)沒有對輸入字符串的安全性進(jìn)行驗(yàn)證導(dǎo)致問題。

借用網(wǎng)上公開的poc觸發(fā)ScriptStringLookup中的代碼執(zhí)行,使用commons text 1.9版本 :

完整的漏洞調(diào)用棧如下:

從調(diào)用棧可以看出,通過調(diào)用commons text的字符串替換函數(shù),可以調(diào)用到ScriptStringLookup類的lookup方法,從而調(diào)用scriptEngine.eval執(zhí)行代碼。可以看出該條漏洞鏈路較淺,但鏈路關(guān)鍵節(jié)點(diǎn)也涉及了接口抽象類的cast、輸入字符串的詞法分析狀態(tài)機(jī)以及各種字符串的處理函數(shù),作為實(shí)驗(yàn)對象非常合適。

三、commons text rce污點(diǎn)信息流的doop識別規(guī)則

我們選取上述二中commons text中

org.apache.commons.text.StringSubstitutor replace函數(shù)作為source,ScriptEngine eval函數(shù)作為sink。

doop設(shè)置app only模式去進(jìn)行分析,doop在app only模式下會將!ApplicationMethod(?signature)加入isOpaqueMethod(?signature),這樣一些分析不會進(jìn)入jdk的類中,可以大大提高doop的分析效率。依據(jù)萊斯定理,靜態(tài)程序分析難以達(dá)到完全的完備(truth或者perfect),也是盡可能優(yōu)化sound。類似在企業(yè)級的SAST部署使用也是如此,也需要在掃描精度、掃描速度以及實(shí)際可用性中進(jìn)行取舍或者平衡,所以doop的app only模式下在個(gè)人看來更接近實(shí)際嵌入到devsecops中的輕量級靜態(tài)代碼漏洞掃描的應(yīng)用。

3.1 doop的datalog分析規(guī)則簡單介紹

由于涉及doop app only規(guī)則的改造,首先先簡單介紹doop使用的datalog規(guī)則。

doop目前維護(hù)使用開源的Soufflé分析datalog規(guī)則。datalog是聲明式的編程語言,也是prolog語言的非圖靈完備子集,所以本質(zhì)上也是建立在形式邏輯中的一階邏輯上。所以基礎(chǔ)概念也是命題推導(dǎo),在Soufflé的形式上就是表現(xiàn)為關(guān)系(relation)。

如下例子:

很明顯可以看出該例子通過datalog定義的關(guān)系邏輯實(shí)現(xiàn)相等關(guān)系的自反性、對稱性和傳遞性,首先定義了equivalence關(guān)系,該關(guān)系可以由rel1和rel2關(guān)系蘊(yùn)涵得到,而equivalence的a需要滿足關(guān)系rel1,b需要滿足關(guān)系rel2。具體語法和高階特性可以通過souffle-lang.github.io網(wǎng)站進(jìn)行了解。

3.2 doop配置使用簡單介紹

doop可以通過gradle去編譯使用,需要提前在類unix系統(tǒng)中借助cmake編譯安裝Soufflé,doop的具體安裝使用可以在https://github.com/plast-lab/doop-mirror中了解。

對doop的命令行使用進(jìn)行簡單,分析,有幾個(gè)關(guān)鍵的命令參數(shù),-i參數(shù)接受需要分析的文件(例如jar包),-a參數(shù)配置分析策略(例如是選擇context sensitive還是context insensitive),--app-only參數(shù)配置開啟doop的app only模式,--information-flow開啟doop的信息流分析模式(可以用來做污點(diǎn)分析),--platform設(shè)置分析需要的jdk平臺,--fact-gen-cores配置生成facts的并發(fā)性。

本文使用的doop命令參數(shù):

-a context-insensitive --app-only --information-flow spring --fact-gen-cores 4 -i docs/commons-text.jar --platform java_8 --stats none

3.3 重新編譯打包c(diǎn)ommons text

這是我最初使用doop分析commos text的方法,主要為了盡可能減輕的對原生規(guī)則的侵入。doop在使用jackee進(jìn)行分析事,分析入口的確定及一些mockobject的構(gòu)建都需要依賴于對springmvc注解的識別。

下載commons text的源碼,自定義兩條class和method注解TestctxTaintedClassAnnotation、TestctxTaintedParamAnnotation:

注解實(shí)現(xiàn)為一個(gè)空注解,主要是為了標(biāo)注一下我們的source,將注解打到對應(yīng)的class類和方法:

重新編譯打包為jar包,得到2中命令參數(shù)-i的commons-text.jar。

3.4 改造doop app only下的規(guī)則

doop的污點(diǎn)信息流識別依賴于指針分析結(jié)果,同時(shí)也依賴污點(diǎn)轉(zhuǎn)移函數(shù)。doop中已經(jīng)預(yù)置了多條污點(diǎn)轉(zhuǎn)移函數(shù),其中包含了字符串、鏈表、迭代器等基礎(chǔ)類方法。

ParamToBaseTaintTransferMethod(0, "").ParamToBaseTaintTransferMethod(0, "").ParamToBaseTaintTransferMethod(0, "").ParamToBaseTaintTransferMethod(0, "").ParamToBaseTaintTransferMethod(0, "").ParamToBaseTaintTransferMethod(0, "").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").BaseToRetTaintTransferMethod("").

然而其中沒有包含String split函數(shù)的污點(diǎn)轉(zhuǎn)移規(guī)則,需要添加上:

BaseToRetTaintTransferMethod("").

如上述,doop自有的jackee規(guī)則肯定沒有包含我們自定義的注解,所以需要在EntryPointClass、Mockobj等關(guān)系定義中添加對我們自定義的class污點(diǎn)注解的識別。

EntryPointClass(?type) :- //... Type_Annotation(?type, "org.apache.commons.text.TestctxTaintedClassAnnotation");//...MockObject(?mockObj, ?type) :- //... Type_Annotation(?type, "org.apache.commons.text.TestctxTaintedClassAnnotation");

同時(shí)也需要添加param污點(diǎn)的注解。doop需要通過這些注解識別分析入口方法,構(gòu)建污點(diǎn)mockobj,建立初始的指向關(guān)系等。

//...mainAnalysis.VarPointsTo(?hctx, cat(cat(cat(cat(?to, "::: "), ?type), "::: "), "ASSIGN"), ?ctx, ?to) :- FormalParam(?idx, ?meth, ?to), (Param_Annotation(?meth, ?idx, "org.springframework.web.bind.annotation.RequestParam"); Param_Annotation(?meth, ?idx, "org.springframework.web.bind.annotation.RequestBody"); Param_Annotation(?meth, ?idx, "org.apache.commons.text.TestctxTaintedParamAnnotation");

為了確保方法的可達(dá)性,我們還添加了

ImplicitReachable("") :- isMethod("").但后續(xù)看不一定有必要,僅供參考。

通過注解我們在規(guī)則中定義了source,接下來需要定義sink,我們將ScriptEngine的eval方法定義為sink:

LeakingSinkMethodArg("default", 0, method) :- isMethod(method), match("", method).

正如前述,由于是在app only下,doop下通過OpaqueMethod關(guān)系過濾了jdk類的識別,這樣會導(dǎo)致相應(yīng)的上述預(yù)置的污點(diǎn)轉(zhuǎn)移函數(shù)無法完成污點(diǎn)轉(zhuǎn)移,所以需要另外定制規(guī)則流去將轉(zhuǎn)移函數(shù)包含進(jìn)數(shù)據(jù)流分析過程。

于是需要定義

OptTaintedtransMethodInvocationBase關(guān)系。

.decl OptTaintedtransMethodInvocationBase(?invocation:MethodInvocation,?method:Method,?ctx:configuration.Context,?base:Var)OptTaintedtransMethodInvocationBase(?invocation,?tomethod,?ctx,?base) :- ReachableContext(?ctx, ?inmethod),//Reachable(?inmethod), Instruction_Method(?invocation, ?inmethod), ( _VirtualMethodInvocation(?invocation, _, ?tomethod, ?base, _); _SpecialMethodInvocation(?invocation, _, ?tomethod, ?base, _) ).

在此基礎(chǔ)上,為了完成新的污點(diǎn)轉(zhuǎn)移,doop需要根據(jù)以下自定義規(guī)則分析出返回值的類型信息。

.decl MaytaintedInvocationInfo(?invocation:MethodInvocation,?type:Type,?ret:Var)MaytaintedInvocationInfo(?invocation, ?type, ?ret) :- Method_ReturnType(?method, ?type), MethodInvocation_Method(?invocation, ?method), AssignReturnValue(?invocation, ?ret)..decl MaytaintedTypeForReturnValue(?type:Type, ?ret:Var, ?invocation:MethodInvocation)MaytaintedTypeForReturnValue(?type, ?ret, ?invocation) :- MaytaintedInvocationInfo(?invocation, ?type, ?ret), !VarIsCast(?ret).

基于以上的污點(diǎn)轉(zhuǎn)移過程分析規(guī)則,應(yīng)用到污點(diǎn)變量的轉(zhuǎn)移分析規(guī)則中。

VarIsTaintedFromVar(?type, ?ctx, ?ret, ?ctx, ?base) :- //mainAnalysis.OptTaintedtransMethodInvocationBase(?invocation,?method,?base), mainAnalysis.OptTaintedtransMethodInvocationBase(?invocation,?method,?ctx,?base), MaytaintedTypeForReturnValue(?type, ?ret, ?invocation), BaseToRetTaintTransferMethod(?method). //mainAnalysis.VarPointsTo(_, _, ?ctx, ?base).

同時(shí)也需要重新定義LeakingSinkVariable關(guān)系,因?yàn)槲覀冞@里自定義的sink方法也是Opaque方法,這樣才能識別到我們的ScriptEngine 的eval方法。

LeakingSinkVariable(?label, ?invocation, ?ctx, ?var) :- LeakingSinkMethodArg(?label, ?index, ?tomethod), mainAnalysis.OptTaintedtransMethodInvocationBase(?invocation,?tomethod,?ctx,?base), //mainAnalysis.VarPointsTo(_, _, ?ctx, ?base),//here problem ActualParam(?index, ?invocation, ?var).

從上面規(guī)則的定義可以看出,改造的流程還是比較清晰的,并且通過關(guān)系的名字,這些關(guān)系的含義和用途也很容易理解。添加這些自定義規(guī)則到我們的doop分析中運(yùn)行,在結(jié)果中可以看出,doop完成了對commons text的污點(diǎn)信息流的識別。

在結(jié)果集中的LeakingTaintedInformation.csv文件中可以找到我們需要捕捉到的souce-sink流。

default default <> /javax.script.ScriptEngine.eval/0 /@parameter0

LeakingTaintedInformation.csv給出了污點(diǎn)信息。包括污點(diǎn)的標(biāo)簽(這里是默認(rèn)的default,可以自定義),sink方法的調(diào)用信息,該sink方法對應(yīng)的污點(diǎn)源頭souce信息。

如上圖可以看出,

org.apache.commons.text.lookup.ScriptStringLookup:

java.lang.String lookup(java.lang.String)中調(diào)用到

javax.script.ScriptEngine.eval,并且污點(diǎn)的源頭是

org.apache.commons.text.StringSubstitutor:

java.lang.String replace(java.lang.String)方法的參數(shù)@parameter0。

同時(shí),在結(jié)果集中的AppTaintedVar.csv文件也可以看到具體的應(yīng)用代碼中由于污點(diǎn)傳播過程中的被污染的變量.以上面commons text 漏洞執(zhí)行方法棧中的

org.apache.commons.text.StringSubstitutor的resolveVariable為例:

可以看出方法中被污染的入?yún)ariableName、buf,還有resolver,以及$stack7等(這是經(jīng)過soot生成jimple的過程中SSA pack部分優(yōu)化新增的棧變量)。

基于這兩個(gè)結(jié)果集基本可以看出漏洞的觸發(fā)流程或者說污點(diǎn)的傳播過程(雖然不是特別直觀),如果需要也可以再搭配生成的CallGraphEdge.csv去更方便的進(jìn)行分析。

四、總結(jié)

doop直接用來分析大型項(xiàng)目需要一定的計(jì)算資源,并且無論是規(guī)則的定制還是分析結(jié)果查看都不是特別直觀,畢竟它的設(shè)計(jì)初衷就是一款分析框架,用在實(shí)際漏掃漏洞挖掘中可能需要進(jìn)一步包裝修改 。但可以看出,doop作為一款優(yōu)秀的開源靜態(tài)分析框架,在算法上毋庸置疑是比較先進(jìn)和豐富的,而且基于開源的算法規(guī)則,我們可以任意去定制我們需要的分析邏輯。其與codeql在設(shè)計(jì)思路也較為相近,將程序信息提取后生成數(shù)據(jù)庫,開放查詢接口,將程序分析轉(zhuǎn)變?yōu)閿?shù)據(jù)關(guān)系的查詢,因此可以擴(kuò)展出更多的用途。

標(biāo)簽:

返回頂部
樱花视频在线免费观看| 日韩大片一区二区| 亚洲性猛交富婆| 国产性生交xxxxx免费| 国产精品探花视频| 日韩综合第一页| 亚洲国产日韩欧美在线观看| 刘亦菲久久免费一区二区| 男人揉女人奶房视频60分| 美日韩一二三区| 欧美爱爱视频网站| 亚洲精品国产av| 五月天丁香花婷婷| 久久国产柳州莫菁门| 亚洲黄色一区二区| 97精品人妻一区二区三区在线| 国精产品一区一区三区免费视频| 国产一级久久久| 美国av在线播放| 天堂网av在线播放| 欧美在线a视频| 日韩在线中文字幕视频| 精品国产一级片| 五月天婷婷影视| 国产chinesehd精品露脸| 国产一级生活片| 波多野结衣 作品| 一级欧美一级日韩片| 中文字幕乱码视频| 免费看国产黄色片| 懂色av蜜桃av| 亚洲一级在线播放| 亚洲男人天堂av在线| 狠狠干视频网站| 久久精品—区二区三区舞蹈| 99热精品在线播放| 最近免费中文字幕大全免费版视频| 国产精品999视频| 手机在线中文字幕| 午夜视频在线观看国产 | 欧类av怡春院| 国产绿帽一区二区三区| 久久久久久久黄色片| av无码精品一区二区三区| 亚洲综合久久av一区二区三区| 天天干天天操av| 国产乱码久久久久| 久久久精品视频网站| 青春草免费视频| 黄色一级二级三级| 自拍日韩亚洲一区在线| 91精品国自产在线| 日韩精品卡通动漫网站| 日本55丰满熟妇厨房伦| 亚洲精品一区二区口爆| 影音先锋亚洲天堂| 免费在线观看亚洲| 亚洲一二三av| 日本熟妇毛耸耸xxxxxx| 久久久久xxxx| 天天综合天天添夜夜添狠狠添| 色婷婷成人在线| 中文字幕第88页| 午夜免费福利视频在线观看| 亚洲欧美另类动漫| 欧美精品aaaa| 国产又粗又猛大又黄又爽| 成人免费视频久久| 国产欧美精品一二三| 亚洲精品在线网址| 国产性生活视频| 国产女人18毛片18精品| 亚洲成人第一区| 精品少妇人妻av一区二区三区| 中国特级黄色片| 久艹在线观看视频| 人妻互换免费中文字幕| 国产不卡一区二区视频| 国产精品亚洲二区在线观看| 欧美日韩在线一| 制服丝袜中文字幕第一页| 日本中文字幕二区| 中文字幕人妻互换av久久| 超碰福利在线观看| 大乳护士喂奶hd| 影音先锋男人资源在线观看| 狠狠噜天天噜日日噜| 国产无套内射久久久国产| 亚洲欧洲日本精品| 日韩福利片在线观看| www.国产成人| 天堂在线观看av| 一级特黄曰皮片视频| 日本免费一级视频| 精品无码人妻一区二区三| 欧美国产亚洲一区| 亚洲国产精品三区| 欧美黄色免费看| 91视频综合网| 免费av网址在线| 91porny九色| 性生交大片免费看l| 丝袜 亚洲 另类 欧美 重口| 嫩草av久久伊人妇女超级a| 日韩精品成人免费观看视频| 五月婷婷激情视频| 在线免费观看日韩视频| 无码精品一区二区三区在线播放| 永久免费看片视频教学| 天天综合网久久| 91亚洲国产成人久久精品麻豆| 免费黄色在线视频| 可以看毛片的网址| 欧美一区二区三区网站| 在线中文字日产幕| 成年人视频观看| 精品人妻久久久久一区二区三区| 美女福利视频网| 国产在线观看中文字幕| 超级砰砰砰97免费观看最新一期| 欧美又粗又大又长| 久热这里只有精品6| 一级性生活毛片| www.夜夜爽| 精品少妇人妻av一区二区三区| 久久成人免费观看| av中文字幕播放| 粉嫩av一区二区三区天美传媒| 91久久国产视频| 丁香六月激情综合| 日本韩国欧美中文字幕| 国产一二三四区在线| 日本韩国欧美中文字幕| 男人的天堂av网| 亚洲专区第一页| 欧美美女黄色网| va视频在线观看| 国产日产欧美视频| 韩国三级hd中文字幕有哪些| 超碰超碰在线观看| 黑人巨大精品欧美| 久久久久成人网站| 欧美 日韩 国产 在线观看| 国产又爽又黄又嫩又猛又粗| 国产乱子伦精品视频| 亚洲黄色在线播放| 国产97色在线 | 日韩| 亚洲一区二区三区无码久久| 国产乱码久久久久久| 欧美精品一区二区性色a+v| 一区二区久久精品66国产精品| 欧美激情精品久久久久久小说| 亚洲精品第二页| 天天综合网入口| 国产成人一区二区三区别| 午夜视频www| 国产精品不卡av| 六月婷婷激情综合| 在线免费观看污视频| 91极品身材尤物theporn| 日本a√在线观看| 亚洲欧洲综合网| 偷拍精品一区二区三区| 久久综合成人网| 欧美精品一区免费| 青青草华人在线视频| 深夜福利网站在线观看| 男女啊啊啊视频| 欧美色图另类小说| 国产一区二区三区视频播放| 日本黄视频在线观看| 免费av网站在线| 香港日本韩国三级网站| eeuss中文| 精品人妻无码一区二区三区换脸| 好吊色一区二区| 超碰在线97观看| 免费在线观看黄视频| www黄色av| 欧美a级黄色大片| 女教师淫辱の教室蜜臀av软件| 337p日本欧洲亚洲大胆张筱雨| 亚洲图片在线播放| 亚洲无码精品一区二区三区| 天天摸天天舔天天操| 99999精品视频| 欧美交换配乱吟粗大25p| 日本一二三区在线观看| 在线 丝袜 欧美 日韩 制服| 无码av免费精品一区二区三区| 成人毛片在线精品国产| 亚洲最大成人在线视频| 日韩黄色在线播放| 伊人手机在线视频| 国产第一页在线播放| 91蝌蚪视频在线| 亚洲精品在线网址| 国产无套粉嫩白浆内谢| 青春草免费视频| 久草视频在线资源站| 无套内谢丰满少妇中文字幕| 爱情岛论坛亚洲首页入口章节| 欧美一级片中文字幕| 成年网站在线播放| 一级做a免费视频| 久久久久久久久久毛片| 久久精品国产亚洲av香蕉| 亚洲天堂伊人网| 日韩av在线中文| 欧洲在线免费视频| 亚洲男人第一av| 亚洲欧美日韩动漫| 李丽珍裸体午夜理伦片| 大乳护士喂奶hd| 国产ts在线播放| 69av.com| 免费av手机在线观看| 天堂在线中文在线| 特级毛片www| www男人的天堂| 制服丝袜第一页在线观看| 午夜黄色福利视频| 成人免费毛片网| 久久久久成人精品无码| 久草视频一区二区| 少妇精品高潮欲妇又嫩中文字幕| 亚洲成人福利视频| 欧美性生交大片| 天天视频天天爽| 欧美日韩a v| 亚洲av无码久久精品色欲| 黄色免费一级视频| 女人和拘做爰正片视频| 亚洲AV无码成人精品区东京热| 午夜久久久久久噜噜噜噜| 99re这里只有| 日本中文字幕在线视频观看 | 国产ts在线观看| 欧美日韩午夜爽爽| 欧美精品入口蜜桃| 亚洲AV无码乱码国产精品牛牛 | 亚洲春色一区二区三区| 午夜精产品一区二区在线观看的| 妞干网在线观看视频| 特一级黄色大片| 黄色激情在线观看| 欧美黑人在线观看| 91亚洲精品国偷拍自产在线观看 | 9i看片成人免费看片| 草逼视频免费看| 久久99国产精品一区| 亚洲第一中文av| 亚洲三级中文字幕| 国产成人一区二区三区别| 一级黄色免费网站| 日韩在线免费观看av| 免费观看成人网| 亚洲精品国产手机| 99国产精品无码| 久久观看最新视频| 日韩av黄色片| 播金莲一级淫片aaaaaaa| av网站在线不卡| 亚洲欧美一区二区三| 久久久久人妻精品一区三寸| 午夜成人免费影院| 88av.com| 亚洲免费观看在线| 香蕉视频xxx| 亚洲国产天堂av| 欧美成人精品一区二区免费看片| 亚洲区 欧美区| 涩多多在线观看| 久久中文字幕人妻| 91美女免费看| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 亚洲观看黄色网| 久久精品美女视频| 一级黄色片在线看| 天堂中文在线观看视频| 少妇视频一区二区| 久久久久久国产精品免费播放| 亚洲av无码专区在线播放中文| 无罩大乳的熟妇正在播放| 九九热视频免费| 国产又黄又爽免费视频| av在线免费在线观看| 好男人www社区| 性少妇bbw张开| 中文字幕手机在线视频| 最近中文字幕在线观看| 18禁网站免费无遮挡无码中文| 欧美一区二不卡视频| 午夜免费一级片| 国精产品一区一区二区三区mba| 成人毛片一区二区三区| 久久精品网站视频| 制服 丝袜 综合 日韩 欧美| 国产伦精品一区二区三区视频痴汉 | 九一在线免费观看| 国产av精国产传媒| 免费一级特黄特色大片| 最近免费观看高清韩国日本大全| 国产女主播在线播放| 亚洲 日本 欧美 中文幕| 国产理论在线播放| 九九热最新地址| 一级少妇精品久久久久久久| 中文字幕欧美在线观看| 鲁一鲁一鲁一鲁一av| 女性裸体视频网站| 亚洲AV成人精品| 中文字幕一区二区三区波野结| 在线观看日本www| 99福利在线观看| av最新在线观看| 亚洲天堂小视频| 国产按摩一区二区三区| 中文字幕66页| 天天视频天天爽| 日本人妻伦在线中文字幕| 国产av自拍一区| 中文字幕 亚洲一区| 国产熟女一区二区三区五月婷| 国产亚洲欧美日韩高清| 精品深夜av无码一区二区老年| 成人在线免费播放视频| 欧美亚洲黄色片| 妖精视频在线观看免费| 亚欧洲精品视频| 右手影院亚洲欧美| 久草视频这里只有精品| 欧美精品无码一区二区三区| 日韩欧美一区二区一幕| 一本大道伊人av久久综合| 亚洲一二三四五| 黑人操日本美女| 老头吃奶性行交视频| 日韩无码精品一区二区三区| 超碰在线观看99| 五月婷婷综合在线观看| 国产在线观看欧美| 国产亚洲天堂网| 久久久久久91亚洲精品中文字幕| 国产精品一区二区黑人巨大| 国产精品入口麻豆| av在线播放天堂| 毛片a片免费观看| 亚洲av无码国产精品永久一区| 成年女人免费视频| www.欧美黄色| 九九视频在线观看| 黄色aaa毛片| 中文天堂资源在线| the porn av| 91久久国产综合久久91| 波多野结衣视频播放| 青草青青在线视频| 国产福利拍拍拍| 亚洲国产精品第一页| av电影一区二区三区| 久久久久久久黄色| 亚洲va欧美va| 国产日本欧美在线| 色婷婷综合在线观看| 神马午夜一区二区| 国产小视频你懂的| 91国产精品视频在线观看| 国产视频一区二区三| 伊人影院综合网| 欧美午夜精品理论片| av中文字幕第一页| 国产88在线观看入口| 久久出品必属精品| 2018国产精品| 和岳每晚弄的高潮嗷嗷叫视频| 天堂网一区二区三区| 99久久人妻无码中文字幕系列| 久久久久久久久久久99| 中文文字幕一区二区三三| 国产福利短视频| 色综合天天色综合| 国产女同91疯狂高潮互磨| 国产精品国产精品88| 国内精品国产三级国产aⅴ久| 国产 日韩 欧美 综合| 8x8ⅹ国产精品一区二区二区| 日韩伦理在线视频| 永久免费看片在线观看| 日韩精品一区二区免费| 中文字幕第三页| 自拍偷拍第9页| 91九色丨porny丨肉丝| 国产伦理在线观看| 一区二区在线播放视频| 亚洲欧美日韩动漫| 欧美视频在线观看网站| 国产精品人人妻人人爽| 日韩第一页在线观看| 国产字幕在线观看|