精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Domato通過Fuzzing對PHP進行漏洞挖掘研究

安全 漏洞
最近,我一直在對PHP解釋器進行Fuzzing,我探索了許多工具和技術(shù)(AFL,LibFuzzer,甚至是自定義的Fuzzing引擎),但是最近我決定嘗試Domato。

為了清楚和簡潔起見,下面引用的代碼已精煉為最簡單的形式。實際用于Fuzzing測試的完整版本可以在此處找到。

https://github.com/Rewzilla/domatophp

最近,我一直在對PHP解釋器進行Fuzzing,我探索了許多工具和技術(shù)(AFL,LibFuzzer,甚至是自定義的Fuzzing引擎),但是最近我決定嘗試Domato。對于那些不知道的人,Domato是基于語法的DOM Fuzzer,旨在從復雜的代碼庫中挖掘復雜的bug。它最初是為瀏覽器而設計的,但是我認為我可以將其用于Fuzzing PHP解釋器。

 https://github.com/googleprojectzero/domato

0x01  分析上下文語法

為了使用Domato,必須首先使用上下文無關的語法來描述語言,CFG只是一組定義語言構(gòu)造方式的規(guī)則。例如,如果我們的語言由以下形式的句子組成:

  1. [name] has [number] [adjective] [noun]s. 
  2. [name]'s [noun] is very [adjective]. 
  3. I want to purchase [number] [adjective] [noun]s. 

這些變量中的每一個都可以采用幾種形式,例如:

  1. Names: alice, bob, eve 
  2. Numbers: 1, 10, 100 
  3. Adjectives: green, large, expensive 
  4. Nouns: car, hat, laptop 

那么上下文無關文法可能看起來像...

用Domato通過Fuzzing對php進行漏洞挖掘研究

然后Domato使用上下文無關文法生成符合語言規(guī)則的隨機組合。

  1. eve has 1 expensive laptops. 
  2. alice's hat is very green. 
  3. I want to purchase 100 expensive cars. 
  4. I want to purchase 10 large laptops. 
  5. bob has 100 expensive cars. 
  6. eve has 100 green laptops. 
  7. I want to purchase 100 large laptops. 
  8. bob has 1 large cars. 
  9. I want to purchase 1 large cars. 
  10. I want to purchase 1 large hats. 
  11. bob's laptop is very expensive. 

可以想象,通過將每個規(guī)則分解為更多子規(guī)則,我們可以開始定義更復雜的語言,而不僅僅是簡單的搜索/替換。實際上,Domato還提供了一些內(nèi)置函數(shù),用于限制遞歸并生成基本類型(int,char,string等)。

例如,以下Domato語法,該語法生成偽代碼...

用Domato通過Fuzzing對php進行漏洞挖掘研究

將其送入Domato會產(chǎn)生以下結(jié)果...

  1. if (var0 == var5) { int var5 = 915941154; } else { int var3 = 1848395349; }; if (var3 == -121615885) { int var7 = 1962369640;; int var1 = 196553597;;; int var6 = -263472135;; } else { int var2 == 563276937; }; 
  2. while (var9 = var8) { while (var0 == -2029947247) { int var7 = 1879609559; } }; char var0 = '';; 
  3. char var2 = '/'
  4. char var3 = 'P'
  5. if (var8 == var1) { int var7 = -306701547; } else { while (var3 == 868601407) { while (var0 == -1328592927) { char var10 = '^'; }; char var8 = 'L';;; int var9 = -1345514425;; char var5 = 'b';;; } } 
  6. int var8 = 882574440; 
  7. if (var8 == var9) { int var7 = 1369926086; } else { if (var9 != -442302103) { if (var3 != 386704757) { while (var4 != -264413007) { char var6 = 'C'; } } else { int var8 = 289431268; } } else { char var10 = '~'; } } 
  8. char var5 = '+'
  9. if (var9 == 1521038703) { char var2 = '&'; } else { int var7 = -215672117; } 
  10. while (var9 == var0) { char var9 = 'X';; int var7 = -1463788903;; }; if (var8 == var7) { int var10 = 1664850687;; char var6 = 'f';; } else { while (var5 == -187795546) { int var3 = -1287471401; } }; 

這非常適合Fuzzing解釋器,因為每個樣本都是不同的,并且仍然保證其在語法上是有效的!

0x02 列舉Attack Surface

然后,下一步就是將PHP語言描述為CFG。如果有興趣查看完整的CFG,請下載PHP源代碼,然后查看Zend/zend_language_parser.y。

但是,我對Fuzzing特定的代碼模式更感興趣。因此,我實現(xiàn)了CFG,使其僅使用“Fuzzing”參數(shù)生成對內(nèi)置函數(shù)和類方法的調(diào)用。為此,我們需要一個函數(shù),方法及其參數(shù)的列表。

有兩種獲取此數(shù)據(jù)的方法。最簡單的方法是使用PHP的內(nèi)置Reflection類來遍歷所有已定義的函數(shù)和類,從而構(gòu)建一個列表。

以下代碼對所有內(nèi)部PHP函數(shù)進行了演示...

用Domato通過Fuzzing對php進行漏洞挖掘研究

這會產(chǎn)生類似如下代碼:

  1. andrew@thinkpad /tmp % php lang.php  
  2. zend_version(); 
  3. func_num_args(); 
  4. func_get_arg(arg_num); 
  5. func_get_args(); 
  6. strlen(str); 
  7. strcmp(str1, str2); 
  8. strncmp(str1, str2, len); 
  9. strcasecmp(str1, str2); 
  10. strncasecmp(str1, str2, len); 
  11. each(arr); 
  12. error_reporting(new_error_level); 
  13. define(constant_name, value, case_insensitive); 
  14. defined(constant_name); 
  15. get_class(object); 
  16. ... etc ... 

但是,此問題在于此列表不包含類型信息。ReflectionParameter類包含一個getType方法,但是對于大多數(shù)函數(shù)而言,它目前似乎不起作用。:(也許這是一個bug?很難說。無論如何,擁有類型信息將使我們的Fuzzing工作變得更加有效,因此值得花時間去尋找另一種獲取該數(shù)據(jù)的方法。

 https://www.php.net/manual/en/reflectionparameter.gettype.php

為了解析出我們需要的東西,PHP的文檔通常相當不錯,可以在此處將其作為單個壓縮的HTML文檔下載。經(jīng)過數(shù)小時的辛苦編寫正則表達式后,我能夠?qū)⑵浣馕鰹榭捎玫暮瘮?shù),方法和參數(shù)類型列表。我將其留給讀者練習,但是最終產(chǎn)品(以CFG形式)看起來像這樣……

 https://www.php.net/distributions/manual/php_manual_en.html.gz

用Domato通過Fuzzing對php進行漏洞挖掘研究

0x03  設置Domato

為了使Domato使用我們的語法,我們還需要定義一些基本組件,例如:

經(jīng)過大量的調(diào)整和調(diào)整后,我的配置最終看起來像這樣……

用Domato通過Fuzzing對php進行漏洞挖掘研究

我們還需要定義一個語法將被應用到的模板。該模板將設置環(huán)境,實例化以后可能使用的所有對象,然后運行每條線程。我的模板看起來像這樣...

用Domato通過Fuzzing對php進行漏洞挖掘研究

最后一步是復制和修改Domato的generator.py文件。我發(fā)現(xiàn)只需進行以下更改就足夠了...

· 第55和62行:將根元素更改為“

· 第78行:引用我自己的“ template.php”

· 第83行:在“ php.txt”中引用我自己的語法

· 第134行:將輸出名稱和擴展名更改為“

然后,應該能夠生成有效的Fuzzing輸入!

  1. andrew@thinkpad ~/domato/php % python generator.py /dev/stdout 
  2. Writing a sample to /dev/stdout 
  3. <?php 
  4. $vars = array( 
  5.     "stdClass"                       => new stdClass(), 
  6.     "Exception"                      => new Exception(), 
  7.     "ErrorException"                 => new ErrorException(), 
  8.     "Error"                          => new Error(), 
  9.     "CompileError"                   => new CompileError(), 
  10.     "ParseError"                     => new ParseError(), 
  11.     "TypeError"                      => new TypeError(), 
  12.     ... etc ... 
  13. ); 
  14. try { try { $vars["SplPriorityQueue"]->insert(false, array("a" => 1, "b" => "2""c" => 3.0)); } catch (Exception $e) { } } catch(Error $e) { } 
  15. try { try { filter_has_var(1000, str_repeat("%s%x%n", 0x100)); } catch (Exception $e) { } } catch(Error $e) { } 
  16. try { try { posix_access(implode(array_map(function($c) {return "\\x" . str_pad(dechex($c), 2, "0");}, range(0, 255))), -1); } catch (Exception $e) { } } catch(Error $e) { } 
  17. try { try { rand(0, 0); } catch (Exception $e) { } } catch(Error $e) { } 
  18. try { try { fputcsv(fopen("/dev/null""r"), array("a" => 1, "b" => "2""c" => 3.0), str_repeat(chr(135), 65), str_repeat(chr(193), 17) + str_repeat(chr(21), 65537), str_repeat("A", 0x100)); } catch (Exception $e) { } } catch(Error $e) { } 
  19. try { try { $vars["ReflectionMethod"]->isAbstract(); } catch (Exception $e) { } } catch(Error $e) { } 
  20. try { try { $vars["DOMProcessingInstruction"]->__construct(str_repeat(chr(122), 17) + str_repeat(chr(49), 65537) + str_repeat(chr(235), 257), str_repeat(chr(138), 65) + str_repeat(chr(45), 4097) + str_repeat(chr(135), 65)); } catch (Exception $e) { } } catch(Error $e) { } 
  21. try { try { utf8_encode(str_repeat("A", 0x100)); } catch (Exception $e) { } } catch(Error $e) { } 
  22. try { try { $vars["MultipleIterator"]->current(); } catch (Exception $e) { } } catch(Error $e) { } 
  23. try { try { dl(str_repeat("A", 0x100)); } catch (Exception $e) { } } catch(Error $e) { } 
  24. try { try { ignore_user_abort(true); } catch (Exception $e) { } } catch(Error $e) { } 

0x04  開始Fuzz

現(xiàn)在我們要處理的數(shù)據(jù)非常多,我們需要以一種最大化檢測任何類型的內(nèi)存損壞的機會的方式構(gòu)建PHP。為此,我強烈建議使用LLVM Address Sanitizer(ASAN),它將檢測任何無效的內(nèi)存訪問,即使它不會立即導致崩潰。

 https://github.com/google/sanitizers/wiki/AddressSanitizer

用ASAN編譯PHP,下載最新版本的源代碼在這里,并運行以下命令...  

 https://www.php.net/downloads

 

  1. ./configure CFLAGS="-fsanitize=address -ggdb" CXXFLAGS="-fsanitize=address -ggdb" LDFLAGS="-fsanitize=address" 
  2. make 
  3. make install 

在Fuzzer運行之前,嘗試消除不必要地阻礙該過程的任何條件也是一個好主意。例如,像大多數(shù)語言一樣,PHP具有一個sleep()函數(shù),該函數(shù)接受一個整數(shù)參數(shù),并僅等待幾秒后才能繼續(xù)。用較大的值(例如INT_MAX)調(diào)用此函數(shù)將迅速占用較大的簇。

還有一些函數(shù)可能會導致進程合法地“崩潰”,例如posix_kill()或posix_setrlimit()。我們可能希望從測試語料庫中刪除這些內(nèi)容,以減少誤報的數(shù)量。

最后,由于PHP文檔中列出的許多函數(shù)和類實際上在核心安裝中不可用(而是從擴展中提供),因此我們不妨從資料集中刪除其中的一些函數(shù)和類,以避免浪費時間調(diào)用不存在的代碼。

最后,經(jīng)過一番試驗,我確定了以下清單...

  1. $class_blacklist = array( 
  2. // Can't actually instantiate 
  3.     "Closure"
  4.     "Generator"
  5.     "HashContext"
  6.     "RecursiveIteratorIterator"
  7.     "IteratorIterator"
  8.     "FilterIterator"
  9.     "RecursiveFilterIterator"
  10.     "CallbackFilterIterator"
  11.     "RecursiveCallbackFilterIterator"
  12.     "ParentIterator"
  13.     "LimitIterator"
  14.     "CachingIterator"
  15.     "RecursiveCachingIterator"
  16.     "NoRewindIterator"
  17.     "AppendIterator"
  18.     "InfiniteIterator"
  19.     "RegexIterator"
  20.     "RecursiveRegexIterator"
  21.     "EmptyIterator"
  22.     "RecursiveTreeIterator"
  23.     "ArrayObject"
  24.     "ArrayIterator"
  25.     "RecursiveArrayIterator"
  26.     "SplFileInfo"
  27.     "DirectoryIterator"
  28.     "FilesystemIterator"
  29.     "RecursiveDirectoryIterator"
  30.     "GlobIterator"
  31. ); 
  32.  
  33. $function_blacklist = array( 
  34.     "exit", // false positives 
  35.     "readline",    // pauses 
  36.     "readline_callback_handler_install", // pauses 
  37.     "syslog",    // spams syslog 
  38.     "sleep", // pauses 
  39.     "usleep", // pauses 
  40.     "time_sleep_until", // pauses 
  41.     "time_nanosleep", // pauses 
  42.     "pcntl_wait", // pauses 
  43.     "pcntl_waitstatus", // pauses 
  44.     "pcntl_waitpid", // pauses 
  45.     "pcntl_sigwaitinfo", // pauses 
  46.     "pcntl_sigtimedwait", // pauses 
  47.     "stream_socket_recvfrom", // pauses 
  48.     "posix_kill", // ends own process 
  49.     "ereg", // cpu dos 
  50.     "eregi", // cpu dos 
  51.     "eregi_replace", // cpu dos 
  52.     "ereg_replace", // cpu dos 
  53.     "similar_text", // cpu dos 
  54.     "snmpwalk", // cpu dos 
  55.     "snmpwalkoid", // cpu dos 
  56.     "snmpget", // cpu dos 
  57.     "split", // cpu dos 
  58.     "spliti", // cpu dos 
  59.     "snmpgetnext", // cpu dos 
  60.     "mcrypt_create_iv", // cpu dos 
  61.     "gmp_fact", // cpu dos 
  62.     "posix_setrlimit" 
  63. ); 

盡管一臺機器既可以單獨生成樣本,但我還是選擇了一小組來加快處理速度。我使用了在Intel NUC上運行的 Proxmox 和10個 Debian VM,其工作如下:

· 節(jié)點0:樣本生成,托管NFS共享。

· 節(jié)點1-8:Fuzzing節(jié)點,從NFS共享中提取樣本進行測試。

· 節(jié)點9:“分類”節(jié)點:根據(jù)崩潰指標對崩潰樣本進行分類。

我創(chuàng)建了簡單的原始shell腳本以在每個腳本上運行以執(zhí)行這些職責,這些腳本可以在上面鏈接的github repo中找到。

用Domato通過Fuzzing對php進行漏洞挖掘研究

0x05  分析Crashs

幾分鐘內(nèi),該Fuzzer就生成了多個崩潰樣本,一夜之間就生成了2,000多個。

通過根據(jù)崩潰的指令地址對崩潰進行分類,我能夠確定所有2,000個崩潰都是3個錯誤造成的。其中,有2個顯然無法利用(兩個都是由于堆棧耗盡導致的OOM錯誤),但是最后一個似乎是UAF!這是最小化的崩潰示例...

用Domato通過Fuzzing對php進行漏洞挖掘研究

此錯誤已在bug#79029中得到修復,應該包含在下一個版本中。在接下來的幾篇文章中,我將討論將其根本原因,實現(xiàn)任意代碼執(zhí)行的過程,以及在此過程中發(fā)現(xiàn)的一個巧妙的shellcode技巧。

 https://bugs.php.net/bug.php?id=79029

本文翻譯自:https://blog.jmpesp.org/2020/01/fuzzing-php-with-domato.html?m=1&fbclid=IwAR16VPIISd2dERbma9o5bmYrEo-iBS7gPhsr0UqjUJWLlctWiHO1zpmPjHg如若轉(zhuǎn)載,請注明原文地址。

 

責任編輯:姜華 來源: 嘶吼網(wǎng)
相關推薦

2020-09-29 10:44:51

漏洞

2017-09-19 15:01:06

PHP漏洞滲透測試

2020-12-18 09:49:48

iOS ChromiWKWebViewJavaScript

2010-05-19 14:13:12

MySQL存儲過程

2023-08-11 09:41:48

AFLfuzzingPatch

2010-02-22 15:13:01

Python模塊

2009-12-28 11:14:53

ADO 連接對象

2020-09-25 10:14:54

漏洞

2019-01-09 10:26:32

web安全漏洞挖掘前端打包

2014-09-25 19:30:51

2010-03-01 14:02:26

Python批處理語言

2010-03-10 18:29:57

2010-02-02 15:48:49

Python數(shù)據(jù)庫

2009-12-09 16:52:51

VS 2003插件

2021-02-23 10:43:42

Facebook Ga

2010-01-05 20:39:22

2016-05-03 09:51:08

2015-03-06 15:43:39

2017-11-06 06:05:47

2013-04-24 15:56:40

點贊
收藏

51CTO技術(shù)棧公眾號

国产精品久久久久久网站| 欧美一二三区精品| 亚洲精品高清国产一线久久| 国产农村妇女毛片精品| 136国产福利精品导航网址| 亚洲欧美制服综合另类| 邪恶网站在线观看| av人人综合网| 国产精品久久久久久亚洲伦| 国产精品一区视频网站| 国产suv精品一区二区33| 91精品啪在线观看国产81旧版| 亚洲第一男人av| 亚洲精品性视频| 中文字幕资源网在线观看免费 | 制服丝袜亚洲精品中文字幕| 亚洲精品无码久久久久久| 中中文字幕av在线| 国产亚洲一区二区三区在线观看| 999国产在线| 中文字幕一区二区三区免费看| 亚洲人成在线影院| 欧美成人免费网| 美女av免费看| 久久99国内| 亚洲激情中文字幕| 国产成人精品综合久久久久99| 成人午夜毛片| 色欧美88888久久久久久影院| 国产一区二区片| 欧美18hd| 国产精品视频你懂的| 久久久综合香蕉尹人综合网| 亚洲女人18毛片水真多| 久久精品国产第一区二区三区| 日本韩国在线不卡| 亚欧视频在线观看| 最新成人av网站| 久久久久久一区二区三区| 国产真实乱在线更新| 亚洲成a人片77777在线播放| 亚洲国产小视频在线观看| 韩国黄色一级片| 精品亚洲a∨一区二区三区18| 欧美日韩中文字幕一区| 日韩大片一区二区| 亚洲精品69| 久久久国产欧美| 深夜福利一区二区| 蜜桃视频无码区在线观看| 国产成人精选| 色诱视频网站一区| 久久久久久久久久久视频| 搞黄网站在线看| 亚洲午夜免费视频| 国产乱子伦精品无码专区| 伊人春色在线观看| 亚洲精品免费播放| 国产 国语对白 露脸| 18+激情视频在线| 亚洲精品免费在线播放| 男人草女人视频| 四虎影院观看视频在线观看 | 国产激情视频在线观看| 亚洲欧美偷拍三级| 伊人再见免费在线观看高清版| 自拍亚洲图区| 欧美日韩国产色视频| 欧美视频免费播放| 亚州精品国产| 欧美大片日本大片免费观看| 99久久久无码国产精品性波多| 精品亚洲自拍| 亚洲天堂成人在线视频| 日本一道本视频| 亚洲精品成人无限看| 久久久女女女女999久久| 国语对白永久免费| 美女视频免费一区| 成人黄色在线免费观看| 无码国产精品高潮久久99| 久久久777精品电影网影网| 亚洲综合第一| wwww在线观看免费视频| 色噜噜狠狠色综合欧洲selulu| 欧美男女交配视频| 亚洲视频三区| 亚洲欧美另类中文字幕| 国产老头老太做爰视频| 国产精品日本| 国产又爽又黄的激情精品视频| 亚洲精品视频专区| 久久久91精品国产一区二区三区| 成年人三级视频| 精品众筹模特私拍视频| 色婷婷精品大在线视频 | 欧美中文高清| 亚洲网站在线观看| 久草视频免费在线| 日韩高清一区二区| 国产另类自拍| 日本视频不卡| 天天亚洲美女在线视频| 黄色小视频免费网站| 欧美男人操女人视频| 不卡伊人av在线播放| 一区二区三区在线观看av| 国产麻豆一精品一av一免费| 欧美下载看逼逼| 久久不射影院| 91精品国产综合久久精品app| 国产伦精品一区二区三区精品| 国产精品久久久久久| 日韩av免费网站| 日本精品999| 亚洲欧美日韩系列| 在线看的黄色网址| 欧美日韩播放| 久久噜噜噜精品国产亚洲综合| 又污又黄的网站| 久久久国产午夜精品| 狠狠97人人婷婷五月| 9l亚洲国产成人精品一区二三 | 日韩精品一区二区三区三区免费| 日本人亚洲人jjzzjjz| 蘑菇福利视频一区播放| 国产精品大全| 一区二区三区伦理| 7878成人国产在线观看| 性少妇xx生活| 蜜臀va亚洲va欧美va天堂 | 福利在线午夜| 色婷婷综合久久久中文字幕| 少妇被狂c下部羞羞漫画| 欧美黄色免费| 懂色一区二区三区av片| 午夜羞羞小视频在线观看| 777精品伊人久久久久大香线蕉| 日韩精品久久久久久久的张开腿让| 久久亚洲二区| 日产精品高清视频免费| 性感美女一区二区在线观看| 亚洲人成伊人成综合网久久久| 久久久午夜影院| 91偷拍与自偷拍精品| 亚洲中文字幕无码专区| 亚洲另类春色校园小说| 日本一本a高清免费不卡| 欧美一区二区少妇| 欧美曰成人黄网| 99自拍偷拍视频| 精品一二三四区| 2021国产视频| 91精品国产自产在线丝袜啪 | 国产日韩欧美中文在线| 欧美成aaa人片在线观看蜜臀| av免费观看网址| 亚洲在线视频一区| 黄色性生活一级片| 久久久人人人| 亚洲精品日韩精品| 9999精品视频| 欧美激情亚洲一区| 性感美女福利视频| 欧美视频第二页| 麻豆天美蜜桃91| 国产mv日韩mv欧美| 丰满少妇被猛烈进入高清播放| 国产一区二区三区四区大秀| 成人福利在线观看| 污视频在线免费观看网站| 日韩成人中文电影| 中文字幕 欧美激情| 亚洲精品中文字幕乱码三区| 尤物网站在线观看| 日本欧美韩国一区三区| 国产精品无码乱伦| 好吊妞视频这里有精品| 国产精品伦子伦免费视频| 麻豆av在线导航| 亚洲国产精品一区二区三区| 五月婷婷激情视频| 亚洲伦在线观看| 欧美一区二区三区成人精品| 久久精品国产秦先生| 青青青国产在线观看| 日韩激情图片| 好吊色欧美一区二区三区| 精品国产欧美日韩一区二区三区| 欧美xxxx做受欧美.88| 男女污视频在线观看| 日韩一区二区在线免费观看| 久久久久久不卡| 亚洲激情五月婷婷| 亚洲一区二区三区日韩| 国产成人精品综合在线观看 | 亚洲欧美中文字幕在线一区| 国产又粗又大又爽| 色综合网站在线| 欧美高清视频一区二区三区| 国产亚洲1区2区3区| 日本人添下边视频免费| 久久99精品久久久| 欧美综合在线观看视频| 欧美精品自拍| www亚洲国产| 国产精品嫩草影院在线看| 国产高清自拍一区| 成人在线视频国产| 国产精品福利网站| 小视频免费在线观看| 欧美多人乱p欧美4p久久| √新版天堂资源在线资源| 日韩hd视频在线观看| 亚洲成a人片在线| 欧美精品粉嫩高潮一区二区| 久久久久久无码午夜精品直播| 亚洲国产美女搞黄色| 日本黄色免费片| 久久夜色精品一区| 妖精视频一区二区| 国产98色在线|日韩| 91aaa精品| 美女视频免费一区| 三级a三级三级三级a十八发禁止| 国产一区二区三区久久久久久久久 | 999国产精品永久免费视频app| 欧美日韩高清在线一区| 亚洲三级精品| 免费久久99精品国产自| 久久精品色综合| 国产精品一区二区三区精品| 一区二区三区视频免费视频观看网站 | 四虎精品欧美一区二区免费| 日韩欧美一区免费| 一级二级三级欧美| 99久久夜色精品国产亚洲96| 午夜欧美性电影| 红桃成人av在线播放| 日韩欧美亚洲区| 精品日产免费二区日产免费二区| 欧美日韩视频在线一区二区观看视频| 精品久久ai电影| 精品蜜桃一区二区三区| 欧美在线关看| 免费久久久一本精品久久区| 国产一区二区三区四区| 日韩久久在线| 91嫩草亚洲精品| 欧美亚洲视频一区| 欧美激情综合色综合啪啪| 国产911在线观看| 正在播放日韩欧美一页 | 国产偷倩在线播放| 性色av一区二区三区免费| 国产传媒av在线| 国产成人福利网站| 久久爱.com| 亚洲自拍偷拍一区| 精品亚洲精品| 日韩理论片在线观看| 欧美电影免费播放| 日产精品久久久久久久蜜臀| 日韩一级在线| 人人爽人人av| 韩国精品一区二区| 成人做爰www看视频软件| 久久人人97超碰com| 国产免费嫩草影院| 亚洲综合免费观看高清完整版| 日韩福利片在线观看| 欧美在线啊v一区| 国产夫妻自拍av| 亚洲免费一在线| 成人ww免费完整版在线观看| 亚洲91精品在线观看| 欧美成人app| 国产精品久久亚洲7777| 色综合综合网| 韩国无码av片在线观看网站| 中文高清一区| 在线观看国产一级片| 成人丝袜视频网| 亚洲色图 激情小说| 亚洲国产色一区| 这里只有精品6| 亚洲二区中文字幕| 成年人视频在线观看免费| 欧美激情亚洲国产| 亚洲午夜剧场| 麻豆精品传媒视频| 欧美视频在线观看| 婷婷六月天在线| aaa亚洲精品| 精品无码一区二区三区蜜臀| 色综合天天狠狠| 性生交大片免费看女人按摩| 中文在线资源观看视频网站免费不卡| 最近中文字幕免费mv2018在线| 日本最新高清不卡中文字幕| 亚洲91网站| 亚洲欧美综合一区| 久久精品女人| 国产精品九九视频| 亚洲色图丝袜美腿| 波多野结衣日韩| 亚洲精品在线免费观看视频| 日本www在线观看视频| 日本精品一区二区三区在线 | 日韩精品久久久| 亚洲精品国产日韩| 制服下的诱惑暮生| 国产精品久久久久久久久快鸭| 久久久久久久久久久久久久av| 欧美一区二区视频在线观看2020 | 校花撩起jk露出白色内裤国产精品| 日日噜噜夜夜狠狠久久丁香五月| 日韩不卡一区二区三区| 久久无码人妻精品一区二区三区| 亚洲男同性视频| 91片黄在线观看喷潮| 亚洲天堂成人在线| 女生影院久久| 久久精品日韩精品| 一区视频在线| 亚洲熟女一区二区三区| 亚洲乱码国产乱码精品精98午夜| 亚洲视频中文字幕在线观看| 国产亚洲视频中文字幕视频| 韩国美女久久| 免费在线国产精品| 男人的天堂亚洲| 中文字幕在线看高清电影| 疯狂做受xxxx高潮欧美日本| 亚洲 小说区 图片区 都市| 久久久久久国产精品三级玉女聊斋| 免费精品一区| 99久re热视频精品98| 国产精品综合av一区二区国产馆| 国产在线观看免费视频软件| 欧美日韩精品欧美日韩精品一 | 亚洲影院在线观看| www夜片内射视频日韩精品成人| 草民午夜欧美限制a级福利片| 欧美视频第一| 中文字幕中文字幕99 | 91视频免费进入| 欧美日本不卡| 超碰97在线资源站| 狠狠色狠狠色综合日日五| 三级视频在线| 国产精品久久久久久久久久尿| 国产九一精品| 亚洲一级免费在线观看| 亚洲女与黑人做爰| 丰满大乳国产精品| 欧美亚洲激情视频| 久久av免费看| gogogo高清免费观看在线视频| 亚洲视频一区二区在线观看| a毛片在线免费观看| 久久久久久久一| 欧美日韩xxxx| 久久精品一卡二卡| 亚洲高清免费在线| 国产高清在线观看| 91网在线免费观看| 亚洲视屏一区| 欧美狂猛xxxxx乱大交3| 欧美日产在线观看| 国产在线xxx| 日韩一本精品| 国产精品一区二区三区99| 日本免费观看视| 在线电影欧美日韩一区二区私密| 成人噜噜噜噜| 久久精品99国产| 亚洲日本乱码在线观看| 香蕉国产在线视频| 国产欧美精品一区二区三区-老狼| 欧美国产91| 扒开jk护士狂揉免费| 日韩一区国产二区欧美三区| 另类图片综合电影| 日本天堂免费a| 久久奇米777| 亚洲第一页综合| 国产精品高精视频免费| 亚洲激情影院| 亚洲一区电影在线观看| 亚洲精品久久7777777| 日韩专区视频网站| 北条麻妃在线观看| 亚洲精品大片www| av网站无病毒在线| 精品国产一区二区三区四区vr| 精品一区二区日韩| 欧美一级淫片免费视频黄| 欧美日韩国产999| 日韩久久精品|