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

警惕!Python 中少為人知的十個安全陷阱!

開發(fā)
在這篇博文中,我們介紹了 10 個 Python 安全陷阱,我們認(rèn)為開發(fā)者不太了解它們。每個細(xì)微的陷阱都很容易被忽視,并在過去導(dǎo)致了線上程序的安全漏洞。

Python 開發(fā)者們在使用標(biāo)準(zhǔn)庫和通用框架時,都以為自己的程序具有可靠的安全性。然而,在 Python 中,就像在任何其它編程語言中一樣,有一些特性可能會被開發(fā)者們誤解或誤用。通常而言,只有極少的微妙之處或細(xì)節(jié)會使開發(fā)者們疏忽大意,從而在代碼中引入嚴(yán)重的安全漏洞。

在這篇博文中,我們將分享在實際 Python 項目中遇到的 10 個安全陷阱。我們選擇了一些在技術(shù)圈中不太為人所知的陷阱。通過介紹每個問題及其造成的影響,我們希望提高人們對這些問題的感知,并提高大家的安全意識。如果你正在使用這些特性,請一定要排查你的 Python 代碼!

1. 被優(yōu)化掉的斷言

Python 支持以優(yōu)化的方式執(zhí)行代碼。這使代碼運(yùn)行得更快,內(nèi)存用得更少。當(dāng)程序被大規(guī)模使用,或者可用的資源很少時,這種方法尤其有效。一些預(yù)打包的 Python 程序提供了優(yōu)化的字節(jié)碼。

然而,當(dāng)代碼被優(yōu)化時,所有的 assert 語句都會被忽略。開發(fā)者有時會使用它們來判斷代碼中的某些條件。例如,如果使用斷言來作身份驗證檢查,則可能導(dǎo)致安全繞過。

def superuser_action(request, user):
assert user.is_super_user
# execute action as super user

在這個例子中,第 2 行中的 assert 語句將被忽略,導(dǎo)致非超級用戶也可以運(yùn)行到下一行代碼。不推薦使用 assert 語句進(jìn)行安全相關(guān)的檢查,但我們確實在實際的項目中看到過它們。

2. MakeDirs 權(quán)限

os.makdirs 函數(shù)可以在操作系統(tǒng)中創(chuàng)建一個或多個文件夾。它的第二個參數(shù) mode 用于指定創(chuàng)建的文件夾的默認(rèn)權(quán)限。在下面代碼的第 2 行中,文件夾 A/B/C 是用 rwx------ (0o700) 權(quán)限創(chuàng)建的。這意味著只有當(dāng)前用戶(所有者)擁有這些文件夾的讀、寫和執(zhí)行權(quán)限。

def init_directories(request):
os.makedirs("A/B/C", mode=0o700)
return HttpResponse("Done!")

在 Python < 3.6 版本中,創(chuàng)建出的文件夾 A、B 和 C 的權(quán)限都是 700。但是,在 Python > 3.6 版本中,只有最后一個文件夾 C 的權(quán)限為 700,其它文件夾 A 和 B 的權(quán)限為默認(rèn)的 755。

因此,在 Python > 3.6 中,os.makdirs 函數(shù)等價于 Linux 的這條命令:mkdir -m 700 -p A/B/C。有些開發(fā)者沒有意識到版本之間的差異,這已經(jīng)在 Django 中造成了一個權(quán)限越級漏洞(cve - 2022 -24583),無獨有偶,這在 WordPress 中也造成了一個加固繞過問題。

3. 絕對路徑拼接

os.path.join(path, *paths) 函數(shù)用于將多個文件路徑連接成一個組合的路徑。第一個參數(shù)通常包含了基礎(chǔ)路徑,而之后的每個參數(shù)都被當(dāng)做組件拼接到基礎(chǔ)路徑后。

然而,這個函數(shù)有一個少有人知的特性。如果拼接的某個路徑以 / 開頭,那么包括基礎(chǔ)路徑在內(nèi)的所有前綴路徑都將被刪除,該路徑將被視為絕對路徑。下面的示例揭示了開發(fā)者可能遇到的這個陷阱。

def read_file(request):
filename = request.POST['filename']
file_path = os.path.join("var", "lib", filename)
if file_path.find(".") != -1:
return HttpResponse("Failed!")
with open(file_path) as f:
return HttpResponse(f.read(), content_type='text/plain')

在第 3 行中,我們使用 os.path.join 函數(shù)將用戶輸入的文件名構(gòu)造出目標(biāo)路徑。在第 4 行中,檢查生成的路徑是否包含”.“,防止出現(xiàn)路徑遍歷漏洞。

但是,如果攻擊者傳入的文件名參數(shù)為”/a/b/c.txt“,那么第 3 行得到的變量 file_path 會是一個絕對路徑(/a/b/c.txt)。即 os.path.join 會忽略掉”var/lib“部分,攻擊者可以不使用“.”字符就讀取到任何文件。盡管 os.path.join 的文檔中描述了這種行為,但這還是導(dǎo)致了許多漏洞(Cuckoo Sandbox Evasion, CVE-2020-35736)。

4. 任意的臨時文件

tempfile.NamedTemporaryFile 函數(shù)用于創(chuàng)建具有特定名稱的臨時文件。但是,prefix(前綴)和 suffix(后綴)參數(shù)很容易受到路徑遍歷攻擊(Issue 35278)。如果攻擊者控制了這些參數(shù)之一,他就可以在文件系統(tǒng)中的任意位置創(chuàng)建出一個臨時文件。下面的示例揭示了開發(fā)者可能遇到的一個陷阱。

def touch_tmp_file(request):
id = request.GET['id']
tmp_file = tempfile.NamedTemporaryFile(prefix=id)
return HttpResponse(f"tmp file: {tmp_file} created!", content_type='text/plain')

在第 3 行中,用戶輸入的 id 被當(dāng)作臨時文件的前綴。如果攻擊者傳入的 id 參數(shù)是“/../var/www/test”,則會創(chuàng)建出這樣的臨時文件:/var/www/test_zdllj17。粗看起來,這可能是無害的,但它會為攻擊者創(chuàng)造出挖掘更復(fù)雜的漏洞的基礎(chǔ)。

5. 擴(kuò)展的 Zip Slip

在 Web 應(yīng)用中,通常需要解壓上傳后的壓縮文件。在 Python 中,很多人都知道 TarFile.extractall 與 TarFile.extract 函數(shù)容易受到 Zip Slip 攻擊。攻擊者通過篡改壓縮包中的文件名,使其包含路徑遍歷(../)字符,從而發(fā)起攻擊。

這就是為什么壓縮文件應(yīng)該始終被視為不受信來源的原因。zipfile.extractall 與 zipfile.extract 函數(shù)可以對 zip 內(nèi)容進(jìn)行清洗,從而防止這類路徑遍歷漏洞。

但是,這并不意味著在 ZipFile 庫中不會出現(xiàn)路徑遍歷漏洞。下面是一段解壓縮文件的代碼。

def extract_html(request):
filename = request.FILES['filename']
zf = zipfile.ZipFile(filename.temporary_file_path(), "r")
for entry in zf.namelist():
if entry.endswith(".html"):
file_content = zf.read(entry)
with open(entry, "wb") as fp:
fp.write(file_content)
zf.close()
return HttpResponse("HTML files extracted!")

第 3 行代碼根據(jù)用戶上傳文件的臨時路徑,創(chuàng)建出一個 ZipFile 處理器。第 4 - 8 行代碼將所有以“.html”結(jié)尾的壓縮項提取出來。第 4 行中的 zf.namelist 函數(shù)會取到 zip 內(nèi)壓縮項的名稱。注意,只有 zipfile.extract 與 zipfile.extractall 函數(shù)會對壓縮項進(jìn)行清洗,其它任何函數(shù)都不會。

在這種情況下,攻擊者可以創(chuàng)建一個文件名,例如“../../../var/www/html”,內(nèi)容隨意填。該惡意文件的內(nèi)容會在第 6 行被讀取,并在第 7-8 行寫入被攻擊者控制的路徑。因此,攻擊者可以在整個服務(wù)器上創(chuàng)建任意的 HTML 文件。

如上所述,壓縮包中的文件應(yīng)該被看作是不受信任的。如果你不使用 zipfile.extractall 或者 zipfile.extract,你就必須對 zip 內(nèi)文件的名稱進(jìn)行“消毒”,例如使用 os.path.basename。否則,它可能導(dǎo)致嚴(yán)重的安全漏洞,就像在 NLTK Downloader (CVE-2019-14751)中發(fā)現(xiàn)的那樣。

6. 不完整的正則表達(dá)式匹配

正則表達(dá)式(regex)是大多數(shù) Web 程序不可或缺的一部分。我們經(jīng)常能看到它被自定義的 Web 應(yīng)用防火墻(WAF,Web Application Firewalls)用來作輸入驗證,例如檢測惡意字符串。在 Python 中,re.match 和 re.search 之間有著細(xì)微的區(qū)別,我們將在下面的代碼片段中演示。

def is_sql_injection(request):
pattern = re.compile(r".*(union)|(select).*")
name_to_test = request.GET['name']
if re.search(pattern, name_to_test):
return True
return False

在第 2 行中,我們定義了一個匹配 union 或者 select 的模式,以檢測可能的 SQL 注入。這是一個糟糕的寫法,因為你可以輕易地繞過這些黑名單,但我們已經(jīng)在線上的程序中見過它。在第 4 行中,函數(shù) re.match 使用前面定義好的模式,檢查第 3 行中的用戶輸入內(nèi)容是否包含這些惡意的值。

然而,與 re.search 函數(shù)不同的是,re.match 函數(shù)不匹配新行。例如,如果攻擊者提交了值 aaaaaa \n union select,這個輸入就匹配不上正則表達(dá)式。因此,檢查可以被繞過,失去保護(hù)作用。

總而言之,我們不建議使用正則表達(dá)式黑名單進(jìn)行任何安全檢查。

7. Unicode 清洗器繞過

Unicode 支持用多種形式來表示字符,并將這些字符映射到碼點。在 Unicode 標(biāo)準(zhǔn)中,不同的 Unicode 字符有四種歸一化方案。程序可以使用這些歸一化方法,以獨立于人類語言的標(biāo)準(zhǔn)方式來存儲數(shù)據(jù),例如用戶名。

然而,攻擊者可以利用這些歸一化,這已經(jīng)導(dǎo)致了 Python 的 urllib 出現(xiàn)漏洞(CVE-2019-9636)。下面的代碼片段演示了一個基于 NFKC 歸一化的跨站點腳本漏洞(XSS,Cross-Site Scripting)。

import unicodedata
from django.shortcuts import render
from django.utils.html import escape

def render_input(request):
user_input = escape(request.GET['p'])
normalized_user_input = unicodedata.normalize("NFKC", user_input)
context = {'my_input': normalized_user_input}
return render(request, 'test.html', context)

在第 6 行中,用戶輸入的內(nèi)容被 Django 的 escape 函數(shù)處理了,以防止 XSS 漏洞。在第 7 行中,經(jīng)過清洗的輸入被 NFKC 算法歸一化,以便在第 8-9 行中通過 test.html 模板正確地渲染。

templates/test.html:

<!DOCTYPE html>
<html lang="en">
<body>
{{ my_input | safe}}
</body>
</html>

在模板 test.html 中,第 4 行的變量 my_input 被標(biāo)記為安全的,因為開發(fā)人員預(yù)期有特殊字符,并且認(rèn)為該變量已經(jīng)被 escape 函數(shù)清洗了。通過標(biāo)記關(guān)鍵字 safe, Django 不會再次對變量進(jìn)行清洗。

但是,由于第 7 行(view.py)的歸一化,字符“%EF%B9%A4”會被轉(zhuǎn)換為“<”,“%EF%B9%A5”被轉(zhuǎn)換為“>”。這導(dǎo)致攻擊者可以注入任意的 HTML 標(biāo)記,進(jìn)而觸發(fā) XSS 漏洞。為了防止這個漏洞,就應(yīng)該在把用戶輸入做完歸一化之后,再進(jìn)行清洗。

8. Unicode 編碼碰撞

前文說過,Unicode 字符會被映射成碼點。然而,有許多不同的人類語言,Unicode 試圖將它們統(tǒng)一起來。這就意味著不同的字符很有可能擁有相同的“l(fā)ayout”。例如,小寫的土耳其語 ?(沒有點)的字符是英語中大寫的 I。在拉丁字母中,字符 i 也是用大寫的 I 表示。在 Unicode 標(biāo)準(zhǔn)中,這兩個不同的字符都以大寫形式映射到同一個碼點。

這種行為是可以被利用的,實際上已經(jīng)在 Django 中導(dǎo)致了一個嚴(yán)重的漏洞(CVE-2019-19844)。下面的代碼是一個重置密碼的示例。

from django.core.mail import send_mail
from django.http import HttpResponse
from vuln.models import User

def reset_pw(request):
email = request.GET['email']
result = User.objects.filter(email__exact=email.upper()).first()
if not result:
return HttpResponse("User not found!")
send_mail('Reset Password','Your new pw: 123456.', 'from@example.com', [email], fail_silently=False)
return HttpResponse("Password reset email send!")

第 6 行代碼獲取了用戶輸入的 email,第 7-9 行代碼檢查這個 email 值,查找是否存在具有該 email 的用戶。如果用戶存在,則第 10 行代碼依據(jù)第 6 行中輸入的 email 地址,給用戶發(fā)送郵件。需要指出的是,第 7-9 行中對郵件地址的檢查是不區(qū)分大小寫的,使用了 upper 函數(shù)。

至于攻擊,我們假設(shè)數(shù)據(jù)庫中存在一個郵箱地址為 foo@mix.com 的用戶。那么,攻擊者可以簡單地傳入 foo@m?x.com 作為第 6 行中的 email,其中 i 被替換為土耳其語 ?。第 7 行代碼將郵箱轉(zhuǎn)換成大寫,結(jié)果是 FOO@MIX.COM。這意味著找到了一個用戶,因此會發(fā)送一封重置密碼的郵件。

然而,郵件被發(fā)送到第 6 行未轉(zhuǎn)換的郵件地址,也就是包含了土耳其語的 ?。換句話說,其他用戶的密碼被發(fā)送到了攻擊者控制的郵件地址。為了防止這個漏洞,可以將第 10 行替換成使用數(shù)據(jù)庫中的用戶郵箱。即使發(fā)生編碼沖突,攻擊者在這種情況下也得不到任何好處。

9. IP 地址歸一化

在 Python < 3.8 中,IP 地址會被 ipaddress 庫歸一化,因此前綴的零會被刪除。這種行為乍一看可能是無害的,但它已經(jīng)在 Django 中導(dǎo)致了一個高嚴(yán)重性的漏洞(CVE-2021-33571)。攻擊者可以利用歸一化繞過校驗程序,發(fā)起服務(wù)端請求偽造攻擊(SSRF,Server-Side Request Forgery)。

下面的代碼展示了如何繞過這樣的校驗器。

import requests
import ipaddress

def send_request(request):
ip = request.GET['ip']
try:
if ip in ["127.0.0.1", "0.0.0.0"]:
return HttpResponse("Not allowed!")
ip = str(ipaddress.IPv4Address(ip))
except ipaddress.AddressValueError:
return HttpResponse("Error at validation!")
requests.get('https://' + ip)
return HttpResponse("Request send!")

第 5 行代碼獲取用戶傳入的一個 IP 地址,第 7 行代碼使用一個黑名單來檢查該 IP 是否為本地地址,以防止可能的 SSRF 漏洞。這份黑名單并不完整,僅作為示例。

第 9 行代碼檢查該 IP 是否為 IPv4 地址,同時將 IP 歸一化。在完成驗證后,第 12 行代碼會對該 IP 發(fā)起實際的請求。

但是,攻擊者可以傳入 127.0.001 這樣的 IP 地址,在第 7 行的黑名單列表中找不到。然后,第 9 行代碼使用 ipaddress.IPv4Address 將 IP 歸一化為 127.0.0.1。因此,攻擊者就能夠繞過 SSRF 校驗器,并向本地網(wǎng)絡(luò)地址發(fā)送請求。

10. URL 查詢參數(shù)解析

在 Python < 3.7 中,urllib.parse.parse_qsl 函數(shù)允許使用“;”和“&”字符作為 URL 的查詢變量的分隔符。有趣的是“;”字符不能被其它語言識別為分隔符。

在下面的例子中,我們將展示為什么這種行為會導(dǎo)致漏洞。假設(shè)我們正在運(yùn)行一個基礎(chǔ)設(shè)施,其中前端是一個 PHP 程序,后端則是一個 Python 程序。

攻擊者向 PHP 前端發(fā)送以下的 GET 請求:

GET https://victim.com/?a=1;b=2PHP 前端只識別出一個查詢參數(shù)“a”,其內(nèi)容為“1;b=2”。PHP 不把“;”字符作為查詢參數(shù)的分隔符?,F(xiàn)在,前端會將攻擊者的請求直接轉(zhuǎn)發(fā)給內(nèi)部的 Python 程序:

GET https://internal.backend/?a=1;b=2

如果使用了 urllib.parse.parse_qsl,Python 程序會處理成兩個查詢參數(shù),即“a=1”和“b=2”。這種查詢參數(shù)解析的差異可能會導(dǎo)致致命的安全漏洞,比如 Django 中的 Web 緩存投毒漏洞(CVE-2021-23336)。

總結(jié)

在這篇博文中,我們介紹了 10 個 Python 安全陷阱,我們認(rèn)為開發(fā)者不太了解它們。每個細(xì)微的陷阱都很容易被忽視,并在過去導(dǎo)致了線上程序的安全漏洞。

正如前文所述,安全陷阱可能出現(xiàn)在各種操作中,從處理文件、目錄、壓縮文件、URL、IP 到簡單的字符串。一種常見的情況是庫函數(shù)的使用,這些函數(shù)可能有意想不到的行為。這提醒我們一定要升級到最新版本,并仔細(xì)閱讀文檔。在 SonarSource 中,我們正在研究這些缺陷,以便將來不斷改進(jìn)我們的代碼分析器。

作者:Dennis Brinkrolf

原題:10 Unknown Security Pitfalls for Python

英文:https://blog.sonarsource.com/10-unknown-security-pitfalls-for-python

責(zé)任編輯:趙寧寧 來源: Python貓
相關(guān)推薦

2024-03-04 16:32:02

JavaScript運(yùn)算符

2010-09-06 14:19:54

CSS

2013-11-25 13:04:59

Linux命令Shell腳本

2013-12-23 15:25:15

命令Linux命令

2018-09-04 14:53:19

VMware技巧SSH

2015-11-09 11:24:48

數(shù)據(jù)中心數(shù)據(jù)中心優(yōu)化

2013-08-02 09:29:38

2023-12-22 16:48:00

Kubernetes容器集群

2013-04-24 09:22:54

2021-10-15 10:04:37

云計算安全云服務(wù)

2025-10-09 04:22:00

2024-11-29 08:00:00

代碼安全代碼Python

2024-01-23 18:49:38

SQL聚合函數(shù)數(shù)據(jù)分析

2025-04-30 05:58:20

2011-10-31 10:49:53

2024-05-17 13:08:46

Python代碼

2018-05-28 06:44:42

網(wǎng)絡(luò)安全時間響應(yīng)安全

2019-12-12 20:49:05

JavaScript語言運(yùn)算符

2019-07-05 07:49:19

TCPIP網(wǎng)絡(luò)協(xié)議

2023-09-20 22:52:12

Kubernetes快捷方式
點贊
收藏

51CTO技術(shù)棧公眾號

欧美国内亚洲| 中文字幕系列一区| www国产亚洲精品久久麻豆| 欧洲美女7788成人免费视频| 蜜桃av免费看| 亚洲天堂网站| 欧美日韩国产色视频| 日韩在线电影一区| 可以免费看毛片的网站| 久久久久看片| 欧美高清视频在线| 亚洲黄色免费视频| 久久av国产紧身裤| 欧美电影影音先锋| 成人午夜视频免费在线观看| av网站大全在线| 91在线免费播放| **亚洲第一综合导航网站| 99超碰在线观看| 亚洲性感美女99在线| 最近中文字幕日韩精品| 制服丝袜第一页在线观看| 日韩成人综合网站| 色老汉一区二区三区| 男人天堂新网址| 在线观看美女网站大全免费| 91美女福利视频| 国产91视觉| 91精品国自产| 免费欧美日韩国产三级电影| 韩国国内大量揄拍精品视频| 日韩精品123区| 精品国产一区二区三区久久久蜜臀 | 99在线视频首页| 中文字幕在线2019| 日韩精品成人一区二区三区| 久久久久久久久中文字幕| 51精品免费网站| 99久久婷婷| 日韩中文字幕国产| 人与嘼交av免费| 亚洲区小说区| 亚洲毛片在线看| 国产精品无码专区| 精品视频高潮| 亚洲国产成人在线播放| 麻豆av免费看| eeuss鲁片一区二区三区| 91精品麻豆日日躁夜夜躁| 国产欧美激情视频| 色综合一区二区日本韩国亚洲| 欧美性色黄大片手机版| 国产成人av影视| 色综合一本到久久亚洲91| 狠狠躁夜夜躁久久躁别揉| 久激情内射婷内射蜜桃| 1024在线看片你懂得| 亚洲午夜av在线| 亚洲精品久久久久久久蜜桃臀| 伊人影院在线视频| 亚洲成人手机在线| 黄页免费在线观看视频| 欧美办公室脚交xxxx| 精品久久久久久久中文字幕| 久草热视频在线观看| 亚洲午夜天堂| 欧洲视频一区二区| 五月天激情播播| 精品午夜av| 精品国产乱码久久久久久老虎| 一本色道久久hezyo无码| 激情视频极品美女日韩| 亚洲乱码国产乱码精品精天堂| 亚洲精品91在线| 97视频热人人精品免费| 久久91精品国产91久久跳| 国产在线综合网| 久久精品导航| 91精品久久久久久久久久另类| 国产一区二区三区中文字幕| 国产精品亚洲视频| 久久99导航| 岛国大片在线观看| 亚洲日本青草视频在线怡红院| 免费人成自慰网站| 日本欧美日韩| 日韩欧美中文字幕精品| 影音先锋黄色资源| 日韩精品一区二区三区免费观影| 精品久久久91| 中国一级特黄毛片| 久久99精品国产麻豆婷婷| 亚洲一区二区中文| 天堂a√在线| 国产精品电影一区二区| 91动漫在线看| 亚洲视频资源| 亚洲人成在线观| 老女人性淫交视频| 日韩综合一区二区| 91文字幕巨乱亚洲香蕉| 国产在线观看免费| 夜夜亚洲天天久久| 天天碰免费视频| 91蜜桃臀久久一区二区| 中文字幕视频一区二区在线有码 | 国产一二三区在线| 亚洲黄色av一区| 婷婷激情四射五月天| 第四色在线一区二区| 中文字幕成人在线| 日韩精品人妻中文字幕| 极品尤物av久久免费看| 久久亚洲免费| www.综合网.com| 欧美精品高清视频| 女女互磨互喷水高潮les呻吟 | 最新高清无码专区| 日本成人黄色网| 日韩精品免费一区二区三区竹菊| 不卡av日日日| 97超碰人人草| 国产清纯白嫩初高生在线观看91 | 久热成人在线视频| 欧美精品一区二区三区四区五区| 日本三级韩国三级欧美三级| 欧美日韩你懂得| 欧美大波大乳巨大乳| 亚洲欧洲一区| 国产精品日韩欧美一区二区三区 | 性xxxx18| 亚洲福利一区二区三区| 91网址在线观看精品| 大片网站久久| 国产精品人成电影| 亚欧在线观看视频| 亚洲国产aⅴ天堂久久| 中文字幕第22页| 亚洲不卡av不卡一区二区| 国产精品视频白浆免费视频| 国产免费av高清在线| 色偷偷久久一区二区三区| 深爱五月激情网| 在线一区视频| 你懂的网址一区二区三区| 超碰在线视屏| 日韩精品福利在线| 日韩欧美三级视频| www久久精品| 国产自偷自偷免费一区| 成人av国产| 国产中文日韩欧美| 黄色动漫在线| 欧美成人vps| 日韩aaaaaa| 91婷婷韩国欧美一区二区| 国模无码视频一区二区三区| 日韩电影不卡一区| 日本成熟性欧美| 高h视频在线| 欧美日韩卡一卡二| 久久精品视频免费在线观看| 国产sm精品调教视频网站| 日本五级黄色片| 日韩手机在线| 国产精品扒开腿做| а√中文在线8| 亚洲成人久久久| 国产精品久久久久久久久久精爆| 久久精品视频6| 国产凹凸在线观看一区二区| 国产资源在线免费观看| 亚洲欧洲色图| 国产这里只有精品| √8天堂资源地址中文在线| 亚洲欧美激情四射在线日| 久久精品99北条麻妃| 日韩一区日韩二区| 丰满岳乱妇一区二区 | 日韩理论片中文av| 欧美老女人bb| 久久一二三四| 亚洲国产一二三精品无码| 欧美sss在线视频| 国产精品嫩草影院一区二区| 超碰超碰在线| 亚洲精品久久久久久久久| 中文字幕 国产| 亚洲综合精品久久| 亚洲天堂岛国片| 国产成a人亚洲| 男女啪啪网站视频| 国产综合激情| 亚洲欧美日韩国产yyy| 波多野结衣在线一区二区| 国产精品 欧美在线| 青草青在线视频| 中文一区二区视频| 天天干,夜夜爽| 3d成人h动漫网站入口| 久久夜靖品2区| 亚洲欧美日韩电影| 69视频在线观看免费| 成人激情综合网站| 亚洲18在线看污www麻豆| 亚洲免费网址| h无码动漫在线观看| 欧美独立站高清久久| 久久精品国产一区二区三区不卡| 国产精品成人**免费视频| 国产精品第七十二页| 91禁在线看| 欧美老女人性视频| 午夜看片在线免费| 亚洲色图激情小说| 天天操天天插天天射| 欧美一区二区国产| 夜夜嗨av禁果av粉嫩avhd| 色域天天综合网| 福利一区二区三区四区| 亚洲精品乱码久久久久久久久| 特级西西www444人体聚色 | 亚洲欧洲久久久| 成人av电影在线播放| 免费不卡av网站| 久久99九九99精品| 麻豆一区二区三区视频| 久久精品主播| 日韩黄色片视频| 国产精品日本欧美一区二区三区| 久久这里只有精品18| 欧美国产先锋| 国产欧美123| 中文在线日韩| 麻豆映画在线观看| 一区二区蜜桃| 中文字幕色呦呦| 自拍欧美日韩| 国产女人18毛片| 欧美69视频| 久久综合久久久久| 欧美午夜a级限制福利片| 国产精品视频二| 色婷婷综合网| 曰韩不卡视频| 亚洲精品在线观看91| 国产成人免费高清视频| 欧美一区亚洲| 人妻激情另类乱人伦人妻| 这里只有精品在线| 99在线免费视频观看| 白白色免费视频| 国产精品系列在线播放| 污免费在线观看| 懂色av一区二区夜夜嗨| 91九色蝌蚪porny| 99精品视频在线免费观看| 久久精品一区二区免费播放 | 日韩精品电影一区二区三区| 日本一区二区三级电影在线观看| 国产免费无遮挡吸奶头视频| 国产精品美女久久久久高潮| 999福利视频| 亚洲视频精选在线| 久久亚洲AV无码| 欧美日韩在线影院| 无码人妻精品一区二| 欧美少妇性性性| 国产美女精品视频国产| 精品久久久久久久久久久久久久久久久| 成人激情四射网| 日韩精品中文字幕在线观看| 国产在线一二| 久久在精品线影院精品国产| 蜜臀av在线| 日韩av电影手机在线| 色成人综合网| 国产在线播放一区二区| 国精一区二区| 色爽爽爽爽爽爽爽爽| 国产欧美三级| 无尽裸体动漫2d在线观看| 国产成人99久久亚洲综合精品| 中文字幕高清视频| 亚洲视频免费看| av毛片在线免费观看| 91麻豆精品国产91久久久久久| 亚洲欧美激情另类| 国产香蕉97碰碰久久人人| caoporn免费在线| 欧美一区二区.| 成人免费观看49www在线观看| 国产视频在线观看一区| 99久久婷婷这里只有精品| 欧美男插女视频| 日韩av无码中文字幕| 91成人国产精品| 精品国产av 无码一区二区三区| 日韩高清不卡av| 97超碰在线公开在线看免费| 日韩美女在线观看| 91国内精品| 一本色道久久综合亚洲精品婷婷| 亚洲激情一区| 被黑人猛躁10次高潮视频| 国产情人综合久久777777| 日韩免费观看一区二区| 欧美日韩高清一区二区不卡| 天堂中文在线资| 欧美丰满老妇厨房牲生活| 成人福利一区二区| 久久国产精品高清| 欧美日韩国内| 午夜久久福利视频| 国产人妖乱国产精品人妖| 日韩精品一区二区在线播放| 欧美一区二区高清| 日本在线免费看| 国产精品久久久久久久7电影| 日韩成人av在线资源| 欧美久久久久久久久久久久久久| 久久精品国产秦先生| 成人国产精品久久久网站| 婷婷综合五月天| 丰满熟妇乱又伦| 欧美乱大交xxxxx| av在线精品| 日本福利视频导航| 麻豆91精品视频| 一级在线观看视频| 欧美视频在线一区| 国产女主播在线写真| 国产成人av网| 狠狠色狠狠色综合婷婷tag| 国产91在线免费| 午夜激情电影在线播放| 日韩av一区二区在线| 91白丝在线| 国产欧美在线一区二区| 樱桃成人精品视频在线播放| 中文字幕av一区二区三区人妻少妇| 国产精品家庭影院| 97人妻精品一区二区三区| 日日噜噜噜夜夜爽亚洲精品| 欧美黄页在线免费观看| 一区二区在线中文字幕电影视频| 日本亚洲天堂网| 国产精品18在线| 7799精品视频| 中文国产字幕在线观看| 99视频免费观看蜜桃视频| 极品av少妇一区二区| 精品国产人妻一区二区三区| 一本色道久久综合亚洲91| 国产黄在线看| 成人xxxx视频| 欧美日韩亚洲三区| 日本少妇毛茸茸| 91国产丝袜在线播放| 色网站在线看| 97中文在线| 亚洲一区国产一区| 精品成人无码一区二区三区| 欧美日韩一区二区不卡| 91麻豆免费在线视频| eeuss一区二区三区| 一区二区日本视频| 在线看片中文字幕| 日韩视频在线一区二区| 国产高潮在线| 亚洲精品国产精品久久| 国产中文字幕一区| 日本少妇性高潮| 亚洲视频777| 欧美区一区二区| av黄色在线网站| 国产精品美女久久久久久| www.国产三级| 欧美最近摘花xxxx摘花| 99久久婷婷国产综合精品电影√| 337p日本欧洲亚洲大胆张筱雨| 日本伊人色综合网| caoporn国产精品免费公开| 日韩欧美精品一区| 亚洲国产精品第一页| 色94色欧美sute亚洲线路一久| 日本激情在线观看| 国内精品视频免费| 麻豆视频观看网址久久| 日韩欧美性视频| 久久精品电影一区二区| 欧美男男freegayvideosroom| www.激情小说.com| 偷窥少妇高潮呻吟av久久免费 | 色偷偷88888欧美精品久久久 | 亚洲午夜未满十八勿入免费观看全集| 四虎地址8848精品| 无码人妻h动漫| 一区二区三区免费| av免费观看一区二区|