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

記一次 .NET 某企業采購平臺 崩潰分析

開發 架構
這次崩潰事故的直接原因是由于第三方安全軟件的介入導致的,因 ComPreStubWorker? 是加殼程序和蠕蟲病毒注入的突破口,不管怎樣還是希望安全軟件對高危函數 ComPreStubWorker 的照護邏輯再優化下吧,減少誤殺的發生。

一:背景

1. 講故事

前段時間有個朋友找到我,說他們的程序有偶發崩潰的情況,讓我幫忙看下怎么回事,針對這種 crash 的程序,用 AEDebug 的方式抓取一個便知,有了 dump 之后接下來就可以分析了。

二:Windbg 分析

1. 為什么會崩潰

既然是程序的崩潰,我們可以像看藍屏一下看dump文件,使用 !analyze -v 命令即可。

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************
CONTEXT:  (.ecxr)
rax=0000000000000000 rbx=0000000000f7ccb0 rcx=00007ffe23af7ab0
rdx=00000000013e3b10 rsi=0000000000f7ccb0 rdi=0000000000f7c7c0
rip=00007ffe538e7044 rsp=0000000000f7cf60 rbp=0000000000f7d770
 r8=0000000000000001  r9=000000f7000006bd r10=0000000000f7d640
r11=0000000000f7cf50 r12=0000000000000001 r13=0000000000000001
r14=000000005c520126 r15=00000000013e3b10
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010204
clr!ComPreStubWorker+0xf2e54:
00007ffe`538e7044 f6403820        test    byte ptr [rax+38h],20h ds:00000000`00000038=??
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffe538e7044 (clr!ComPreStubWorker+0x00000000000f2e54)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000001
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000038
Attempt to read from address 0000000000000038

PROCESS_NAME:  xxx.exe

READ_ADDRESS:  0000000000000038 

ERROR_CODE: (NTSTATUS) 0xc0000005 - 0x%p            0x%p                    %s

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  0000000000000038

STACK_TEXT:  
00000000`00f7cf60 00007ffe`538e7044 clr!ComPreStubWorker+0xf2e54
00000000`00f7d590 00007ffe`53712d62 clr!ComCallPreStub+0x62
00000000`00f7d660 00007ffe`1de3ba83 wwkrn64+0xba83
00000000`00f7d740 00007ffe`638ebc70 ole32!CPrivDragDrop::PrivDragDrop+0x2b0
00000000`00f7d790 00007ffe`638eb98c ole32!PrivDragDrop+0x198
00000000`00f7d830 00007ffe`638a9c1e ole32!CDragOperation::GetDropTarget+0xee
00000000`00f7d8b0 00007ffe`638ac239 ole32!CDragOperation::UpdateTarget+0x4cd
....

從上面的信息看,這個程序是一個經典的 訪問違例 異常,違例是因為 rax=0 導致讀取了不該讀取的地方,接下來我們切到異常上下文看下為什么會是 0 ?

2. eax 為什么會是 0

要想切到異常上下文,先使用 .ecxr 命令,再使用 ub 反匯編。

0:000> .ecxr
rax=0000000000000000 rbx=0000000000f7ccb0 rcx=00007ffe23af7ab0
rdx=00000000013e3b10 rsi=0000000000f7ccb0 rdi=0000000000f7c7c0
rip=00007ffe538e7044 rsp=0000000000f7cf60 rbp=0000000000f7d770
 r8=0000000000000001  r9=000000f7000006bd r10=0000000000f7d640
r11=0000000000f7cf50 r12=0000000000000001 r13=0000000000000001
r14=000000005c520126 r15=00000000013e3b10
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010204
clr!ComPreStubWorker+0xf2e54:
00007ffe`538e7044 f6403820        test    byte ptr [rax+38h],20h ds:00000000`00000038=??

0:000> ub 00007ffe`538e7044
clr!ComPreStubWorker+0xf2e20:
00007ffe`538e7010 0f8591d3f0ff    jne     clr!ComPreStubWorker+0x1b4 (00007ffe`537f43a7)
00007ffe`538e7016 488b0e          mov     rcx,qword ptr [rsi]
00007ffe`538e7019 488d81b8ffffff  lea     rax,[rcx-48h]
00007ffe`538e7020 48898424c0050000 mov     qword ptr [rsp+5C0h],rax
00007ffe`538e7028 48898424b8050000 mov     qword ptr [rsp+5B8h],rax
00007ffe`538e7030 488b89c0ffffff  mov     rcx,qword ptr [rcx-40h]
00007ffe`538e7037 e8fcfcebff      call    clr!MethodTable::GetComCallWrapperTemplate (00007ffe`537a6d38)
00007ffe`538e703c 48898424b0050000 mov     qword ptr [rsp+5B0h],rax

從匯編代碼看,rax 是 clr!MethodTable::GetComCallWrapperTemplate 方法的返回值,從方法名字看是一個經典的 COM 和 .NET 互操作,接下來繼續用 uf 反匯編看下這個方法,精簡后的代碼如下:

0:000> uf clr!MethodTable::GetComCallWrapperTemplate
00007ffe`537a6d38 48895c2408      mov     qword ptr [rsp+8],rbx
00007ffe`537a6d3d 57              push    rdi
...
00007ffe`537a6d57 488bcb          mov     rcx,rbx
00007ffe`537a6d5a e8c943f7ff      call    clr!MethodTable::GetClass (00007ffe`5371b128)
00007ffe`537a6d5f 488b4030        mov     rax,qword ptr [rax+30h]
...

再結合 coreclr 源碼:

inline ComCallWrapperTemplate *MethodTable::GetComCallWrapperTemplate()
{
    LIMITED_METHOD_CONTRACT;
    return GetClass()->GetComCallWrapperTemplate();
}

class EEClass // DO NOT CREATE A NEW EEClass USING NEW!
{
    ComCallWrapperTemplate* m_pccwTemplate;   // points to interop data structures used when this type is exposed to COM

    inline ComCallWrapperTemplate *GetComCallWrapperTemplate()
    {
        LIMITED_METHOD_CONTRACT;
        return m_pccwTemplate;
    }
}

到這里大概能推測到是因為 EEClass.m_pccwTemplate 字段為 null 所致,從注釋看,他是 CLR 用來暴露給 COM 使用的數據結構,那為什么暴露給 COM 使用的數據結構為 NULL 呢? 這個分析起來就復雜了。

但有一點可以確定,像這種邏輯必然是 堅如磐石,受過日月精華,經歷過500年的風吹雨打,不可能無緣無故的出簍子。

3. 出路在哪里

要尋找突破口還得從調用棧入手,我們用 k 命令洞察一下。

0:000> k
  *** Stack trace for last set context - .thread/.cxr resets it
 # Child-SP          RetAddr               Call Site
00 00000000`00f7cf60 00007ffe`53712d62     clr!ComPreStubWorker+0xf2e54
01 00000000`00f7d590 00007ffe`1de3ba83     clr!ComCallPreStub+0x62
02 00000000`00f7d660 00007ffe`638ebc70     wwkrn64+0xba83
03 00000000`00f7d740 00007ffe`638eb98c     ole32!CPrivDragDrop::PrivDragDrop+0x2b0 [com\ole32\com\rot\getif.cxx @ 659] 
04 00000000`00f7d790 00007ffe`638a9c1e     ole32!PrivDragDrop+0x198 [com\ole32\com\rot\getif.cxx @ 920] 
05 00000000`00f7d830 00007ffe`638ac239     ole32!CDragOperation::GetDropTarget+0xee [com\ole32\ole232\drag\drag.cpp @ 1128] 
06 00000000`00f7d8b0 00007ffe`638ac91c     ole32!CDragOperation::UpdateTarget+0x4cd [com\ole32\ole232\drag\drag.cpp @ 2026] 
07 00000000`00f7d9a0 00007ffe`2443f664     ole32!DoDragDrop+0x10c [com\ole32\ole232\drag\drag.cpp @ 3007] 
08 00000000`00f7dc80 00007ffe`244ccd8d     System_Windows_Forms_ni+0x9cf664
...

仔細觀察線程棧信息,不難發現用戶是在用 DoDragDrop 方法實現控件的拖拽,不過在執行流中有一個陌生的動態鏈接庫 wwkrn64,它到底是何方神圣呢?我們用 lmvm 觀察下。

0:000> lmvm wwkrn64
Browse full module list
start             end                 module name
00007ffe`1de30000 00007ffe`1df1e000   wwkrn64  C (export symbols)       wwkrn64.dll
    Loaded symbol image file: wwkrn64.dll
    Image path: D:\xxx\wwall\wwkrn64.dll
    Image name: wwkrn64.dll
    Browse all global symbols  functions  data
    Timestamp:        Wed Apr 26 10:18:26 2023 (644889F2)
    CheckSum:         00000000
    ImageSize:        000EE000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:

從輸出信息看,果然是一個外來物種,經過網上一頓搜索,發現是一款 信息安全軟件,哪家公司就模糊了哈,截圖如下:

圖片

到這里就真相大白了,讓朋友把這款軟件卸載掉再試試看,問題就解決了。

4. 安全軟件為什么要介入

我這里只能簡單推測一下,ComCallPreStub 和 ComPreStubWorker 方法是 JIT 在編譯某一個方法時的前綴路徑,也是很多 加殼軟件 以及 永恒之藍 這樣的蠕蟲病毒重點關注的方法,所以這些高危方法自然也是 安全軟件 重點監視的,如果 安全軟件 沒處理好,自然就會誤殺。。。

當然真正的原因只能問 系鈴人 。

可能有些朋友要說了,怎么驗證這兩個方法就是 JIT 編譯的前綴,這里我們用 普通方法+windbg 的方法簡單驗證下吧,參考代碼如下:

internal class Program
    {
        static void Main(string[] args)
        {
            Debugger.Break();
            Test();
            Console.ReadLine();
        }

        static void Test()
        {
            Console.WriteLine("Test1");
        }
    }

接下來我們重點觀察下 Test 方法的編譯過程,看過程之前先上一張架構圖:

圖片

從架構圖看 Test() 方法的編譯最終是由 clrjit!jitNativeCode 來處理的,要想驗證很簡單用 bp clrjit!jitNativeCode 下一個斷點即可。

0:000> bp clrjit!jitNativeCode
0:000> g
Breakpoint 0 hit
clrjit!jitNativeCode:
00007ffb`590cc040 4c894c2420      mov     qword ptr [rsp+20h],r9 ss:0000009c`5efed218=0000000000000000
0:000> k
 # Child-SP          RetAddr               Call Site
00 0000009c`5efed1f8 00007ffb`5917d683     clrjit!jitNativeCode [D:\a\_work\1\s\src\coreclr\jit\compiler.cpp @ 6941] 
01 0000009c`5efed200 00007ffb`594d3091     clrjit!CILJit::compileMethod+0x83 [D:\a\_work\1\s\src\coreclr\jit\ee_il_dll.cpp @ 279] 
02 (Inline Function) --------`--------     coreclr!invokeCompileMethodHelper+0x86 [D:\a\_work\1\s\src\coreclr\vm\jitinterface.cpp @ 12774] 
03 (Inline Function) --------`--------     coreclr!invokeCompileMethod+0xc5 [D:\a\_work\1\s\src\coreclr\vm\jitinterface.cpp @ 12839] 
04 0000009c`5efed270 00007ffb`594d274d     coreclr!UnsafeJitFunction+0x7f1 [D:\a\_work\1\s\src\coreclr\vm\jitinterface.cpp @ 13355] 
05 0000009c`5efed760 00007ffb`594d22ce     coreclr!MethodDesc::JitCompileCodeLocked+0x1f1 [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 1051] 
06 0000009c`5efed930 00007ffb`59472009     coreclr!MethodDesc::JitCompileCodeLockedEventWrapper+0x466 [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 920] 
07 0000009c`5efeda90 00007ffb`59473f58     coreclr!MethodDesc::JitCompileCode+0x2a9 [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 860] 
08 (Inline Function) --------`--------     coreclr!MethodDesc::PrepareILBasedCode+0x5ae [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 439] 
09 (Inline Function) --------`--------     coreclr!MethodDesc::PrepareCode+0x5ae [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 332] 
0a 0000009c`5efedb40 00007ffb`5947340c     coreclr!CodeVersionManager::PublishVersionableCodeIfNecessary+0x7f8 [D:\a\_work\1\s\src\coreclr\vm\codeversion.cpp @ 1701] 
0b 0000009c`5efee070 00007ffb`5947316b     coreclr!MethodDesc::DoPrestub+0x16c [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 2215] 
0c 0000009c`5efee190 00007ffb`595abec5     coreclr!PreStubWorker+0x21b [D:\a\_work\1\s\src\coreclr\vm\prestub.cpp @ 2039] 
0d 0000009c`5efee320 00007ffa`f9a0296e     coreclr!ThePreStub+0x55
0e 0000009c`5efee3d0 00007ffb`595aae93     Example_19_1_1!Example_19_1_1.Program.Main+0x2e [D:\skyfly\19.20230624\src\Example\Example_19_1_1\Program.cs @ 10] 
...

如果想在 jitNativeCode 方法中把 md 提取出來的話,可以取 r9 參數。

0:000> !dumpmd poi(r9)
Method Name:          Example_19_1_1.Program.Test()
Class:                00007ffaf9abd520
MethodTable:          00007ffaf9ac8880
mdToken:              0000000006000006
Module:               00007ffaf9ac6908
IsJitted:             no
Current CodeAddr:     ffffffffffffffff
Version History:
  ILCodeVersion:      0000000000000000
  ReJIT ID:           0
  IL Addr:            000001f865be20a7
     CodeAddr:           0000000000000000  (MinOptJitted)
     NativeCodeVersion:  0000000000000000

三:總結

這次崩潰事故的直接原因是由于第三方安全軟件的介入導致的,因 ComPreStubWorker 是加殼程序和蠕蟲病毒注入的突破口,不管怎樣還是希望安全軟件對高危函數 ComPreStubWorker 的照護邏輯再優化下吧,減少誤殺的發生。

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2023-03-26 20:24:50

ERP網站系統

2024-12-27 13:31:18

.NETdump調試

2024-03-28 12:56:36

2024-07-12 11:20:34

.NET崩潰視覺程序

2024-03-26 00:44:53

.NETCIM系統

2024-05-31 12:56:06

.NET代碼方法

2024-07-09 11:51:20

Windows線程池源碼

2022-10-25 14:17:01

.NET代碼程序

2025-10-29 01:11:00

.NET系統windows

2023-06-29 17:55:00

.NET日志WinDbg

2024-06-13 17:09:55

2024-06-04 10:54:34

.NET代碼程序

2022-10-13 18:40:05

.NETOA后端

2023-07-06 10:11:38

.NET模式dump

2025-09-05 02:22:00

.NETCRM物流行業

2022-10-24 07:48:37

.NETCPUGC

2023-04-06 10:52:18

2024-08-27 13:08:50

2024-05-20 09:39:02

.NETurl線程池

2023-09-27 07:23:10

.NET監控軟件
點贊
收藏

51CTO技術棧公眾號

av免费在线播放网站| 国产精品裸体一区二区三区| 能直接看的av| 成人在线视频区| 亚洲国产成人高清精品| 色中色综合成人| www.成人精品| 日本大胆欧美人术艺术动态| 欧美激情成人在线视频| 三区四区在线观看| 粉嫩久久久久久久极品| 欧美亚洲动漫另类| 免费拍拍拍网站| 免费观看成人高潮| 久久蜜桃av一区精品变态类天堂 | 成人在线视频国产| 欧美视频在线视频| 国产精品啪啪啪视频| 毛片免费在线观看| 成人激情视频网站| 成人免费观看a| 无码无套少妇毛多18pxxxx| 欧美日韩ab| 日韩一区二区三区xxxx| 欧美做受喷浆在线观看| 视频二区欧美| 欧美久久久久免费| 日韩中文字幕免费在线| 9999精品成人免费毛片在线看| 国产精品久久久久久久第一福利 | 中文字幕久久久久久久| av在线播放一区| 欧美性xxxxxxx| 精品视频在线观看一区二区| 男人的天堂在线视频免费观看| 2023国产精品自拍| 精品999在线观看| 亚洲精品网站在线| 国产成人免费视频网站| 91免费在线视频| ,一级淫片a看免费| 日本午夜精品一区二区三区电影| 欧美专区福利在线| 国产无遮挡aaa片爽爽| 欧美日一区二区在线观看| 久久视频在线播放| 色哟哟一一国产精品| 日韩成人综合| 日韩有码视频在线| 国产精品久久国产精麻豆96堂| 国产一区二区三区电影在线观看 | 99porn视频在线| 国产青青草视频| 国产精品资源在线看| 成人a免费视频| 97在线播放免费观看| 久久66热re国产| 国产在线高清精品| 国产熟女一区二区三区五月婷| 极品销魂美女一区二区三区| 国产在线拍偷自揄拍精品| 亚洲天堂久久久久| 国产精品自在在线| 国产成人精品日本亚洲11| 蜜桃视频在线观看www| 成人一区二区三区视频在线观看| 国产91色在线|亚洲| 香蕉国产在线视频| 久久精品亚洲精品国产欧美kt∨| 婷婷久久青草热一区二区 | 日本高清视频www| 国产欧美激情| 日韩亚洲欧美综合| www.成人黄色| 中文字幕av一区二区三区四区| 成人av在线播放网站| 91亚洲精品久久久| 欧美一区二区三区黄片| 国语精品一区| 国产一区二区三区丝袜| 少妇一级黄色片| 久久亚洲精品中文字幕蜜潮电影| 欧洲日韩一区二区三区| 亚洲中文字幕无码av永久| 午夜精品久久久久久久第一页按摩| 久久美女性网| 一本色道久久综合狠狠躁篇怎么玩| 视频一区二区视频| 亚洲精品乱码久久久久久不卡| 亚洲va久久| 日韩性xxxx爱| 国产乡下妇女做爰视频| 日本vs亚洲vs韩国一区三区 | 老头吃奶性行交视频| 日韩欧国产精品一区综合无码| 欧美r级电影在线观看| 国产熟妇久久777777| 亚洲五月综合| 日本一本a高清免费不卡| 国产精品一区二区人人爽| 99国产精品久| 一本二本三本亚洲码| 成人爽a毛片免费啪啪| 这里是久久伊人| 一道本在线观看| 国产在线不卡| 国产精品小说在线| 国产成人av免费看| 国产三级精品在线| 免费看黄在线看| 996久久国产精品线观看| 亚洲人成网站色ww在线| 免费一级肉体全黄毛片| 蜜臀a∨国产成人精品| 久久大香伊蕉在人线观看热2| 欧美jizzhd69巨大| 色国产综合视频| 中文字幕在线视频播放| 亚洲v在线看| 国产精品69久久| 亚洲日本香蕉视频| 亚洲一区二区三区在线播放| 久久久精品高清| 欧美中文一区二区| 51久久精品夜色国产麻豆| 亚洲国产精品久久久久久久| 国产精品第一页第二页第三页| 北条麻妃在线一区| 羞羞色国产精品网站| 久久久视频免费观看| av加勒比在线| 日韩美女视频一区二区 | 高潮精品一区videoshd| 亚洲三区在线| 亚洲精品555| 一区二区三区精品99久久 | 麻豆精品在线视频| 色狠狠久久av五月综合| 美女100%一区| 国产一区二区三区欧美| 免费的毛片视频| 久久夜色精品国产欧美乱极品| 黄色成人在线看| 国产另类在线| 97精品国产97久久久久久春色| 亚洲精品一区二区三区区别| 一区二区三区 在线观看视频| 亚洲三级在线视频| 欧美日韩国产高清| 国产精品大全| 蜜桃av在线| 日韩的一区二区| 国产免费av一区| 久久久99久久精品欧美| 91激情视频在线| 青青草综合网| 91精品久久久久久| 51xtv成人影院| 精品久久久久久久久久久久久久久久久 | 精品久久久在线观看| jizz日本免费| 日韩国产在线一| 一区二区在线观看网站| 国产亚洲高清一区| 久久久久久97| 免费在线观看污视频| 欧美自拍偷拍一区| 在线观看黄网址| 国产91丝袜在线播放九色| 日韩中文字幕在线免费| 激情五月综合网| 91欧美激情另类亚洲| 麻豆mv在线看| 在线观看日韩专区| 精品人妻伦一二三区久久| 亚洲图片欧美色图| 日本少妇xxxxx| 精品无码三级在线观看视频| 人妻无码久久一区二区三区免费| 曰本一区二区三区视频| 91精品免费视频| 91丝袜在线| 在线观看日韩视频| 成人午夜视频一区二区播放| 色香色香欲天天天影视综合网| 蜜桃av.com| 9i在线看片成人免费| 亚洲天堂av线| 国产一区二区三区四区老人| 欧美一区亚洲二区| 日本综合精品一区| 国产成人拍精品视频午夜网站| 2020国产在线视频| 亚洲女在线观看| 亚洲av无码乱码国产精品久久| 色婷婷国产精品综合在线观看| 久久久久久久久久网站| 久久综合精品国产一区二区三区| 欧美国产在线一区| 亚洲国产精品欧美久久 | 国产喷水在线观看| 成人18视频日本| 潘金莲激情呻吟欲求不满视频| 亚洲黄色免费| 一级日韩一区在线观看| 天天久久夜夜| 99re热精品| 日本亚洲欧洲无免费码在线| 欧美怡春院一区二区三区| 中日韩高清电影网| 最近2019中文免费高清视频观看www99| 高清一区二区三区四区| 欧美日韩高清一区| 国产黄网在线观看| 欧美日韩国产区| 日韩一级片av| 国产精品麻豆久久久| 中文字幕丰满乱子伦无码专区| 国产精一区二区三区| 黄色一级片免费的| 日韩精品国产精品| 国产精品免费入口| 欧美特黄一区| 日本一区二区三区四区五区六区| 波多野结衣在线观看一区二区| 精品国产_亚洲人成在线| 亚洲精品一区二区三区中文字幕| 国产精品私拍pans大尺度在线 | 91久久久久久久久久久久久| 怡红院成人在线| 欧亚精品中文字幕| 欧美男男激情videos| 亚洲91av视频| 6699嫩草久久久精品影院| 久久99精品视频一区97| 黄色网址在线免费| 久久精品国产视频| 免费观看在线午夜影视| 日韩中文字幕网站| 麻豆影视在线观看_| 色一区av在线| 久久黄色美女电影| 久久精品成人欧美大片| 香蕉视频国产在线观看| 最近免费中文字幕视频2019| 国产福利在线看| 国产一区二区动漫| 国产视频精选在线| 一区二区三区在线播放欧美| 国产福利在线视频| 中文字幕亚洲欧美| 拍真实国产伦偷精品| 久久网福利资源网站| 高h视频在线观看| 欧美日韩国产第一页| 国产蜜臀一区二区打屁股调教| 午夜精品一区二区三区在线视 | 欧美日韩一区二区电影| 国产一区二区在线视频聊天| 欧美一区二区在线免费观看| 成人av一区二区三区在线观看| 精品成人佐山爱一区二区| 日本成人动漫在线观看| 亚洲欧美日本精品| 亚洲搞黄视频| 久久91亚洲人成电影网站| 美足av综合网| 欧美怡春院一区二区三区| 蜜桃精品在线| 91性高湖久久久久久久久_久久99| 91亚洲无吗| 蜜桃传媒一区二区| 久久免费大视频| 成人免费a级片| 国产精品久久久久久模特| 毛葺葺老太做受视频| 久久99蜜桃精品| 欧美日韩人妻精品一区在线| 久久久蜜桃精品| 黑人操日本美女| 午夜电影一区二区| 亚洲午夜无码久久久久| 欧美成人福利视频| 欧美日本韩国一区二区| 久久精品亚洲94久久精品| 91福利在线尤物| 国产区精品在线观看| 国产伦理久久久久久妇女| 日韩一本精品| 伊人影院久久| 欧美第一页浮力影院| 国产成人av电影在线播放| 日韩人妻一区二区三区| 自拍偷在线精品自拍偷无码专区| 色网站在线播放| 欧美精品三级在线观看| 午夜视频在线免费播放| 日韩中文字幕免费看| 中文字幕人成乱码在线观看| 亚洲曰本av电影| 国产伦精品一区二区三区视频 | 国产wwwwxxxx| 精品女同一区二区三区在线播放| 一区二区三区黄| 亚洲毛片在线看| 国产在线xxx| 成人免费福利视频| 精品美女久久久| 国产无限制自拍| 国产一区二区三区四| 亚洲最大成人综合网| 亚洲成va人在线观看| 国产男男gay网站| 在线看日韩av| 天堂av在线网| www.成人av| 亚洲欧洲日韩| 亚洲精品性视频| 国产欧美一区二区三区鸳鸯浴| 日韩污视频在线观看| 日韩欧美久久久| 成人黄色网址| 国产欧美va欧美va香蕉在| 国产尤物久久久| 亚洲精品中文字幕无码蜜桃| 99热在这里有精品免费| 久久久久久久久久91| 欧美一级二级在线观看| 最新av网站在线观看 | 一本大道熟女人妻中文字幕在线| 国产不卡在线播放| 九九热国产精品视频| 欧美一级生活片| а天堂中文在线官网| 成人激情av在线| 色爱综合网欧美| www.se五月| 成人欧美一区二区三区黑人麻豆 | 一区二区三区四区五区| 欧美日韩精品一区视频| 在线观看的av| 国产欧美婷婷中文| 午夜激情久久| 精产国品一区二区三区| 一区二区三区在线不卡| а√中文在线资源库| 久久久久久久久久久人体| 欧洲精品99毛片免费高清观看| 天天综合五月天| 丁香五精品蜜臀久久久久99网站 | 成人午夜在线影视| 亚洲最大福利网| 亚洲国产黄色| www.超碰97| 色网站国产精品| yw视频在线观看| 91情侣偷在线精品国产| 中文字幕一区二区精品区| 扒开伸进免费视频| 欧美日韩性生活视频| 国产小视频在线观看| 国产精品中文字幕久久久| 欧美电影《睫毛膏》| 欧美人与性动交α欧美精品| 亚洲成av人片在www色猫咪| 日本又骚又刺激的视频在线观看| 欧洲s码亚洲m码精品一区| 色婷婷色综合| 日本黄色大片在线观看| 欧美日韩亚洲国产一区| 成人福利在线| 波多野结衣一区二区三区在线观看| 日韩一区二区久久| 性猛交娇小69hd| 日韩欧美亚洲另类制服综合在线| 国产污视频在线播放| 色爱区成人综合网| 国产伦精品一区二区三区免费迷 | 久久久久久久久久91| 亚洲欧美国产精品久久久久久久 | 国产精品99久久久| 国产三级av片| 最近2019中文字幕大全第二页| 6080亚洲理论片在线观看| 成人性视频欧美一区二区三区| 亚洲人精品午夜| 激情小视频在线| 91gao视频| 三级久久三级久久| 久草资源在线视频| 国产一区二区三区中文| 免费观看亚洲视频大全| 欧美日韩国产精品激情在线播放| ㊣最新国产の精品bt伙计久久| 日本福利片高清在线观看| 91免费的视频在线播放| 视频一区二区不卡| 国产在线一区视频| 少妇精69xxtheporn| 久久a爱视频|