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

Windows圖像解析Fuzzing(一):顏色配置文件

系統 Windows
:圖像解析和渲染是任何現代操作系統的基礎功能。同時,這一功能可以導致遠程代碼執行或信息泄露風險,對攻擊者來說非常有價值。

[[347297]]

一、概述

圖像解析和渲染是任何現代操作系統(OS)的基礎功能。同時,圖像解析也是一個易于訪問的攻擊面,這一功能可以導致遠程代碼執行或信息泄露風險,對攻擊者來說非常有價值。在這一系列文章中,我將回顧Windows操作系統內置的圖像解析器和相關文件格式,特別關注構建工具、尋找語料庫(Corpus)以及通過模糊測試(Fuzzing)發現漏洞的過程。在第一部分中,我們重點分析顏色配置文件。該文件并不是圖像格式本身,而是規則嵌入在圖像中的顏色。

二、ICC顏色配置文件分析

在維基百科上,提供了對ICC顏色配置文件的定義:“在顏色管理過程中,根據國際顏色協會(ICC)發布的標準,ICC配置文件是一組定義顏色輸入輸出設備以及顏色空間的數據。配置文件通過定義設備源或目標顏色空間與配置文件連接空間(PCS)之間的映射,描述特定設備的顏色屬性或預覽要求。這里的PCS可以是CIELAB (L*a*b*),或者是CIEXYZ。可以使用定義插值(Interpolation)的表格來指定映射,也可以通過一系列參數進行轉換。

簡而言之,ICC顏色配置文件是一個二進制文件,該文件會嵌入到圖像中,并在ICC支持的軟件處理圖像時進行解析。

三、ICC規范

ICC規范大概有100頁,相對比較容易瀏覽。通讀規范可以更好地理解文件格式,不同類型的顏色配置文件以及顏色轉換背后的數學原理。此外,了解文件格式的內部結構可以為我們提供信息,以便更好地優化模糊測試、選擇良好的語料庫以及準備模糊測試的字典。

四、關于Windows顏色管理

從Windows 95開始,發布了圖像顏色管理(ICM)的1.0版本,從Windows 98以后開始發布2.0版本。從Windows Vista開始,對Windows色彩系統(WCS)1.0版本進行了大幅改動。ICC顏色配置文件是二進制文件,而WCS顏色配置文件則使用XML作為其文件格式。在這篇文章中功能,我們專注于分析ICC顏色配置文件。

Microsoft曾發布過支持的Windows API的列表,其中就包含一些名稱非常明顯的API,例如OpenColorProfile,我們可以看到它是在MSCMS.dll中實現的。這個DLL是通用入口點,支持加載Microsoft的顏色管理模塊(CMM)和第三方顏色管理模塊(例如Adobe的CMM)。Microsoft的CMM(即ICM)可以在system32目錄中找到,名稱為ICM32.dll。

ICM32:

Windows圖像解析Fuzzing(一):顏色配置文件

Windows的CMM是在Windows 95時代由第三方編寫的,發展至今仍然或多或少地包含當時的代碼,但已經經過了數十年來的安全修復。既然是如此古老的模塊,我們就有希望在其中發現新的漏洞。但是,這也是一個非常小的模塊,可能經過了多輪審計和模糊測試,包括內部產品安全團隊和外部研究人員,這個事實在一定程度上降低了我們找到漏洞的希望。我們檢索近期發現的ICM32漏洞,可以發現Project Zero和ZDI的研究人員在2017-2018年期間發現了多個漏洞,但從2019年開始就沒有找到更多的研究成果。

五、構建工具

盡管在MSDN上有ICM API的列表,但我們需要找到Windows用于所有ICC相關操作的API序列。要查找API序列,一種方式是搜索Windows DLL和EXE的反匯編并尋找用到的顏色配置文件API,另一種方式是找到適用于開源色彩管理系統(例如Little CMS,LCMS)的工具。使用這兩種方式,最終共同指向了很少的幾個API,這些API具有打開顏色配置文件和創建顏色轉換的功能。

基于上述信息,我編寫了一個簡單的初始工具:

  1. #include < stdio.h > 
  2. #include < Windows.h > 
  3. #include < Icm.h > 
  4. #pragma comment(lib, "mscms.lib"
  5. int main(int argc, char** argv) 
  6.     char dstProfilePath[] = "sRGB Color Space Profile.icm"
  7.     tagPROFILE destinationProfile; 
  8.     HPROFILE   hDstProfile = nullptr;   
  9.     destinationProfile.dwType = PROFILE_FILENAME; 
  10.     destinationProfile.pProfileData = dstProfilePath; 
  11.     destinationProfile.cbDataSize = (strlen(dstProfilePath) + 1); 
  12.     hDstProfile = OpenColorProfileA(&destinationProfile, PROFILE_READ, 
  13.         FILE_SHARE_READ, OPEN_EXISTING); 
  14.     if (nullptr == hDstProfile) 
  15.     { 
  16.         return -1; 
  17.     }   
  18.     tagPROFILE sourceProfile; 
  19.     HPROFILE   hSrcProfile = nullptr; 
  20.     HTRANSFORM hColorTransform = nullptr;     
  21.     DWORD dwIntent[] = { INTENT_PERCEPTUAL, INTENT_PERCEPTUAL }; 
  22.     HPROFILE hProfileList[2];   
  23.     sourceProfile.dwType = PROFILE_FILENAME; 
  24.     sourceProfile.pProfileData = argv[1]; 
  25.     sourceProfile.cbDataSize = (strlen(argv[1]) + 1); 
  26.     hSrcProfile = OpenColorProfileA(&sourceProfile, PROFILE_READ, 
  27.         FILE_SHARE_READ, OPEN_EXISTING); 
  28.     if (nullptr == hSrcProfile) 
  29.     { 
  30.         return -1; 
  31.     }   
  32.     hProfileList[0] = hSrcProfile; 
  33.     hProfileList[1] = hDstProfile; 
  34.     hColorTransform = CreateMultiProfileTransform( 
  35.         hProfileList, 
  36.         2, 
  37.         dwIntent, 
  38.         2, 
  39.         USE_RELATIVE_COLORIMETRIC | BEST_MODE, 
  40.         INDEX_DONT_CARE 
  41.     ); 
  42.     if (nullptr == hColorTransform) 
  43.     { 
  44.         return -1; 
  45.     }   
  46.     DeleteColorTransform(hColorTransform); 
  47.     CloseColorProfile(hSrcProfile); 
  48.     CloseColorProfile(hDstProfile); 
  49.     return 0; 

六、尋找語料庫和字典

在互聯網上,可以找到大量提供顏色配置文件的網站。顏色配置文件的另一個主要來源是圖像。有許多圖像文件都包含顏色配置文件,但需要一些工具將顏色配置文件轉儲到單獨的文件中。

簡單瀏覽規范,我們還可以保證語料庫至少包含來自7個不同顏色配置文件的所有樣本。而將它與代碼覆蓋率信息結合,可以準備第一套語料,用于模糊測試。

我們可以在梳理規范的過程中,創建唯一標簽名稱和對應值的列表,從而準備字典,幫助模糊工具查找其他代碼路徑。另外,還可以從LCMS這樣的開源模糊測試嘗試過程中找到字典。

七、模糊測試

我使用16核主機對第一套語料進行模糊處理,同時將來自MSCMS.dll和ICM32.dll的代碼覆蓋率信息作為我的模糊工具的反饋。在幾天后,開始出現崩潰。

八、CVE-2020-1117:InitNamedColorProfileData中的堆溢出

在嘗試越界讀取時,icm32!SwapShortOffset中發生了以下崩潰:

  1. 0:000 > r 
  2. rax=0000023690497000 rbx=0000000000000000 rcx=00000000000000ff 
  3. rdx=000000000000ffff rsi=0000023690496f00 rdi=0000023690496fee 
  4. rip=00007ffa46bf3790 rsp=000000c2a56ff5a8 rbp=0000000000000001 
  5.  r8=0000000000000014  r9=0000023690497002 r10=0000000000000014 
  6. r11=0000000000000014 r12=000000c2a56ff688 r13=0000023690492de0 
  7. r14=000000000000000a r15=000000004c616220 
  8. iopl=0         nv up ei ng nz ac pe cy 
  9. cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000293 
  10. icm32!SwapShortOffset+0x10: 
  11. 00007ffa`46bf3790 0fb610          movzx   edx,byte ptr [rax] ds:00000236`90497000=?? 
  12.   
  13. 0:000 > !heap -p -a @rax 
  14.     address 0000023690497000 found in 
  15.     _DPH_HEAP_ROOT @ 23690411000 
  16.     in busy allocation (  DPH_HEAP_BLOCK:         UserAddr         UserSize -         VirtAddr         VirtSize) 
  17.                              23690412b60:      23690496f00              100 -      23690496000             2000 
  18.     00007ffa51644807 ntdll!RtlDebugAllocateHeap+0x000000000000003f 
  19.     00007ffa515f49d6 ntdll!RtlpAllocateHeap+0x0000000000077ae6 
  20.     00007ffa5157babb ntdll!RtlpAllocateHeapInternal+0x00000000000001cb 
  21.     00007ffa51479da0 msvcrt!malloc+0x0000000000000070 
  22.     00007ffa46bf3805 icm32!SmartNewPtr+0x0000000000000011 
  23.     00007ffa46bf37c8 icm32!SmartNewPtrClear+0x0000000000000014 
  24.     00007ffa46c02d05 icm32!InitNamedColorProfileData+0x0000000000000085 
  25.     00007ffa46bf6e39 icm32!Create_LH_ProfileSet+0x0000000000004e15 
  26.     00007ffa46bf1973 icm32!PrepareCombiLUTs+0x0000000000000117 
  27.     00007ffa46bf1814 icm32!CMMConcatInitPrivate+0x00000000000001f4 
  28.     00007ffa46bf12a1 icm32!CWConcatColorWorld4MS+0x0000000000000075 
  29.     00007ffa46bf11f4 icm32!CMCreateMultiProfileTransformInternal+0x00000000000000e8 
  30.     00007ffa46bf1039 icm32!CMCreateMultiProfileTransform+0x0000000000000029 
  31.     00007ffa48f16e6c mscms!CreateMultiProfileTransform+0x000000000000024c 
  32.     00007ff774651191 ldr+0x0000000000001191 
  33.     00007ff7746514b4 ldr+0x00000000000014b4 
  34.     00007ffa505a7bd4 KERNEL32!BaseThreadInitThunk+0x0000000000000014 
  35.     00007ffa515aced1 ntdll!RtlUserThreadStart+0x0000000000000021 

icm32!SwapShortOffset讀取無符號的短值,對其進行bswap,并將它們存儲在相同的位置,這會導致讀寫原語崩潰。

反編譯的SwapShortOffset:

  1. unsigned __int16 *__fastcall SwapShortOffset(void *sourceBuff, unsigned int offset, unsigned int len) 
  2.   unsigned __int16 *endBuff; // r9 
  3.   unsigned __int16 *result; // rax 
  4.   
  5.   endBuff = (sourceBuff + len); 
  6.   for ( result = (sourceBuff + offset); result < endBuff; ++result ) 
  7.     *result = _byteswap_ushort(*result);        // read, bswap and write 
  8.   return result; 

崩潰的函數icm32!SwapShortOffset并不能立即指向導致該問題的根本原因。為此,我們需要查看icm32!InitNamedColorProfileData。

反編譯的InitNamedColorProfileData:

  1. __int64 __fastcall InitNamedColorProfileData(__int64 a1, void *hProfile, int a3, _DWORD *a4) 
  2.   ... 
  3.   ... 
  4.   errCode = CMGetPartialProfileElement(hProfile, 'ncl2', 0, pBuffSize, 0i64);      // getting size of ncl2 element 
  5.   if ( errCode ) 
  6.     return errCode; 
  7.   minSize = pBuffSize[0]; 
  8.   if ( pBuffSize[0] < 0x55 ) 
  9.     minSize = 0x55; 
  10.   pBuffSize[0] = minSize; 
  11.   outBuff = SmartNewPtrClear(minSize, &errCode);                                    // allocating the buffer for ncl2 
  12.   ... 
  13.   ... 
  14.   errCode = CMGetPartialProfileElement(hProfile, 'ncl2', 0, pBuffSize, outBuff);    // reading ncl2 elements to buffer 
  15.   if ( !errCode ) 
  16.   { 
  17.     ... 
  18.     ... 
  19.     totalSizeToRead = count * totalDeviceCoord; 
  20.     if ( totalSizeToRead < 0xFFFFFFFFFFFFFFAEui64 && totalSizeToRead + 0x51 <= pBuffSize[0] )  // totalSizeToRead + 0x51 <= element size
  21.     { 
  22.       currPtr = outBuff + 0x54;            // wrong offset of 0x54 is used 
  23.       ... 
  24.       ... 
  25.       do 
  26.       {   
  27.         SwapShortOffset((currPtr + 0x20), 0, 6u); 
  28.         ... 
  29.         --count; 
  30.       }while(count

在這里,代碼嘗試讀取“ncl2”標簽/元素,并從文件中獲取流的大小。一個緩沖區會被分配,并再次進行相同的調用,以讀取元素ncl2的完整內容。該緩沖區將被解析,以查找設備位置的計數和編號,并通過確保讀寫操作位于緩沖區大小中來驗證該值。其中存在一個漏洞,用于驗證的偏移量(0x51)小于緩沖區指針的偏移量(0x54),該漏洞導致可以超過邊界讀寫3個字節。

該漏洞的修復方法非常簡單,將用于驗證的偏移量修改為0x54即可,這也是Microsoft實際修復此漏洞的方式。

九、其他漏洞

在分析上面的漏洞時,我們發現過程中會使用到CMGetPartialProfileElement函數讀取大小、進行分配和讀取內容。而這種模式可能會引入漏洞,例如大小不受限制、整數溢出、導致偏移量增加等。我決定分析這個函數,并尋找ICM32.dll中是否存在這樣的實例。

最終發現有3個實例具有未經檢查的偏移量訪問,分別是:CMConvIndexToNameProfile、CMConvNameToIndexProfile和CMGetNamedProfileInfoProfile。所有這些函數都可以通過導出的、有詳細說明的MSCMS函數進行訪問,分別是ConvertIndexToColorName、CMConvertColorNameToIndex和GetNamedProfileInfo。

反編譯后的CMConvIndexToNameProfile:

 

  1. __int64 __fastcall CMConvIndexToNameProfile(HPROFILE hProfile, __int64 a2, __int64 a3, unsigned int a4) 
  2.   ... 
  3.   ... 
  4.   errCode = CMGetPartialProfileElement(hProfile, 'ncl2', 0, pBuffSize, 0i64);    // read size 
  5.   if ( !errCode ) 
  6.   { 
  7.     allocBuff = SmartNewPtr(pBuffSize[0], &errCode); 
  8.     if ( !errCode ) 
  9.     { 
  10.       errCode = CMGetPartialProfileElement(hProfile, 'ncl2', 0, pBuffSize, allocBuff);    // read to buffer 
  11.       if ( !errCode ) 
  12.       { 
  13.         SwapLongOffset((allocBuff + 12), 0, 4u);         // 12 > *pBuffSize ? 
  14.         SwapLongOffset((allocBuff + 16), v12, v13); 

在CMConvIndexToNameProfile和其他兩個函數中,我們發現了漏洞,并沒有檢查ncl2元素的最小長度,且偏移量12和16可以直接訪問以進行讀取和寫入。那么如果allocBuffer的大小小于12,就可以實現對allocBuffer的越界讀寫。

由于在Windows中沒有二進制文件使用這些函數,因此Microsoft決定不會立即修復這三個漏洞。此外,我們也沒有找到使用這些API的任何Windows軟件或第三方軟件。

十、總結

在這一系列文章的第一部分中,我們對顏色配置文件進行了深入分析,編寫工具并成功找到了多個漏洞。請大家繼續關注第二部分,在第二部分中,我們將分析很少有人研究的一類漏洞——內存未初始化漏洞。

本文翻譯自:https://www.fireeye.com/blog/threat-research/2020/09/fuzzing-image-parsing-in-windows-color-profiles.html如若轉載,請注明原文地址。

 

責任編輯:姜華 來源: 嘶吼網
相關推薦

2019-11-22 10:00:53

ICC配置文件Windows 10

2019-12-31 11:10:55

Windows 10安裝配置文件

2011-03-28 09:07:26

Nagios配置文件

2022-11-10 09:05:18

Lua配置文件

2010-02-22 10:18:18

WCF配置文件

2021-07-05 12:09:58

Python編程語言

2011-01-21 15:08:45

Sendmail

2021-07-13 05:47:40

GroovyJSON軟件開發

2011-08-12 09:38:48

2011-09-08 16:07:13

Widget配置文件

2010-03-18 18:17:01

Python 配置文件

2010-02-03 09:19:31

Python模塊

2009-12-21 11:19:50

WCF配置文件

2013-07-30 11:30:42

Windows PhoWindows Pho

2021-07-08 21:19:04

BashLinux

2018-08-08 10:10:54

Windows 10Windows網絡配置

2011-01-13 16:27:26

Linux配置文件

2011-01-19 14:00:21

2010-12-28 16:35:32

Outlook 配置文

2010-03-19 11:18:07

Python讀寫配置文
點贊
收藏

51CTO技術棧公眾號

欧美伦理片在线看| 欧美亚洲另类在线一区二区三区| 加勒比婷婷色综合久久| 国产精品高清一区二区| 性欧美疯狂xxxxbbbb| 日本一区免费观看| 亚洲AV无码乱码国产精品牛牛| 销魂美女一区二区三区视频在线| 日韩在线一区二区三区免费视频| 成年女人免费视频| 久久婷婷五月综合色丁香| 亚洲第一搞黄网站| 一区二区精品免费视频| 天堂网2014av| 韩国欧美一区二区| 欧美最近摘花xxxx摘花| 欧产日产国产v| 精品久久综合| 精品一区二区电影| 亚洲精品一区二区18漫画| 欧美在线va视频| 天天综合色天天综合| 国内精品国产三级国产99| 黄视频在线观看免费| 成人亚洲精品久久久久软件| 国产日韩一区在线| www.国产毛片| 亚洲人成人一区二区三区| 久久精品免费电影| 国产在线综合视频| 美女毛片一区二区三区四区| 亚洲国产91色在线| 精品伦一区二区三区| 在线观看亚洲精品福利片| 91福利在线播放| 免费毛片小视频| 182在线播放| 亚洲综合999| 中国黄色录像片| 日本三级视频在线播放| 国产欧美精品一区二区色综合朱莉| 国产一区二区三区高清| 亚洲精品国产一区二| 国内精品伊人久久久久av影院| 国产精品一区久久久| 成人a v视频| 久久综合五月| 国产精品对白刺激| www.日韩一区| 日韩电影免费在线看| 日本韩国在线不卡| 成人h动漫精品一区二区下载| 午夜在线视频观看日韩17c| 91po在线观看91精品国产性色 | 国产又粗又猛又爽又黄91| 日韩av在线免费观看不卡| 日本精品久久久| 无码人妻熟妇av又粗又大| 日日摸夜夜添夜夜添精品视频 | 国产成人福利av| 亚洲成年人在线| v天堂中文在线| 亚洲区小说区图片区qvod按摩| 日韩经典第一页| 好吊视频在线观看| 日韩黄色大片网站| 久久香蕉频线观| 久久久夜色精品| 国产精品日韩| 国产精品久久久久999| 91精品在线视频观看| 国产麻豆精品一区二区| 国产精品福利视频| 亚州男人的天堂| 国产欧美日韩另类视频免费观看| 一区二区不卡在线观看| 亚洲第一图区| 欧美午夜丰满在线18影院| 久久久久国产精品熟女影院| 欧美一级做一级爱a做片性| 4438成人网| 亚洲天堂资源在线| 日韩国产一区| 午夜精品视频在线| 中文字幕av无码一区二区三区| 国产最新精品免费| 精品国产电影| 一级毛片视频在线| 亚洲一区二区在线观看视频| 18禁男女爽爽爽午夜网站免费| jizz久久久久久| 精品黑人一区二区三区久久 | 日韩精品水蜜桃| 色与欲影视天天看综合网| 男人天堂2024| 国产成人激情av| 秋霞在线观看一区二区三区| a视频在线观看免费| 欧美日韩中文在线| 色男人天堂av| 国产亚洲一区二区三区不卡| 欧美另类在线播放| 中文字幕 亚洲视频| 成人av影院在线| 制服国产精品| 成人福利视频| 精品88久久久久88久久久 | 亚洲精品一卡二卡| 国产成人亚洲精品无码h在线| 色成人综合网| 亚洲桃花岛网站| 精品无码m3u8在线观看| 激情五月婷婷综合网| 欧美一卡2卡3卡4卡无卡免费观看水多多| 成人看av片| 欧美视频在线播放| 国产精品无码网站| 黄色av成人| 亚洲精品免费一区二区三区| 高清福利在线观看| 欧美午夜激情在线| 91精品又粗又猛又爽| 97欧美在线视频| 国产999视频| 天堂在线一二区| 亚洲va欧美va人人爽| 成年人性生活视频| 综合久久十次| 91免费视频网站| 麻豆电影在线播放| 欧美揉bbbbb揉bbbbb| 天天躁夜夜躁狠狠是什么心态| 亚洲专区一区| 乱色588欧美| 夜鲁夜鲁夜鲁视频在线播放| 精品国产凹凸成av人导航| 草视频在线观看| 国产精品一区免费在线观看| 在线观看免费黄色片| 激情亚洲小说| 日韩视频―中文字幕| 亚洲一区二区色| 国产精品国产三级国产aⅴ无密码| 蜜臀视频一区二区三区| 九九久久成人| 国产精品精品久久久久久| 国产在线视频资源| 在线视频综合导航| 国产99在线 | 亚洲| 日本va欧美va欧美va精品| 视频一区国产精品| 久久亚洲精品人成综合网| 日韩小视频在线观看| 亚洲一区二区天堂| 亚洲精品国产精华液| 亚洲av午夜精品一区二区三区| 欧美精品国产一区| 国产精品一区二区三区免费| 黄色在线免费观看网站| 亚洲女同性videos| 中文字幕有码视频| 亚洲视频小说图片| 欧美一级片在线免费观看| 91久久综合| 欧美精品一区三区在线观看| 97成人超碰| 视频直播国产精品| 精品人妻一区二区三区三区四区 | 国产精品高潮呻吟久久久久| 97在线观看视频国产| 污视频在线免费观看| 色老汉一区二区三区| 97在线观看免费高| 成人精品高清在线| 91激情视频在线| 中文精品久久| 久久精品日产第一区二区三区乱码 | 亚洲一区在线观看网站| 色噜噜在线观看| 久久精品久久综合| 欧美一级视频在线播放| 精品视频免费在线观看| 91九色在线视频| 悠悠资源网亚洲青| 久久久999精品视频| 亚洲欧美综合一区二区| 欧美另类z0zxhd电影| 日韩成人免费观看| 中文字幕日韩欧美一区二区三区| 激情av中文字幕| 另类专区欧美蜜桃臀第一页| 精品一区二区三区无码视频| 欧洲美女日日| 黑人另类av| 国产精品久久久久久久久久久久久久久 | 这里只有精品在线观看| 亚洲AV无码精品国产| 欧美午夜影院一区| 青青草成人av| 亚洲精品视频一区二区| 摸摸摸bbb毛毛毛片| 成人免费看视频| 午夜一区二区视频| 久久精品动漫| 欧美一级电影免费在线观看| 日本黄色激情视频| 成人综合在线视频| 欧美三级理论片| 亚洲视频1区| 中文字幕av日韩精品| 尤物tv在线精品| 国产精品xxxx| 日本综合精品一区| 国产日韩av在线播放| 婷婷六月国产精品久久不卡| 久久久伊人日本| 黄av在线免费观看| 一道本无吗dⅴd在线播放一区| 日韩中文字幕免费在线观看| 亚洲乱码日产精品bd| 日韩电影免费观看高清完整| 久久的色偷偷| 国产欧美婷婷中文| 成人视屏在线观看| 国产婷婷色一区二区三区四区| 999精品视频在线| 国产精品毛片在线看| 国产精品三级一区二区| 久久精品欧美一区| 亚洲最大免费| 成人综合一区| 亚洲欧洲一区二区在线观看| 精品国精品国产自在久国产应用| 欧美精彩一区二区三区| 欧美aaaaaaaa牛牛影院| 国产高清一区视频| 一区二区三区自拍视频| 亚洲伊人久久综合| 久久久久亚洲精品中文字幕| 91视频国产一区| 国产一区2区在线观看| 成人免费淫片视频软件| 992tv国产精品成人影院| 国产精品久久久久久久久久小说| 国产精品专区免费| 日韩女优在线播放| jvid一区二区三区| 国产区精品在线观看| 国产成年精品| 国产精品免费一区二区三区观看| caoporn成人| 精品久久久久久综合日本| 欧美18xxxx| 青青草久久网络| 99re久久最新地址获取| 中文字幕99| 国产精品久久| 国产资源在线视频| 日韩国产精品久久久久久亚洲| 手机看片福利日韩| 激情综合色综合久久综合| 国产吃瓜黑料一区二区| caoporen国产精品视频| 精品人妻一区二区三区视频| 国产欧美日韩精品在线| 色偷偷www8888| 亚洲国产视频直播| 日本午夜视频在线观看| 欧美视频在线一区| 成人av一区二区三区在线观看| 亚洲成av人乱码色午夜| 欧美日韩伦理片| 精品国内亚洲在观看18黄| 蜜桃成人365av| 成人sese在线| 国精品无码人妻一区二区三区| 欧美韩日一区二区三区| 国产suv一区二区三区| 午夜视频一区在线观看| 男人天堂视频网| 日韩精品一区二区三区四区视频| 亚洲 另类 春色 国产| 色爱精品视频一区| 天堂av中文在线观看| 国产精品情侣自拍| 超碰成人福利| 亚洲在线观看一区| 亚洲精品社区| 999这里有精品| 91视视频在线直接观看在线看网页在线看 | 国产老女人精品毛片久久| 亚洲一区二区三区四区五区六区| 国产精品卡一卡二| 日韩高清免费av| 在线成人免费观看| 男人天堂网在线| 欧美日韩福利视频| 日韩电影精品| 欧美动漫一区二区| 欧美亚洲不卡| 91国产精品视频在线观看| av在线免费不卡| 神马午夜精品91| 欧美性大战久久久| 日韩一区二区三区中文字幕| 久久不射热爱视频精品| 国产精品高清乱码在线观看 | 日韩成人精品一区| 日本毛片在线免费观看| 国产乱妇无码大片在线观看| 少妇太紧太爽又黄又硬又爽小说| 精品久久久久国产| 精品国产av一区二区三区| 色播久久人人爽人人爽人人片视av| 伊人久久在线| 国产在线精品一区二区中文 | 国产日产欧美视频| 成人一级黄色片| 欧美三级 欧美一级| 欧美日韩一区二区三区高清| 男女视频在线观看免费| 97超级碰在线看视频免费在线看| 日韩影片在线观看| 一区在线电影| 麻豆精品视频在线| 夜夜春很很躁夜夜躁| 色综合久久久久| 深夜福利在线视频| 97热精品视频官网| 国产一区丝袜| 妞干网在线视频观看| 成人精品国产免费网站| 国产精品第108页| 精品国产髙清在线看国产毛片| 神马午夜伦理不卡| 岛国视频一区| 精品91久久久久| 亚洲少妇中文字幕| 亚洲成在人线在线播放| 丁香六月色婷婷| 欧美夫妻性生活xx| 91久久精品无嫩草影院| 日本阿v视频在线观看| 成人一级片网址| 激情五月色婷婷| 精品亚洲一区二区三区在线观看| 日本三级一区| 青青草成人网| 久88久久88久久久| 2021亚洲天堂| 精品国产污污免费网站入口| 爱情岛亚洲播放路线| 国产一区二区三区四区hd| 亚洲视频1区| 国产一二三四区在线| 欧美日韩夫妻久久| 在线中文字幕-区二区三区四区| 亚洲最大福利网| 亚洲一级网站| 久久av无码精品人妻系列试探| 欧美调教femdomvk| 国产在线观看免费麻豆| 99久久综合狠狠综合久久止| 制服诱惑一区二区| 一色道久久88加勒比一| 欧美日韩成人综合天天影院| 91蜜桃在线视频| 九色综合日本| 麻豆成人久久精品二区三区红| caoporn91| 日韩av资源在线播放| 国产精品原创视频| 国产成人在线小视频| 久久这里只有精品6| 伊人网av在线| 久久久久久久久久久网站| 九九亚洲精品| 欧美日韩理论片| 欧美日韩国产区| 日本综合在线| 国产一区二区精品免费| 日本欧美韩国一区三区| 久久久精品人妻一区二区三区四 | 亚洲欧美精品aaaaaa片| 亚洲成色www8888| 日韩成人一区| 男人操女人逼免费视频| 综合欧美一区二区三区| 人妻精品一区二区三区| 国产精品一区二区电影| 亚洲日本免费| 东方av正在进入| 亚洲欧美第一页| 日韩在线网址| 亚洲第一中文av| 天天影视网天天综合色在线播放| 老司机精品影院| 日本在线观看一区二区| 成人一区二区视频| 国产精品久久久久久在线|