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

基于快照的 Fuzz 工具 Wtf 的基礎使用

安全 應用安全
在日常的 fuzz 的工作中,通常我們都需要先大致分析目標軟件,然后對其輸入點構造 harness,才可以使用工具對 harness 進行 fuzz,從而發現目標軟件的潛在漏洞。

前言

wtf (https://github.com/0vercl0k/wtf</https://github.com/0vercl0k/wtf>) 是一種分布式、代碼覆蓋引導、可定制、基于快照的跨平臺模糊器,設計用于 fuzz 在 Microsoft Windows 平臺上運行的用戶模式或內核模式的目標。

在日常的 fuzz 的工作中,通常我們都需要先大致分析目標軟件,然后對其輸入點構造 harness,才可以使用工具對 harness 進行 fuzz,從而發現目標軟件的潛在漏洞。構造 harness 不是一件容易的事情,這取決于安全研究人員分析解構目標軟件的程度,除此之外,在部分軟件中,只有進行完整的、復雜的初始化操作和預設,才能保證 harness 調用的輸入點函數能夠正常運行。

針對這一問題,基于快照的 fuzz 工具 wtf 吸引了我的注意;我們可以對正常運行的目標軟件打下內存快照,然后對該內存快照進行 fuzz,這種方式可以不必編寫 harness,并在一定程度上減少分析目標軟件的成本。

本文從基于快照這一個特性出發,介紹 wtf 工具的基礎使用和注意事項。

本文實驗環境:

Windows 10 x64 專業版
Visual Studio 2019
WinDBG
ProxmoxVE 7.2-3

1. wtf概要

在 github 上可以訪問 wtf 的源碼和 README(https://github.com/0vercl0k/wtf):

imageimage

作者提供了 4 篇使用 wtf 進行 fuzz 的實操文章:

  • Building a new snapshot fuzzer & fuzzing IDA
  • Fuzzing Modern UDP Game Protocols With Snapshot-based Fuzzers
  • Fuzzing RDPEGFX with "what the fuzz"
  • A Journey to Network Protocol Fuzzing – Dissecting Microsoft IMAP Client Protocol

其中第一篇針對 IDA 的 fuzz,也是作者開發 wtf 的初衷,其中講訴了 wtf 的開發歷程并介紹了 wtf 的實現原理。

通過以上文章,了解到使用 wtf 進行 fuzz 可以大致分為 3 個步驟:

1. 遠程調試目標程序,并在合適的位置打下系統內存快照
2. 為內存快照編寫 wtf 的 fuzz 模塊/插件(也稱為 harness)
3. 編譯并啟動 wtf 進行 fuzz

為了方便下文敘述,這里先介紹如何源碼編譯 wtf。wtf 使用 ninja 進行構建,首先我們下載 ninja(https://ninja-build.org/</https://ninja-build.org/>) 并添加到環境變量PATH中,隨后從 github 下載 wtf 源碼,打開 Visual Studio 的 x64 位開發者命令行工具(vs2019:x64 Native Tools Command Prompt for VS 2019):

# 進入 wtf 的 build 目錄
$ cd C:\Users\john\Desktop\wtf-0.4\src\build
# 執行 bat 腳本
$ .\build-release.bat

執行如下:

imageimage

編譯成功后,會在build目錄下生成wtf.exe文件,該二進制文件將支撐我們全部的 fuzz 流程。

2. fuzz hevd

wtf 提供了完整的測試用例 hevd / tlv_server,能夠幫助我們快速上手 wtf,這里我們以 hevd 為例進行介紹;hevd(HackSys Extreme Vulnerable Windows Driver)是 Windows 內核驅動漏洞靶場(https://github.com/hacksysteam/HackSysExtremeVulnerableDriver</https://github.com/hacksysteam/HackSysExtremeVulnerableDriver>),以幫助安全研究員學習漏洞原理。

首先第一步是創建 hevd 運行時的系統內存快照,作者已經提供好了 https://github.com/0vercl0k/wtf/releases/download/v0.4/target-hevd.7z</https://github.com/0vercl0k/wtf/releases/download/v0.4/target-hevd.7z>,下載解壓后如下:

imageimage

第二步是編寫 hevd 的 wtf fuzz 模塊/插件,其插件代碼屬于 wtf 源碼的一部分,在其中需要定義如何對快照進行初始化,如何向快照注入測試用例等操作,同樣作者也提供了 https://github.com/0vercl0k/wtf/blob/main/src/wtf/fuzzer_hevd.cc</https://github.com/0vercl0k/wtf/blob/main/src/wtf/fuzzer_hevd.cc>,如下:

imageimage

通過build-release.bat重新編譯 wtf 以添加 hevd 插件,target-hevd已經準備好了工作目錄,如下:

$ tree target-hevd
target-hevd
├── inputs          輸入/測試用例/樣本種子文件
├── outputs         輸出/wtf發現的可產生不同的路徑的測試用例
├── coverage        覆蓋率文件夾
├── crashes         保存觸發 crash 的測試用例
└── state           快照文件夾,包含內存dump(`mem.dmp`)和CPU狀態`regs.json`

$ hexdump -C target-hevd/inputs/ioctl.bin 
00000000  3b 20 22 00                                       |; ".|
00000004

隨后便可以使用wtf.exe進行 fuzz,wtf 的 fuzz 分為 server 節點和 fuzz 節點,服務器節點負責聚合代碼覆蓋率、語料庫,生成測試用例并將其分發給客戶端,fuzz 節點運行由服務器生成和分發的測試用例,并將結果傳回服務器(代碼覆蓋率/結果等)。

$ cd C:\Users\john\Desktop\wtf-0.4\src\build
# 首先啟動 server 節點
# master 指定為 server 節點
# --name 指定插件模塊為 hevd
# --max_len 設置最大測試用例長度
# --runs 設置生成測試用例的個數
# --target 設置工作目錄
$ .\wtf.exe master --name hevd --max_len=1028 --runs=10000000 --target C:\Users\john\Desktop\target-hevd
# 再啟動一個 fuzz 節點
# fuzz 指定為 fuzz 節點
# --backend 指定執行后端為 bochscpu(還支持 whv/kvm)
$ .\wtf.exe fuzz --name hevd --backend=bochscpu --target C:\Users\john\Desktop\target-hevd

執行如下:

imageimage

運行一段時間后我們將收獲 crash,本文這里不進行擴展分析。

3. demo程序

target-hevd示例能夠讓我們快速的上手 wtf,現在我們提供個 demo 程序以便完整的學習 wtf 的基本使用,編寫 demo 程序如下:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

__declspec(dllexport) int fuzzme(char* data);

char* argv_0 = NULL;

int __declspec(noinline) fuzzme(char* data) {
	unsigned int len = strlen(data);

	if (!(len > 0 && data[0] == 't')) {
		printf("Error 0\n");
		return 0;
	}
	if (!(len > 1 && data[1] == 'e')) {
		printf("Error 1\n");
		return 0;
	}
	if (!(len > 2 && data[2] == 's')) {
		printf("Error 2\n");
		return 0;
	}
	if (!(len > 3 && data[3] == 't')) {
		printf("Error 3\n");
		return 0;
	}

	//
	printf("!!!!!!!!!!OK!!!!!!!!!!\n");

	char* crash = NULL;
	if (len > 4 && data[4] == '1') {
		crash[0] = NULL;
	} else if (len > 4 && data[4] == '2') {
		char buffer[5] = { 0 };
		// stack-based overflow to trigger the GS cookie corruption
		for (int i = 0; i < 5; ++i) {
			strcat(buffer, argv_0);
		}
		printf("buffer: %s\n", buffer);
	}
	else {
		printf("Error 4\n");
	}

	return 0;
}

int main(int argc, char* argv[]) {
	char ready = 0;
	char data[32] = { 0 };

	argv_0 = argv[0];

	printf("ready?\n");
	scanf("%c", &ready);

	printf("input data:\n");
	scanf("%16s", data);
	printf("%s\n", data);
	
	fuzzme(data);

	return 0;
}

在main()函數的起始位置,我們設置了一個ready標志等待用戶輸入一個字符后,再執行真正代碼邏輯,這樣可以方便我們后續調試該程序進行快照操作;隨后 demo 程序接收用戶輸入的字符串,將該字符串傳入核心函數fuzzme()進行處理,在該函數中將逐字節檢查用戶輸入是否等于test,滿足條件后若第 5 個字節為1,則手動觸發空指針訪問異常,若第 5 個字節為2,則手動觸發 GS cookie 異常,其他則調用printf()輸出。

我們將該 demo 程序編譯為wtf_test.exe,接下來的目標則是使用 wtf 對該二進制程序的fuzzme()函數進行 fuzz,找到其中的兩個異常錯誤;同樣按照上文的三大步進行。

4. 內存快照

首先我們需要搭建雙機調試環境來獲取二進制運行時的內存快照,官方推薦使用 hyper-v 虛擬機作為執行環境,我這里使用 ProxmoxVE 虛擬機環境也一樣;運行的虛擬機(debuggee)使用 1C4G 的配置,調試主機(debugger)的環境不做要求,需要注意一點,由于打內存快照涉及到大量的數據通信,雙機調試一定要使用網絡調試進行,實驗環境搭建如下:

imageimage

在debuggee上使用命令開啟 powershell 配置網絡雙機調試如下:

# 開啟 debug
$ bcdedit /debug on
# 設置網絡調試參數
# 設置 debugger 的 ip 地址為 10.0.25.191
# 設置被調試機的端口為 50000
# 設置被調試機的連接密碼為 p.a.s.s
$ bcdedit /dbgsettings NET HOSTIP:10.0.25.191 PORT:50000 KEY:p.a.s.s
# 查看調試配置
$ bcdedit /dbgsettings

除此之外,我們還需要關閉 Windows 的 KVA(Kernel Virtual Address) shadow 功能,否則 wtf 執行快照時將出現內存分頁錯誤的問題,可以使用作者提供的腳本(https://github.com/0vercl0k/wtf/blob/main/scripts/disable-kva.cmd</https://github.com/0vercl0k/wtf/blob/main/scripts/disable-kva.cmd>)進行關閉:

REM To disable mitigations for CVE-2017-5715 (Spectre Variant 2) and CVE-2017-5754 (Meltdown)
REM https://support.microsoft.com/en-us/help/4072698/windows-server-speculative-execution-side-channel-vulnerabilities
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

如果關閉 KVA shadow 后若還出現內存分頁錯誤,可嘗試使用 https://github.com/0vercl0k/lockmem</https://github.com/0vercl0k/lockmem> 對內存進行鎖定再進行快照。

隨后使用debugger使用 WinDBG 網絡調試連接debuggee,隨后在debuggee上執行wtf_test.exe程序,在 WinDBG 中進入目標進程空間如下:

imageimage

此時,我們需要選擇一個「合適」的內存快照位置,因為 wtf 將會以該快照作為起始運行狀態,在wtf_test.exe中,我們的目標函數是fuzzme(),所以我們在fuzzme()函數入口打下斷點,并在wtf_test.exe程序中分別輸入g和1234以運行到斷點處,如下:

imageimage

隨后我們使用 WinDBG 的插件 bdump (https://github.com/yrp604/bdump</https://github.com/yrp604/bdump>)對此刻的運行狀態進行快照:

# 加載 bdump.js 腳本
kd> .scriptload C:\Users\john\Desktop\bdump\bdump.js
# 打下內存快照,保存在 state 文件夾中
kd> !bdump_active_kernel "C:\\Users\\john\\Desktop\\state"

執行如下:

imageimage

在本文的實驗環境下,打內存快照大約需要 40 min。

5. 編寫wtf插件

隨后我們為 demo 程序編寫 wtf 的插件,我們可以以 https://github.com/0vercl0k/wtf/blob/main/src/wtf/fuzzer_hevd.cc作為模板進行改寫。

插件主要需要實現Init()和InsertTestcase()兩個函數,wtf 加載內存快照后,將停留在我們打下斷點/打下快照的位置,然后首先調用一次插件的Init()函數,在該函數中一般定義了:1.快照運行到何處停止、2.如何處理異常錯誤、3.如何處理IO 等操作,完成初始化操作后,隨后將在每次執行快照前,調用InsertTestcase()函數注入測試用例。

編寫 demo 的 wtf 插件如下:

#include "backend.h"
#include "targets.h"
#include "crash_detection_umode.h"
#include <fmt/format.h>

namespace Demo {

bool InsertTestcase(const uint8_t *Buffer, const size_t BufferSize) {
    // "int fuzzme(char* data)" => data == Rcx
    const Gva_t data = Gva_t(g_Backend->Rcx());
    if (!g_Backend->VirtWriteDirty(data, Buffer, BufferSize)) {
        fmt::print("VirtWriteDirty failed\n");
        return false;
    }

    return true;
}

bool Init(const Options_t &Opts, const CpuState_t &) {
    // Stop the test-case once we return back from the call [fuzzme]
    const Gva_t Rsp = Gva_t(g_Backend->Rsp());
    const Gva_t ReturnAddress = Gva_t(g_Backend->VirtRead8(Rsp));
    if (!g_Backend->SetBreakpoint(ReturnAddress, [](Backend_t *Backend) {
            fmt::print("Back from kernel!\n");
            Backend->Stop(Ok_t());
        })) {
        fmt::print("Failed to SetBreakpoint ReturnAddress\n");
        return false;
    }

    // setup usermode crash/exception detection hooks
    if (!SetupUsermodeCrashDetectionHooks()) {
        fmt::print("Failed to SetupUsermodeCrashDetectionHooks\n");
        return false;
    }

    // patch "printf" to stdio
    if (!g_Backend->SetBreakpoint("printf", [](Backend_t *Backend) {
            const Gva_t StrPtr = Backend->GetArgGva(0);
            const std::string &str = Backend->VirtReadString(StrPtr);
            fmt::print("Demo: {}", str);
            Backend->SimulateReturnFromFunction(0);
        })) {
        fmt::print("Failed to SetBreakpoint printf\n");
        return false;
    }

    return true;
}

// Register the target.
Target_t Demo("demo", Init, InsertTestcase);

} // namespace Demo

需要注意的是,由于快照不具備 IO 訪問能力,發生 IO 操作時 wtf 無法正確處理,所以我們應該盡量選擇一個「合適」的快照點;對于無法避免的 IO 操作,我們可以采用 patch 的方式修改邏輯,如 demo 程序中的printf()函數調用,我們在Init()中進行 patch,不會執行真正的printf()功能。

通過build-release.bat重新編譯 wtf 以添加 demo 插件。

6. fuzz demo

首先我們準備好工作目錄如下,其中state目錄就是我們上文打下的內存快照:

$ tree workdir
workdir
├── inputs
├── outputs
├── coverage
├── crashes
└── state

$ cat workdir/inputs/1.txt
1234

在進行 fuzz 之前,我們先使用 wtf 的run子命令,檢查內存快照和插件是否正確運行:

$ cd C:\Users\john\Desktop\wtf-0.4\src\build
# 指定為 run 子命令
# --name 指定插件模塊為 demo
# --state 指定內存快照文件夾
# --backend 指定執行后端為 bochscpu
# --input 指定輸入文件
$ .\wtf.exe run --name demo --state C:\Users\john\Desktop\workdir\state\ --backend=bochscpu --input C:\Users\john\Desktop\workdir\inputs\1.txt

執行如下:

imageimage

如果不能按預期執行,可以使用run命令生成路徑覆蓋,隨后根據執行路徑分析問題,下文我們將介紹在 wtf 如何獲取路徑覆蓋。

隨后我們便可以對其進行 fuzz:

$ cd C:\Users\john\Desktop\wtf-0.4\src\build
# 啟動 server 節點
$ .\wtf.exe master --name demo --max_len=6 --runs=10000000 --target C:\Users\john\Desktop\workdir
# 啟動一個 fuzz 節點
$ .\wtf.exe fuzz --name demo --backend=bochscpu --target C:\Users\john\Desktop\workdir

啟動執行 2min 即可獲得 crash 如下:

imageimage

其 crash 文件如下,順序尋找到我們埋在 demo 程序中的兩個異常錯誤:

imageimage

7. 覆蓋率

使用 wtf 的run子命令還可以生成路徑覆蓋,配合 IDA 以及 lighthouse 插件可以幫助我們排查 fuzz 問題和衡量 fuzz 的質量,如下:

$ cd C:\Users\john\Desktop\wtf-0.4\src\build
# 指定為 run 子命令
# --trace-path 設置覆蓋率輸出文件夾
# --trace-type 設置路徑類型為 cov
$ .\wtf.exe run --name demo --state C:\Users\john\Desktop\workdir\state\ --backend=bochscpu --input C:\Users\john\Desktop\workdir\inputs\1.txt --trace-path=C:\Users\john\Desktop\workdir\coverage --trace-type=cov

執行完畢后將在C:\Users\john\Desktop\workdir\coverage下生成1.txt.trace文件,該文件沒有符號化不能直接使用,使用作者提供的工具 symbolizer(https://github.com/0vercl0k/symbolizer</https://github.com/0vercl0k/symbolizer>) 對其進行符號化處理:

$ cd C:\Users\john\Desktop\workdir\coverage

# --input 指定輸入文件
# --crash-dump 指定內存快照文件
# -o 設置輸出文件
# --style 指定符號化類型
$ C:\Users\john\Desktop\symbolizer\symbolizer.exe --input .\1.txt.trace --crash-dump C:\Users\john\Desktop\workdir\state\mem.dmp -o cov.txt --style modoff

執行完畢后,將在指定目錄下生成符號化的路徑覆蓋文件cov.txt,如下:

imageimage

隨后在 IDA 中加載wtf_test.exe文件,并使用 lighthouse 插件加載覆蓋率文件如下:

imageimage

8. References

[1]https://github.com/0vercl0k/wtf

[2]https://github.com/0vercl0k/wtf/issues/14

[3]https://github.com/0vercl0k/lockmem[4]https://github.com/0vercl0k/symbolizer

[5]https://github.com/yrp604/bdump

[6]https://msrc.microsoft.com/blog/2018/03/kva-shadow-mitigating-meltdown-on-windows/

[7]https://blog.ret2.io/2021/07/21/wtf-snapshot-fuzzing/

責任編輯:武曉燕 來源: ?FreeBuf.COM
相關推薦

2016-12-05 15:48:37

2023-07-11 08:30:56

2009-08-18 22:15:38

VMware快照改進方

2010-03-08 13:07:07

NFSVMware數據保護

2017-01-11 22:41:05

2017-10-18 19:44:20

數據庫DatasetSQLAlchemy

2018-12-11 10:55:00

SQLFuzzWEB安全

2013-03-05 10:28:36

大數據流媒體公司

2010-07-14 17:32:53

SQL Server

2015-05-28 10:34:16

TCPsocket

2023-11-15 13:20:14

Python圖像分割

2023-04-18 08:00:00

2016-03-25 10:21:22

androidIntentServi代碼

2017-05-03 11:57:37

LinuxGnome-scree GNOME工具

2010-04-01 12:33:37

Oracle repo

2011-05-24 10:24:29

創建與使用VMware

2015-07-27 11:13:41

MySQLMySQL安全數據庫安全

2014-05-12 16:40:13

Linux命令快照

2011-03-07 13:34:33

FileZilla上傳工具

2010-06-04 18:24:37

Linux uml工具
點贊
收藏

51CTO技術棧公眾號

天堂av在线免费| 91久久久久久久久久久久久久| 国产在线视频在线观看| 99精品中文字幕在线不卡 | 欧美日韩卡一卡二| 佐佐木明希av| 久蕉在线视频| 国产一区欧美日韩| 欧美亚洲国产视频小说| 福利视频第一页| 男人的天堂久久| 亚洲国产高清在线观看视频| 91夜夜未满十八勿入爽爽影院 | 91大神在线网站| 国产精品中文字幕欧美| 日韩暖暖在线视频| 欧美精品色哟哟| 精品一区电影| 亚洲国产日韩精品在线| 在线观看日韩羞羞视频| 欧美精品韩国精品| 亚洲精品久久| 亚洲毛片在线观看.| 国产高清av片| 先锋欧美三级| 香蕉乱码成人久久天堂爱免费| 51成人做爰www免费看网站| 成人h动漫精品一区| 亚洲a成人v| 一本一道久久a久久精品| 4444在线观看| 91片黄在线观看喷潮| 亚洲国产第一| 欧美精品一区二区免费| av中文字幕网址| h片精品在线观看| 国产69精品久久99不卡| 精品中文字幕乱| 一级片久久久久| 亚洲精品蜜桃乱晃| 亚洲国产成人爱av在线播放| 在线免费黄色小视频| 国产精品高潮久久| 91福利资源站| 成人免费观看视频在线观看| 98色花堂精品视频在线观看 | 麻豆影视在线播放| 99精品视频在线观看免费播放| 日韩欧美中文字幕公布| av视屏在线播放| 欧美xx视频| 欧美性xxxxx极品娇小| 成人一区二区免费视频| 国产啊啊啊视频在线观看| 一区二区三区精品在线观看| 日韩精品第1页| 超碰人人在线| 亚洲乱码一区二区三区在线观看| 在线观看成人av电影| 触手亚洲一区二区三区| 国产欧美综合在线观看第十页 | 一级黄色免费毛片| 成人短视频软件网站大全app| 欧美男女性生活在线直播观看| 一级片视频免费观看| 日韩一级二级| 欧美日韩精品一区视频| 天天色天天综合网| 国产精品一站二站| 日韩视频不卡中文| 人妻精油按摩bd高清中文字幕| 无人区乱码一区二区三区| 日韩午夜精品视频| 中国特级黄色大片| 日韩精品免费一区二区三区竹菊| 一本一道波多野结衣一区二区| 美女福利视频在线| 欧美色片在线观看| 欧美日韩视频在线观看一区二区三区| 日本天堂免费a| 伊人影院在线视频| 午夜精品久久久久久久| 无码aⅴ精品一区二区三区浪潮 | 天天综合精品| 欧美国产日产韩国视频| 亚洲免费在线观看av| 久久久青草婷婷精品综合日韩| 国产精品久久久久久久天堂 | 91在线三级| 欧美性xxxxx极品| 男生操女生视频在线观看 | 久久久久久久久一区二区| 黄色的视频在线免费观看| 国产精品丝袜91| 欧美视频在线第一页| 亚洲男人av| 欧美精品第1页| 动漫美女无遮挡免费| 天天综合网天天| 欧美日韩激情一区| wwwxx日本| 色综合五月天| 久久久久久综合网天天| 亚洲精品久久久久久久蜜桃| 国产一区二区伦理| 免费久久一级欧美特大黄| 性欧美18一19性猛交| 99re热这里只有精品免费视频| 亚洲精品一区二区毛豆| 日本大臀精品| 国产91精品一区二区麻豆网站| 久久99精品国产一区二区三区| 中文字幕日本在线观看| 亚洲国产精品久久艾草纯爱| 中文字幕永久视频| 二吊插入一穴一区二区| 欧美一区二区网站| 少妇大叫太粗太大爽一区二区| 午夜激情久久| 国产91久久婷婷一区二区| 精品国产免费无码久久久| 久久久影院官网| 亚洲精品天堂成人片av在线播放| 成人国产在线| 亚洲女人被黑人巨大进入al| 久久久综合久久| 久久97超碰国产精品超碰| 欧美大香线蕉线伊人久久国产精品| caopon在线免费视频| 欧美四级电影在线观看| 国产成人无码一区二区在线观看| 欧美日一区二区在线观看 | 91在线观看免费视频| 中国一级大黄大黄大色毛片| 欧美成人毛片| 中文字幕免费国产精品| 精品国产一区二区三区四| 成人国产精品免费观看视频| 毛片av在线播放| 国产精品亚洲一区二区在线观看| 日韩在线观看免费av| 国产情侣免费视频| 免费观看在线色综合| 久久久com| 国产伦子伦对白在线播放观看| 日韩欧美一级二级三级| 老妇女50岁三级| 国产一区二区三区精品视频| 综合视频在线观看| 婷婷精品久久久久久久久久不卡| 最近2019年好看中文字幕视频| 亚洲精品毛片一区二区三区| 国产亚洲精品资源在线26u| 看av免费毛片手机播放| 婷婷五月色综合香五月| 98视频在线噜噜噜国产| 日本亚洲欧美| 色婷婷亚洲综合| 欧美福利第一页| 老司机一区二区| 日本在线视频www色| 韩国三级成人在线| 欧美成人午夜激情在线| 精品国产乱码一区二区三| 亚洲一二三级电影| 国产原创剧情av| 亚洲免费网址| 日韩av一区二区三区在线| 嫩草伊人久久精品少妇av杨幂| 中文字幕欧美日韩va免费视频| 亚洲网站免费观看| 成人免费小视频| 极品人妻一区二区| 国产欧美日韩综合一区在线播放| 欧美人xxxxx| 中韩乱幕日产无线码一区| 日韩中文字幕在线免费观看| 国产三级按摩推拿按摩| 亚洲福利国产精品| 强伦人妻一区二区三区| 久久成人免费网| 国产一区二区三区乱码| 视频一区在线免费看| 日韩在线www| 成人久久精品人妻一区二区三区| 欧美日韩国产综合新一区| 三级一区二区三区| 欧美精品黄色| 欧美国产二区| 日韩午夜视频在线| 国语自产偷拍精品视频偷| 欧美日韩国产亚洲沙发| 欧美精品一卡二卡| 国产精品成人av久久| 国产亚洲欧美中文| av影片在线播放| 视频一区中文字幕| 97av中文字幕| 欧美日韩一区二区三区视频播放| 999精品在线观看| 亚洲伦乱视频| 欧美激情xxxx性bbbb| av在线免费观看网| 亚洲成人a级网| 在线观看黄色国产| 婷婷一区二区三区| 男人与禽猛交狂配| 国产午夜精品美女毛片视频| 初高中福利视频网站| 日本aⅴ免费视频一区二区三区| 欧美在线观看视频免费| 成人网18免费网站| 不卡一卡2卡3卡4卡精品在| 四虎成人在线| 91黑丝高跟在线| 污污的网站在线看| 中文字幕精品网| 日本亚洲欧美| 亚洲国产精品va在线看黑人动漫| 国产女人高潮的av毛片| 色素色在线综合| 久久国产精品系列| 亚洲一区中文日韩| 老熟妇高潮一区二区三区| 久久精品人人做人人爽97| 性色av蜜臀av浪潮av老女人| 国产一区二区三区在线观看精品| 免费观看精品视频| 亚洲人体偷拍| 国产毛片久久久久久国产毛片| 亚洲国产精品久久久久蝴蝶传媒| 日韩欧美一区二区三区久久婷婷| 秋霞综合在线视频| 9a蜜桃久久久久久免费| www.成人在线.com| 国产免费一区二区三区在线观看 | 成人国产精品日本在线| 日韩大片欧美大片| 欧美中文在线观看| 亚洲福利影院| 777精品视频| 久久青草伊人| 97在线免费观看| 国产亚洲成av人片在线观看| 久久全国免费视频| 99在线视频影院| 久久久欧美精品| h片在线观看| 国内揄拍国内精品| 美女航空一级毛片在线播放| 久久久久久一区二区三区 | 欧美hd在线| 亚洲自拍的二区三区| 色男人天堂综合再现| 亚洲欧美日产图| 香蕉久久网站| 最新av网址在线观看| 综合久久久久| 青青在线视频免费观看| 亚洲狼人精品一区二区三区| 成熟丰满熟妇高潮xxxxx视频| 在线亚洲成人| 欧美伦理视频在线观看| 免费观看在线综合| 三级黄色片播放| 成人国产电影网| 无遮挡aaaaa大片免费看| 国产色产综合产在线视频| 国产精品久久免费观看| 国产精品女人毛片| 国产精品日日摸夜夜爽| 成人午夜精品在线| 日韩片在线观看| 国产欧美日韩久久| 我要看黄色一级片| 亚洲成人动漫一区| 日韩精品一区不卡| 欧美日韩国产小视频在线观看| 99热这里只有精品9| 亚洲国产精品成人av| 国产香蕉视频在线看| 日韩视频免费观看| 麻豆蜜桃在线| 国产精品久久久久久久天堂 | 奇米精品一区二区三区四区| 久久久久久久久久一区二区| 成人性视频免费网站| 女人又爽又黄免费女仆| 亚洲视频网在线直播| 国产稀缺真实呦乱在线| 国产精品久久久久一区二区三区共| 婷婷久久综合网| 精品国产户外野外| 中文字幕一二三四| 精品成人一区二区三区四区| 激情综合闲人网| 欧美福利小视频| 国产91欧美| 国产免费一区二区| 成人在线免费观看网站| 成人性生活视频免费看| 奇米色一区二区| 国产精品麻豆入口| 中文字幕五月欧美| 欧美精品二区三区| 欧美久久久一区| 九色在线观看| 欧美精品久久久久久久免费观看| a成人v在线| 国产一区二区无遮挡| 婷婷亚洲综合| 91香蕉视频污版| av成人免费在线观看| 日韩va亚洲va欧美va清高| 91高清在线观看| 亚洲人妻一区二区| 欧美老妇交乱视频| 欧美一级做a| 蜜桃麻豆91| 亚洲高清在线| 小日子的在线观看免费第8集| 国产三级一区二区| 97免费在线观看视频| 日韩久久久久久| 免费在线毛片网站| 国产精品电影一区| 亚洲理论电影| 精品视频在线观看一区| 国产成人免费视| 亚洲AV成人无码精电影在线| 欧洲一区二区三区免费视频| 免费黄色在线视频网站| 91av在线不卡| 日韩激情毛片| 好吊妞无缓冲视频观看| 成人网在线播放| 国产在线视频卡一卡二| 日韩精品一区二区三区三区免费 | 97色伦亚洲国产| 亚洲精品a区| 4444亚洲人成无码网在线观看| 国产专区综合网| 999精品视频在线观看播放| 欧美三级在线播放| 啊v在线视频| 国产精品免费一区二区三区都可以 | 中文字幕一区二区人妻在线不卡| 精品日本美女福利在线观看| 五月婷在线视频| 91精品国产91久久| 久久悠悠精品综合网| 中文字幕制服丝袜在线| 精品写真视频在线观看| 美女又黄又免费的视频| 亚洲少妇30p| 精品久久人妻av中文字幕| 欧美美女15p| 激情亚洲另类图片区小说区| 国产深夜男女无套内射| 久久久亚洲午夜电影| 免费的毛片视频| 中文字幕少妇一区二区三区| 亚洲老司机网| 999久久欧美人妻一区二区| 国产v综合v亚洲欧| 亚洲国产精一区二区三区性色| 亚洲国产成人精品久久| 日本久久免费| 一区在线电影| 国产成人日日夜夜| 日本网站在线免费观看| 精品一区二区三区三区| 黄色精品免费看| 97伦理在线四区| 亚洲激情成人| 精品人妻一区二区三区四区| 欧美丰满少妇xxxbbb| 天天干在线视频论坛| 精品欧美国产| 人人爽香蕉精品| 九九九免费视频| 日韩电影网在线| 日韩成人综合网站| 女人色极品影院| 国产欧美一区二区精品性色| 国产精品无码AV| 91精品国产91久久久| 日韩激情在线| 人妻 日韩 欧美 综合 制服| 在线免费亚洲电影| 自拍亚洲图区| 日本午夜精品一区二区| 国产精品1024| 青青艹在线观看| 欧美激情在线播放| 残酷重口调教一区二区| 黑人玩弄人妻一区二区三区| 欧美日韩一区二区在线观看视频| av资源在线| 亚洲制服中文|