精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美videos大乳护士334| 99精品视频在线观看免费| 少妇av一区二区三区| 奇米视频7777| 日本高清在线观看| 不卡一区二区在线| 国产精品va在线播放| 777777国产7777777| 久久草在线视频| 欧美怡红院视频| 免费视频爱爱太爽了| 国产人成在线观看| 国产99精品国产| 人妖精品videosex性欧美| 久久嫩草捆绑紧缚| 欧美绝顶高潮抽搐喷水合集| 欧美日韩电影在线播放| 国产又粗又猛又爽又黄的网站| 人成免费电影一二三区在线观看| 精品一区二区三区影院在线午夜| 久久人人爽人人爽人人片av高请| 天天干天天舔天天操| 91精品国产自产在线丝袜啪| 欧美优质美女网站| 各处沟厕大尺度偷拍女厕嘘嘘| 老司机免费在线视频| 91亚洲精华国产精华精华液| 91视频免费在线| 麻豆精品久久久久久久99蜜桃| 欧美国产91| 在线视频国产日韩| 中文字幕在线免费看线人| 麻豆国产一区| 欧美色综合天天久久综合精品| 毛片在线视频播放| 自由的xxxx在线视频| 欧美国产精品v| 九九九九九精品| 国产xxxxxx| 久久国内精品自在自线400部| 国产69精品久久久久久| 国产亚洲第一页| 国产精品成人一区二区不卡| 亚洲一二三在线| 国产吞精囗交久久久| 盗摄系列偷拍视频精品tp| 欧美一区二区在线不卡| 中文字幕第38页| 欧美日韩亚洲国产| 色噜噜久久综合| 亚洲欧洲日产国码无码久久99| 国产网红女主播精品视频| 亚洲免费观看高清完整版在线观看熊| 亚洲黄色成人久久久| 国产主播福利在线| 97久久精品人人做人人爽50路| 草莓视频一区| 免费观看亚洲视频| 国产成人愉拍精品久久| 亚洲第一毛片| 欧美精品video| 国产在线观看成人| 精品成人在线| 91av在线影院| 一级黄色大片视频| 日韩在线一区二区三区| 日本视频久久久| 中文字幕一区二区人妻电影| 视频一区视频二区中文| 国产精品久久久久77777| 中文字幕乱伦视频| 蜜桃一区二区三区在线观看| 国产日韩欧美在线观看| 国产精品久久久久久无人区| 国产伦精品一区二区三区免费| 91精品网站| 日本加勒比一区| 91老师片黄在线观看| 欧美一区二区高清在线观看| 在线观看完整版免费| av在线国产精品| 国产精品丝袜91| 中文字幕一区综合| 亚洲婷婷噜噜| 午夜精品123| 无码人妻丰满熟妇区五十路百度| 久久天堂av| 欧美一区二区三区免费观看视频| 女教师高潮黄又色视频| 日本午夜精品久久久| 亚洲视频在线看| 永久免费未视频| 欧美视频成人| 日本午夜精品理论片a级appf发布| 中文字幕在线观看视频免费| 国产在线国偷精品产拍免费yy| www日韩av| 九色在线播放| 亚洲另类春色国产| 国产日产欧美视频| 日本在线一区二区| 欧美精品一区二区在线播放 | 日韩成人短视频| 激情欧美日韩| 国产精品日韩欧美大师| 亚洲产国偷v产偷v自拍涩爱| 91视频在线观看免费| 正在播放久久| а√天堂8资源中文在线| 欧美日韩一区在线观看| www.四虎精品| 久久国产影院| 5278欧美一区二区三区| 国产理论片在线观看| 91视频在线看| 欧美美女黄色网| 91精品影视| 精品动漫一区二区三区在线观看| 国产日产在线观看| 久久国产福利| 粉嫩精品一区二区三区在线观看| 高清在线观看av| 亚洲成av人片| 日本一区二区三区在线免费观看| 国产精品一区二区av日韩在线| 欧美精品久久久久久久久| 中文字幕人妻互换av久久| 国产成人精品亚洲日本在线桃色| 色爱区成人综合网| 在线观看特色大片免费视频| 日韩免费电影一区| 国产福利在线导航| 久久亚洲电影| 久久久久久久免费| wwww在线观看免费视频| 日韩一区二区三区在线观看| 婷婷丁香综合网| 日韩主播视频在线| 久久伦理网站| 国产乱码午夜在线视频| 精品毛片乱码1区2区3区| 日韩精品久久久久久久的张开腿让| 99精品视频免费观看视频| 97se国产在线视频| 超碰在线caoporn| 欧美精选一区二区| 国产jizz18女人高潮| 日本伊人色综合网| 日韩少妇中文字幕| 成人日韩精品| 一区二区三区在线播放欧美| 日韩人妻精品中文字幕| 久久影院午夜论| 91好吊色国产欧美日韩在线| 久久久久观看| 欧美中文在线观看| 欧美色18zzzzxxxxx| 色综合色综合色综合色综合色综合 | 在线观看av免费| 日韩视频一区二区在线观看| 欧美成人777| 国产福利精品导航| 日本黄色片一级片| 欧洲亚洲视频| 日本精品免费观看| 99视频在线观看地址| 欧美日韩视频在线观看一区二区三区 | 久久夜色精品国产亚洲aⅴ| 国产精品久久久久久无人区| 亚洲黄色av一区| 国产51自产区| 国产农村妇女毛片精品久久莱园子| 久久精品国产精品青草色艺| 日韩电影网站| 最近2019中文字幕第三页视频| 91成品人影院| 亚洲自拍另类综合| 国产亚洲色婷婷久久99精品91| 亚洲一区国产| 中文字幕在线亚洲三区| 欧美经典一区| 88xx成人精品| av电影在线观看一区二区三区| 欧美一区二区福利视频| 国产乡下妇女做爰毛片| 久久日韩粉嫩一区二区三区| 国产高潮免费视频| 亚洲一区色图| 鲁鲁视频www一区二区| 视频精品导航| 九九热99久久久国产盗摄| 天天干天天干天天干| 91福利国产精品| 四虎免费在线视频| 91网站视频在线观看| 亚洲a级黄色片| 亚洲美女网站| 一区二区三区四区免费视频| 精品国产乱码久久久久久樱花| 91国内在线视频| 色视频在线免费观看| 精品国产a毛片| 无码久久精品国产亚洲av影片| 亚洲精选免费视频| 美国黄色一级毛片| 国产揄拍国内精品对白| 少妇高潮喷水久久久久久久久久| 婷婷综合伊人| 日本在线播放不卡| 国产精品白浆| 成人网在线免费观看| 亚洲精品福利电影| 欧美精品一区在线播放| 久蕉依人在线视频| 亚洲国产欧美日韩精品| 97超碰国产在线| 色综合久久久久久久| 国产亚洲精品久久777777| 国产精品天干天干在线综合| 国产不卡一二三| 国内精品视频一区二区三区八戒| 男人舔女人下面高潮视频| 激情视频一区二区三区| 精品91一区二区三区| 精品国内自产拍在线观看视频| 国产一区二区自拍| 日韩一级淫片| 91免费观看网站| 欧美videos粗暴| 国产精品福利无圣光在线一区| 捆绑调教日本一区二区三区| 欧美乱大交xxxxx| 美女国产在线| www.日韩免费| 日本视频在线免费观看| 中文字幕日韩精品有码视频| 久香视频在线观看| 亚洲欧美制服中文字幕| 天堂中文资源在线| 日韩极品精品视频免费观看| 欧洲av在线播放| 欧美v国产在线一区二区三区| www.久久久久久久久久| 亚洲精品高潮| 91网页版在线| 狠狠躁狠狠躁视频专区| 性xx色xx综合久久久xx| 国产真人做爰毛片视频直播| 欧美激情四色| 欧美一区二区三区综合| 欧美在线91| 欧美a级免费视频| 欧美另类亚洲| 国产四区在线观看| 亚洲成av人片乱码色午夜| 日韩欧美亚洲区| 成人同人动漫免费观看| 日本视频精品一区| 欧美精品一二| 日韩精品欧美在线| 欧美女优在线视频| 亚洲国产精品久久久久婷婷老年| 国产成人av| 欧美日韩精品免费看| jlzzjlzz亚洲女人| 天堂资源在线亚洲资源| 精品高清久久| 超碰97免费观看| 欧美三级特黄| 国产真实老熟女无套内射| 中文亚洲字幕| 日韩精品一区二区三区久久| 久久久久久夜| 久久精品亚洲天堂| 国产精品一二三四区| 一卡二卡三卡四卡五卡| gogo大胆日本视频一区| 亚洲av网址在线| 337p粉嫩大胆噜噜噜噜噜91av | 欧美伊人精品成人久久综合97| 无码视频在线观看| 欧美一区二区三区视频在线观看 | 精品捆绑美女sm三区| 色哟哟中文字幕| 亚洲美女精品久久| 成人午夜在线观看视频| 久久久国产影院| 免费看电影在线| 91高清视频免费| 97色婷婷成人综合在线观看| 成人女人免费毛片| 人体久久天天| 992tv成人免费观看| 欧美午夜电影在线观看| 久久美女福利视频| 黑人巨大精品欧美一区| 美女露出粉嫩尿囗让男人桶| 91影院在线观看| 中日韩一级黄色片| 亚洲午夜羞羞片| 无码人妻熟妇av又粗又大| 欧美一区二区在线播放| 午夜激情小视频| 国产一区av在线| 草草影院在线| 国产成人一区二| 激情综合婷婷| 午夜精品一区二区在线观看| 欧美高清日韩| 精品一二三四五区| 日本不卡一二三区黄网| 欧美一级特黄aaa| 97久久精品人人爽人人爽蜜臀| 日本黄色免费片| 精品女同一区二区三区在线播放| 日韩三级一区二区| 亚洲国产精品久久91精品| chinese偷拍一区二区三区| 最近日韩中文字幕中文| 美女100%一区| 97免费高清电视剧观看| 99久久夜色精品国产亚洲狼| 国产精品自拍片| 国产精品1区二区.| 午夜爽爽爽男女免费观看| 精品国产福利在线| av综合在线观看| 另类天堂视频在线观看| 欧美成人精品一区二区男人小说| 国产精品亚洲精品| 欧美美女在线| 波多野结衣之无限发射| 美女视频黄a大片欧美| 自拍视频一区二区| 亚洲黄色小视频| 亚洲av无码乱码国产麻豆 | 日韩免费观看网站| 亚洲超碰在线观看| 亚洲一卡二卡区| 日本不卡免费在线视频| 亚洲观看黄色网| 亚洲私人影院在线观看| 夜夜狠狠擅视频| 亚洲欧美日韩中文视频| 国产精欧美一区二区三区蓝颜男同| 波多野结衣成人在线| 亚洲精品a级片| av在线网站免费观看| 国产精品看片你懂得| 亚洲综合图片网| 亚洲欧美日韩中文视频| 在线能看的av网址| 欧美日韩喷水| 久久aⅴ国产紧身牛仔裤| 屁屁影院国产第一页| 精品国产乱码久久久久久天美 | 欧美一级午夜免费电影| 日本不卡三区| 亚洲影影院av| 亚洲中无吗在线| 天堂网成人在线| 亚洲精品视频在线| www.蜜臀av.com| 欧美成年人网站| 久久婷婷国产| 欧美 日本 亚洲| 国产日韩v精品一区二区| 日本免费在线观看视频| 日韩av在线网| 蜜桃精品在线| 五月天亚洲综合情| 另类综合日韩欧美亚洲| 中文字幕第69页| 欧美日韩精品欧美日韩精品| 黄色网页在线观看| 91亚洲精品在线观看| 好吊视频一区二区三区四区| 激情av中文字幕| 亚洲3atv精品一区二区三区| 青青青免费视频在线2| 日韩av黄色在线观看| 最新国产精品视频| 欧美婷婷精品激情| 中文字幕制服丝袜一区二区三区| 午夜精品在线播放| 97人人模人人爽人人喊中文字| 日本精品影院| 免费大片在线观看| 亚洲国产精品激情在线观看| 亚洲av无码片一区二区三区| 久久久久久久999精品视频| 国产精品免费不| 亚洲国产日韩欧美在线观看| 最新中文字幕一区二区三区| 天天干天天爱天天操| 日韩免费在线播放| 欧美精品91| 99久久久无码国产精品性| 欧美精品乱码久久久久久| 超碰激情在线|