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

CodeQL的自動化代碼審計之路

開發 開發工具
CodeQL(全稱Code Query Language),從其英文名稱中可以看出這是一種基于代碼的查詢語言,其作用主要是通過編寫好的語句查詢代碼中可能存在的安全隱患。學習CodeQL類似于學習一門全新的編程語言,語法類似于SQL,但是比傳統SQL還是要難很多。

0x01 前言

最近關于CodeQL的概念很火,大家普遍認為這會是下一代的代碼審計神器。網上關于CodeQL的文章已經有不少,但是多數文章還是在分析CodeQL的安裝和簡單使用用例。真正使用CodeQL來進行自動化代碼審計的文章較少,本文主要研究基于CodeQL實現全自動的代碼審計工具實現思路,預計文章分成三部分完成,目前是第一部分內容。

CodeQL(全稱Code Query Language),從其英文名稱中可以看出這是一種基于代碼的查詢語言,其作用主要是通過編寫好的語句查詢代碼中可能存在的安全隱患。學習CodeQL類似于學習一門全新的編程語言,語法類似于SQL,但是比傳統SQL還是要難很多。目前CodeQL支持對多種語言,包括java、javascript、go、python、C、Csharp等,但是很遺憾的是不支持“世界上最好的語言”PHP。這大概是因為PHP實在是太靈活了,函數名是字符串變量這種調用方式確實很難從AST語法樹中靜態分析出問題,但這并不能阻礙我們學習CodeQL的興趣。文章所有內容基本上圍繞java語言展開,其他語言操作基本類似。

0x02 環境準備

網上關于CodeQL安裝的文章已經很多了,本來不打算再說這個事情,但是因為本人在CodeQL安裝過程中遇到不兼容mac m1架構的情況,我想還有很多小伙伴也會遇到這個問題的,這里主要以MAC的環境來說明安裝過程。

CodeQL的安裝主要分成引擎和SDK,新建一個目錄CodeQL(~/CodeQL/)來保存后續所有的相關的工具和代碼。

首先下載最新的引擎包,下載地址是:https://github.com/github/codeql-cli-binaries/releases

下載之后解壓把codeql文件夾放在剛才新建的文件夾CodeQL中,添加環境變量。

vim ~/.profile

export PATH=/Users/用戶名/CodeQL/codeql:${PATH}

使用source命令是環境變量生效,然后命令行中運行codeql,如圖2.1所示。

圖2.1 CodeQL引擎安裝

然后需要下載CodeQL對應的sdk包,下載地址是:

https://github.com/Semmle/ql

下載之后也需要把ql文件夾復制到~/CodeQL文件夾中。

在CodeQL文件夾中新建databases文件夾,用于存放后續使用codeql生成的數據庫,那么一切準備好了之后我們的CodeQL目錄之下就會是三個文件夾,如圖2.2所示。

圖2.2 CodeQL安裝

后續我們就可以使用codeql database create命令來創建查詢數據庫,命令如下所示。

codeql database create /Users/xxx/CodeQL/databases/project_db_name --language=java --source-root=/Users/xxx/cms/project_path --overwrite

在windows環境中和以前的mac環境中確實沒有問題,但是如果是在m1的環境中會報錯,報錯信息如圖2.3所示。錯誤的原因是codeql官方提供的工具是x86架構的,不能直接在arm中使用。

圖2.3 在MAC M1環境中codeql運行錯誤

從官網中找到了codeql對m1的支持情況,如圖2.4所示。從圖中可以明確看出codeql確實是支持m1架構的,但是需要依賴rosetta2和xcode。但是并沒有給出具體的安裝和使用步驟,必須吐槽官方一點也不人性化,說話說一半。

圖2.4 CodeQL支持M1架構

后來慢慢摸索著裝xcode和rosetta2,安裝xcode是直接通過appstore來裝的,安裝rosetta2是使用下面的命令。

softwareupdate –install-rosetta

安裝好了之后就可以使用下面的命令來生成數據庫,與傳統方式不同的是需要在命令前面增加arch -x86_64,如圖2.5所示。

arch -x86_64 codeql database create /Users/xxx/CodeQL/databases/mvn_test --language=java --command='mvn clean install -DskipTests' --source-root=/Users/xxx/java/projects/mvn_test --overwrite

圖2.5 在M1中使用codeql生成數據庫

0x03 語法基礎

CodeQL是一門全新的語言,基礎的CodeQL語法網上已經有很多文章。大家在學習之前可以首先參考鏈接,了解關于CodeQL的基礎語法,重點掌握關于類和謂詞的概念。

參考鏈接:https://longlone.top/%E5%AE%89%E5%85%A8/%E5%AE%89%E5%85%A8%E7%A0%94%E7%A9%B6/codeql/2.CodeQL%E8%AF%AD%E6%B3%95/

直接來學習語法是一件很枯燥的事情,我們這里只是總結一些CodeQL中重點的概念。關于語法詳情在后續的實際案例分析中會有更深刻的體會。

1)  與Class相關的概念

與類直接相關的概念包括Class、Method、Field、Constructor,其代表的意義與java語言一致,通過其相互組合可以從數據庫中篩選出符合條件的類和方法。

Demo1: 查詢類的全限定名中包含Person的類,其中方法getQualifiedName代表獲取類對應的全限定類名。

import java

from Class c
where c.getQualifiedName().indexOf("Person") >=0
select c.getQualifiedName()

Demo2: 查詢所有字段Field,滿足條件是字段類型是public,并且字段類型繼承java.lang.Throwable。(Fastjson1.2.80漏洞利用鏈的查找方式)。

其中getASupertype代表獲取類對應的父類,*代表遞歸查找所有父類。

getDeclaringType代表獲取字段對應的定義類型。

getAModifier代表獲取字段對應的修飾符。

import java

from Class c, Field f
where c.getASupertype*().hasQualifiedName("java.lang", "Throwable") and
f.getDeclaringType() = c and
f.getAModifier().getName() = "public"
select c.getQualifiedName(),f.getName()

2)  與Access相關的概念

access代表對變量或者方法的調用,主要有VarAccess和MethodAccess。

Demo1:查詢所有繼承自java.util.list的變量及變量的引用。

import java

from RefType t,Variable v,VarAccess va
where t.getSourceDeclaration().getASourceSupertype*().hasQualifiedName("java.util", "List") and
v.getType() = t and
va.getVariable() = v
select v,va

Demo2:查詢所有InputStream類對應的readObject方法調用(遍歷反序列化漏洞的基礎)。

import java

from MethodAccess ma,Class c
where ma.getMethod().hasName("readObject") and
ma.getQualifier().getType() = c and
c.getASupertype*().hasQualifiedName("java.io", "InputStream")
select ma,ma.getEnclosingCallable()

3)與Type相關的概念

Type代表類型,是屬于CodeQL中一個很重要的概念,Type類有倆個直接派生類PrimitiveType,RefType。

PrimitiveType代表Java中的基礎數據類型,派生類有boolean, byte, char, double, float, int, long, short, void,, null。

RefType代表Java中的引用類型,有派生類Class、Interface、EnumType、Array。

Type多數情況下是和Acess相互使用的,其實在上面Acess的例子中幾乎都用到了Type相關的類。

4)與Flow相關的概念

Flow是CodeQL中最重要的概念,代表數據流,與此對應的概念包括source和sink。

source代表可控的用戶輸入點,通常是指WEB站點中的URL中參數,例如

request.getParameter("name")。其他例如命令行參數args也屬于source。在CodeQL中已經存在RemoteFlowSource類,在類中已經定義了很多常見的source點,可以滿足我們做一般性代碼審計的需要。但是如果我們是要做特定jar包漏洞挖掘,例如復現log4j2的遠程命令執行漏洞,由于log4j2包中不包含常規的source點,就需要用戶自定義source。

sink代表危險的函數,通常是指一些危險的操作,包括命令執行、代碼執行、jndi注入、SQL注入、XML注入等。CodeQL雖然也預置了部分的sink點,但是遠不能滿足實際的需求,需要我們在不同的漏洞環境中自定義sink點。

在有了source和sink之后我們可以基于CodeQL提供的查詢機制,自動判斷是否存在flow可以連接source和sink,一個典型的用法如下,如圖3.1所示。

圖3.1 典型的flow利用方式

在圖3.1所示的Flow中,自定義類繼承自TaintTracking::Configuration,并且覆蓋其中的isSource個isSink方法。這個是固定寫法,后續的絕大部分的ql腳本都包含這樣的代碼。

其中isAdditionalTaintStep方法是CodeQL的類TaintTracking::Configuration提供的的方法,它的原型是:override predicate isAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2) {}。它的作用是將一個可控節點A強制傳遞給另外一個節點B,那么節點B也就成了可控節點,如圖3.2所示。

圖3.2 isAdditionalTaintStep方法的連接作用

如果CodeQL不能自動連接node1和node2節點,就需要手動通過isAdditionalTaintStep來指定連接。

除此之外,在Flow中還有一個方法經常用到isSanitizer,用法如圖3.3所示。這是官方提供的關于log4j2漏洞的查詢腳本,其中定義了isSanitizer方法來限制flow流中的數據不能是基本數據類型PrimitiveType和BoxedType類型。這是一個特別常用的過濾機制,代表只要是常規的字符類型(Bool、int這些)則不再進行傳遞。

圖3.3 isSanitizer方法的過濾作用

0x04 案例實踐

作為新手來說,要自己編寫有效的CodeQL查詢腳本是一件很難的事情,幸運的是CodeQL官方為我們提供了大量的demo。

參考地址:https://github.com/github/codeql/tree/main/java/ql/src/experimental/Security/CWE

我們可以直接使用這些demo來完成部分漏洞發現功能。

為了更加清晰的理解關于CodeQL的使用,通過具體案例來演示CodeQL的作用。若依RuoYi是國內使用量較大的后臺管理系統,從網上下載到某版本的RuoYi的源碼。

1)基于RuoYi的源碼生成數據庫

arch -x86_64 codeql database create /Users/pang0lin/CodeQL/databases/RuoYi --language=java --command='mvn clean install -DskipTests' --source-root=/Users/pang0lin/cms/若依RuoYi --overwrite

成功生成數據庫之后,會返回類似的success界面,如圖4.1所示。

圖4.1 創建基于RuoYI的數據庫

2)使用官方demo查詢漏洞

官網提供了很多查詢的ql腳本,其中能直接找到若依相關漏洞的有兩個腳本,其中第一個腳本是spel表達式注入的查詢腳本。

參考地址:https://github.com/github/codeql/blob/main/java/ql/src/experimental/Security/CWE/CWE-094/SpringViewManipulation.ql)

查詢結果如圖4.2所示。

圖4.2 基于SpringViewManipulation的查詢結果

查看sink點詳情可知這個漏洞是用戶輸入的fragment直接傳入了模版引擎中,如圖4.3所示。

圖4.3 跟蹤sink點之后的結果

這個漏洞其實是屬于若依的一個已知的安全問題,詳情見:https://blog.csdn.net/qq_33608000/article/details/124375219#Thymeleaf_184

雖然在最新版的若依中已經因為升級了thymeleaf版本導致無法利用,但是站在CodeQL的角度還是可以發現這種問題。

另一個可用的CodeQL的查詢腳本是基于mybatis的SQL注入查詢腳本,詳情見:https://github.com/github/codeql/blob/main/java/ql/src/experimental/Security/CWE/CWE-089/MyBatisMapperXmlSqlInjection.ql

查詢結果如圖4.4所示。

圖4.4 基于MyBatisMapperXmlSqlInjection的查詢結果

可以看到CodeQL找到了若依可能存在的SQL注入漏洞,跟進sink點看一下,如圖4.5所示。每一個都是類似的問題,我們隨便打開看一個就可以了。

這個可以看到這里的參數傳遞到SQL語句中,造成了SQL注入漏洞。這個漏洞在網上也有大佬已經提到了漏洞細節信息,詳情見:

https://juejin.cn/post/7001087308510265352

從上面的兩次查詢中我們可以看到CodeQL在代碼審計過程中帶來的便利,可以方便的幫助我們定位可能存在的漏洞點。

0x05 結論

CodeQL給我們提供的查詢ql腳本有很多,如果是通過手工一個一個試的話并不是一個好的解決辦法,并且官方的ql腳本并不完善,還有很大的完善空間。

如何利用大量的ql腳本完成自動化的代碼掃描,我們會在下一篇文章中進行講解。

本文作者:盛邦安全WebRAY, 轉載請注明來自FreeBuf.COM

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

2016-04-12 10:18:19

代碼審計自動化代碼審計工具

2017-07-21 09:14:21

2015-11-09 14:27:36

Ansiblelinux自動化運維

2017-10-31 15:19:24

支付通道自動化

2015-06-03 09:07:46

白盒審計PHPPHP自動化審計

2014-07-26 15:11:20

WOT2014自動化運維

2021-11-09 10:00:02

EverDB自動化數據庫

2017-12-17 21:58:18

2018-05-02 11:16:27

數據中心

2018-06-29 13:10:02

阿里巴巴監控系統人工智能

2022-02-18 13:12:49

人工智能自動化技術

2022-02-17 17:37:17

超級自動化人工智能AI

2020-04-29 11:28:54

智能自動化機器人流程自動化AI

2010-12-06 09:59:58

2020-12-08 06:20:49

前端重構Vue

2012-02-27 17:34:12

Facebook自動化

2017-02-14 12:46:05

數據網絡自動化

2021-03-04 20:39:48

基礎設施云上運維云上資源

2021-02-01 11:03:36

Python開發郵件

2021-03-23 08:00:00

工具開發審查
點贊
收藏

51CTO技術棧公眾號

欧美激情精品久久久久久久变态 | 校园春色 亚洲| 国产一区影院| 国产精品久久久久精k8| 91久久爱成人| 91美女免费看| 日韩一区二区在线| 精品久久久久久久人人人人传媒| 中文字幕无码精品亚洲资源网久久| 污污视频在线观看网站| 理论电影国产精品| 久久久亚洲精品视频| 国产精久久一区二区三区| 国产精品免费精品自在线观看| 亚洲高清免费视频| 亚洲欧美日韩国产成人综合一二三区 | 国产精品第100页| 久久中文免费视频| 国产欧美亚洲精品a| 日韩一二三区不卡| 不卡av免费在线| 国模雨婷捆绑高清在线| 久久精品日产第一区二区三区高清版| 91人人爽人人爽人人精88v| 在线视频一区二区三区四区| 欧美一区在线看| 国产一区二区三区毛片| 亚洲黄色片免费看| 中文字幕系列一区| 偷拍一区二区三区| 国产又粗又大又爽的视频| 黄色av网址在线免费观看| 成人av电影在线| 69堂成人精品视频免费| 制服丝袜在线一区| 国产精品毛片| 日韩有码在线播放| 亚洲精品乱码久久久久久久久久久久 | 久久亚洲综合| 97视频在线播放| 国产精品老熟女一区二区| 欧美第一精品| 国产一级揄自揄精品视频| 亚洲国产果冻传媒av在线观看| 成人97精品毛片免费看| 欧美日本国产视频| 国产aaaaa毛片| 日本欧美日韩| 日本高清不卡视频| 国产淫片av片久久久久久| 九九色在线视频| 一区二区免费在线| 日韩在线视频在线| 国产蜜臀av在线播放| 一区二区三区四区精品在线视频| 不卡中文字幕在线| 秋霞影院午夜丰满少妇在线视频| 国产欧美一区二区精品性色| 日韩国产精品一区二区| 国产网站在线播放| 亚洲国产高清在线| 宅男噜噜99国产精品观看免费| 第一视频专区在线| 国产精品久久久久久久久免费桃花 | 国产精品麻豆99久久久久久| 亚洲日本japanese丝袜| 米奇777四色精品人人爽| 国产日韩欧美在线一区| 亚洲一区二区三区四区中文| 国产精品久久麻豆| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩视频免费在线观看| 中文字幕伦理免费在线视频 | 欧美另类99xxxxx| 久久久久久久久久91| 激情欧美一区| 琪琪第一精品导航| 亚洲系列在线观看| 国产精品一级片| 国产在线一区二| 黄色网址在线播放| 亚洲欧美综合另类在线卡通| 艳母动漫在线免费观看| 成人超碰在线| 欧洲另类一二三四区| 亚洲欧美天堂在线| 国产精品17p| 在线播放国产一区二区三区| 无码人妻精品中文字幕| 精品999成人| 国产福利视频一区二区| 国产精品久久久久久久免费| 国产suv一区二区三区88区| 久久亚洲一区二区| 精品176二区| 精品久久久久久久久久久久久| 冲田杏梨av在线| 成人线上播放| 亚洲欧美国产va在线影院| www中文在线| 99在线|亚洲一区二区| 国产精品美女呻吟| 亚洲精品一区二区三区蜜桃| 久久久久久免费| 久热国产精品| 日韩成人小视频| 亚洲一区在线免费| 福利小视频在线| 91福利在线免费观看| 欧美熟妇另类久久久久久多毛| 婷婷成人综合| 九九热在线精品视频| 成人午夜视频在线播放| 国产精品亚洲一区二区三区妖精| 久久久一本精品99久久精品66| 免费黄色在线看| 日韩欧美aaa| 日本中文字幕有码| 日韩国产在线| 日本国产高清不卡| 国产91麻豆视频| 成人免费在线观看入口| av动漫免费看| 精品三级av| 欧美另类第一页| 一本到在线视频| 国产日韩欧美麻豆| www.中文字幕在线| 51vv免费精品视频一区二区| 日韩在线中文视频| 无码人妻丰满熟妇精品区| 丁香六月久久综合狠狠色| 在线观看亚洲视频啊啊啊啊| 欧美日韩五码| 亚洲精品一区二区三区不| 国产一级在线视频| 国产精品1区2区| 国产又爽又黄ai换脸| 精品亚洲a∨| 亚洲性生活视频| 中文字幕在线看人| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品久久久久久久久电影网| 欧美网站免费| 视频一区视频二区国产精品| 精品视频一二三区| 久久久久国产精品麻豆ai换脸 | 91精品午夜视频| 操她视频在线观看| 另类的小说在线视频另类成人小视频在线 | 日韩精品亚洲aⅴ在线影院| 久久久亚洲精选| 污视频网站免费观看| 黄色成人av在线| 人妻 日韩 欧美 综合 制服| 黄色av一区| 国产专区一区二区| 亚洲少妇视频| 亚洲色图色老头| 欧美日韩 一区二区三区| 国产日产欧美一区| 午夜激情av在线| 五月久久久综合一区二区小说| 成人免费福利在线| 亚洲小说区图片区都市| 日韩午夜中文字幕| 日本少妇全体裸体洗澡| 91在线视频在线| 国产福利一区视频| 日韩综合精品| 97视频资源在线观看| av剧情在线观看| 亚洲欧洲午夜一线一品| 亚洲一区二区色| 亚洲精品成a人| 男人网站在线观看| 日韩中文字幕区一区有砖一区| 日韩欧美一区二区三区久久婷婷| 国产成人免费精品| 色在人av网站天堂精品| 亚洲欧美一区二区三| 欧美亚洲一区三区| 九九视频免费看| 久久这里都是精品| 亚洲涩涩在线观看| 精品福利av| 天堂社区 天堂综合网 天堂资源最新版 | 黄色性生活一级片| 麻豆传媒一区二区三区| 4444亚洲人成无码网在线观看| 久久香蕉精品香蕉| 国产精品日韩一区| 91桃色在线| 中文字幕少妇一区二区三区| 国产成人三级在线播放| 欧美色xxxx| 欧美老熟妇一区二区三区| 成人免费av资源| 免费黄色一级网站| 激情婷婷久久| 丰满女人性猛交| 免费一区二区| 91精品国产高清久久久久久91裸体| 老色鬼在线视频| 久久久精品视频在线观看| 午夜在线视频观看| 日韩一区二区三区免费观看| 99精品在线播放| 一区二区三区中文字幕| 夜夜春很很躁夜夜躁| 福利91精品一区二区三区| 亚洲欧美激情网| av成人国产| 国内精品国产三级国产99| 欧美老女人另类| 精品在线观看一区二区| 精品中文字幕一区二区三区四区 | 欧美 日韩 亚洲 一区| 国产精品91一区二区三区| 欧美精品123| 国产亚洲精品美女久久| 91久久精品国产91久久性色| 精品成人免费一区二区在线播放| 久久久亚洲影院你懂的| av网址在线免费观看| 亚洲一区www| 免费在线国产| 日韩av中文字幕在线| 亚洲乱码在线观看| 56国语精品自产拍在线观看| 国产精品欧美综合| 色综合激情久久| 免费观看成人毛片| 亚洲高清视频的网址| 免费一级全黄少妇性色生活片| 国产精品成人免费精品自在线观看| 六月婷婷七月丁香| 久久午夜羞羞影院免费观看| 国产一级二级在线观看| 成人av网站在线观看免费| 成人三级做爰av| 国产精品综合在线视频| 91 在线视频观看| 美女一区二区视频| 第四色婷婷基地| 麻豆成人久久精品二区三区小说| 日本888xxxx| 美女精品自拍一二三四| 91n.com在线观看| 蜜臀精品一区二区三区在线观看| 久久久精品三级| 免费不卡在线观看| 日韩av一卡二卡三卡| 国产精品自拍av| 农村末发育av片一区二区| 大陆成人av片| 菠萝菠萝蜜网站| 久久久久久久久97黄色工厂| 久久亚洲无码视频| 国产精品国产三级国产a | 精品久久久久久中文字幕| 青青草成人av| 色又黄又爽网站www久久| 亚洲性猛交富婆| 91麻豆精品国产自产在线观看一区 | 久久婷婷亚洲| 中文字幕第100页| 国产米奇在线777精品观看| 国产精品成人免费一区久久羞羞| 不卡的av网站| 欧美人与性囗牲恔配| 中文字幕在线观看一区二区| 青青草国产在线观看| 亚洲午夜久久久久久久久电影网| 日韩 欧美 中文| 欧美日韩免费不卡视频一区二区三区 | 国产成人av电影在线播放| 老熟妇精品一区二区三区| 久久久不卡网国产精品一区| 伊人久久久久久久久久久久久久| 一区二区三区在线视频观看| 国产精品视频久久久久久久| 色狠狠av一区二区三区| 国产精品人人爽| 亚洲精品国产免费| 五月婷婷在线视频| 国内精品久久久久久影视8| 香蕉成人影院| 动漫美女被爆操久久久| 国产永久精品大片wwwapp| 小说区视频区图片区| 夜夜嗨一区二区三区| 国模私拍视频在线观看| proumb性欧美在线观看| 三级黄色片在线观看| 五月天激情小说综合| 亚洲天堂999| 亚洲国产精彩中文乱码av| 亚洲欧美视频一区二区| 国内精品久久久久| www欧美在线观看| 欧美日韩一区综合| 欧美亚洲不卡| 性chinese极品按摩| gogogo免费视频观看亚洲一| 日本裸体美女视频| 都市激情亚洲色图| 国产黄色免费大片| 中文字幕视频在线免费欧美日韩综合在线看| 日本欧美电影在线观看| 国产精品久久久久久久电影| 精品网站aaa| 国产精品啪啪啪视频| 老色鬼精品视频在线观看播放| 亚洲男人在线天堂| 一区二区三区视频在线观看| 影音先锋黄色网址| 亚洲欧美国产精品| 擼擼色在线看观看免费| 亚洲一区制服诱惑| 欧美激情国产在线| 男女污污的视频| 久久久久久久久99精品| 国产成年人免费视频| 欧美成人三级电影在线| 国产素人视频在线观看| 国产精品福利久久久| 一个色免费成人影院| 自拍日韩亚洲一区在线| 国产成人高清在线| 1024手机在线视频| 91麻豆精品国产91久久久资源速度 | 日韩一级片免费观看| 欧美大胆在线视频| 2020国产精品小视频| 亚洲国产精品久久久久久女王| 久久精品二区三区| 37p粉嫩大胆色噜噜噜| 欧美日韩人人澡狠狠躁视频| 手机看片1024国产| 91av网站在线播放| 青青久久av| 久久久噜噜噜www成人网| 成人动漫中文字幕| 国产无遮挡又黄又爽又色| 精品美女一区二区| av2020不卡| 久久99精品久久久久久三级| 99精品视频网| 最新中文字幕视频| 色爱区综合激月婷婷| 男人天堂网在线观看| 国产成人久久久| 青青草国产免费一区二区下载| 天天爱天天操天天干| 1024成人网色www| 国产丰满果冻videossex| 久久久久久亚洲精品中文字幕| 成人影院中文字幕| 国产a级一级片| 国产欧美日韩在线观看| 亚洲一二区视频| 欧美激情一级二级| 日韩三级毛片| 亚洲视频在线观看一区二区三区| 国产精品国产三级国产普通话三级 | 一区二区三区伦理| 激情视频一区二区| 日韩av成人高清| 丝袜 亚洲 另类 欧美 重口| 精品欧美久久久| 在线看的毛片| 中文字幕综合在线观看| 成人avav影音| 中文无码精品一区二区三区| 久久久精品一区二区| 电影一区二区在线观看| 国模杨依粉嫩蝴蝶150p| 亚洲图片你懂的| 色婷婷中文字幕| 国产人妖伪娘一区91| 亚洲手机视频| 精品国产成人亚洲午夜福利| 欧美一区二区免费| 性爽视频在线| 黑人巨大国产9丨视频| 94色蜜桃网一区二区三区| 一区二区三区精彩视频| 久久久久久久激情视频| 成人免费a**址| 一二三区视频在线观看| 欧美性一区二区| 日本高清在线观看| 日韩av免费电影| 成人性生交大片免费看中文| 国产熟妇一区二区三区四区| 欧美成人性生活| 国产精品片aa在线观看| 亚洲妇女无套内射精| 欧美午夜免费电影|