日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Flexx桌面應(yīng)用安全加固實(shí)戰(zhàn):從代碼到部署的全面防護(hù)指南

Flexx桌面應(yīng)用安全加固實(shí)戰(zhàn):從代碼到部署的全面防護(hù)指南 1. 項(xiàng)目概述為什么Flexx應(yīng)用需要特別的安全關(guān)注最近在社區(qū)里看到不少朋友開始用Flexx來(lái)開發(fā)桌面應(yīng)用尤其是那些想把Web應(yīng)用打包成獨(dú)立桌面程序的項(xiàng)目。Flexx這個(gè)框架確實(shí)挺有意思它讓你能用純Python寫前端界面然后通過(guò)Web技術(shù)渲染最后還能打包成可執(zhí)行文件。聽起來(lái)很美對(duì)吧但作為一個(gè)踩過(guò)不少坑的老碼農(nóng)我得提醒你這種架構(gòu)在帶來(lái)便利的同時(shí)也引入了一些獨(dú)特的安全風(fēng)險(xiǎn)很多從傳統(tǒng)Web開發(fā)轉(zhuǎn)過(guò)來(lái)的朋友很容易忽略。Flexx應(yīng)用的安全和你平時(shí)寫的Django、Flask應(yīng)用的安全側(cè)重點(diǎn)不太一樣。傳統(tǒng)的Web應(yīng)用攻擊面主要集中在服務(wù)器端——SQL注入、XSS、CSRF這些防火墻、WAF還能幫上忙。但Flexx應(yīng)用呢當(dāng)它被打包成桌面應(yīng)用后整個(gè)“后端”邏輯其實(shí)都跑在用戶的本地環(huán)境里。你的Python代碼、可能存在的敏感邏輯、甚至一些配置信息都暴露在用戶的機(jī)器上。這時(shí)候攻擊者不需要突破你的服務(wù)器防線他只需要在你的本地環(huán)境里“做點(diǎn)手腳”。更別提那些通過(guò)Web技術(shù)渲染的界面?zhèn)鹘y(tǒng)的Web前端漏洞一樣可能存在。所以今天我想結(jié)合自己最近做的一個(gè)內(nèi)部工具項(xiàng)目聊聊在Flexx環(huán)境下我們到底該怎么系統(tǒng)地構(gòu)建安全防線。這個(gè)工具涉及一些內(nèi)部數(shù)據(jù)的處理安全上絕對(duì)不能馬虎。我會(huì)從代碼層面、運(yùn)行時(shí)層面、打包分發(fā)層面拆解每一個(gè)可能被忽視的漏洞點(diǎn)并給出可直接落地的加固方案。無(wú)論你是剛接觸Flexx還是已經(jīng)用它做了些小工具這些實(shí)踐都能幫你把應(yīng)用的安全水位提升一個(gè)檔次。2. 核心安全模型與威脅分析在動(dòng)手加固之前我們得先搞清楚Flexx應(yīng)用面臨的安全環(huán)境到底是什么樣的。你不能用防守城堡的思路去防守一艘船它們的威脅模型根本不同。2.1 Flexx應(yīng)用的獨(dú)特架構(gòu)與攻擊面一個(gè)典型的、使用flexx build命令打包后的Flexx桌面應(yīng)用運(yùn)行起來(lái)后其實(shí)包含了這么幾個(gè)部分一個(gè)本地HTTP服務(wù)器通常運(yùn)行在localhost的某個(gè)端口上比如localhost:8080。這是應(yīng)用的核心負(fù)責(zé)渲染UI和處理前端發(fā)來(lái)的事件。一個(gè)嵌入式的瀏覽器引擎通常是CEFChromium Embedded Framework用來(lái)加載和顯示那個(gè)本地服務(wù)器提供的頁(yè)面。你的Python業(yè)務(wù)邏輯代碼這些代碼被打包進(jìn)了可執(zhí)行文件隨著應(yīng)用一起分發(fā)。這個(gè)架構(gòu)決定了它的主要攻擊面本地服務(wù)暴露那個(gè)localhost:8080的服務(wù)雖然對(duì)外網(wǎng)不可見(jiàn)但在本機(jī)上是開放的。這意味著同一臺(tái)機(jī)器上的其他惡意程序可以嘗試連接這個(gè)端口發(fā)送精心構(gòu)造的請(qǐng)求試圖觸發(fā)你后端邏輯里的漏洞比如命令注入、路徑遍歷??蛻舳舜a“不可信”在Flexx里前端JS和后端Python通信非常方便但別忘了最終運(yùn)行在瀏覽器里的JS代碼用戶是可以查看和調(diào)試的。雖然核心邏輯在Python端但前端代碼可能包含一些調(diào)用接口的“路徑”信息攻擊者可以分析這些接口嘗試直接調(diào)用或進(jìn)行參數(shù)污染。打包文件的逆向風(fēng)險(xiǎn)你的Python代碼被打包進(jìn)了一個(gè)可執(zhí)行文件如.exe或.app。對(duì)于有一定技術(shù)的攻擊者他可以通過(guò)反編譯、內(nèi)存dump等手段嘗試還原出你的部分甚至全部源代碼。如果代碼里寫了硬編碼的密鑰、API地址、內(nèi)部邏輯那就全暴露了。傳統(tǒng)的Web漏洞Flexx應(yīng)用的前端仍然是HTML/JS/CSS通過(guò)瀏覽器引擎渲染。所以如果前端代碼編寫不當(dāng)導(dǎo)致產(chǎn)生了真正的DOM型XSS漏洞攻擊者雖然不能直接竊取服務(wù)器數(shù)據(jù)因?yàn)闆](méi)服務(wù)器但可以操縱你的應(yīng)用界面進(jìn)行釣魚或者進(jìn)行本地文件操作如果應(yīng)用有相關(guān)權(quán)限。理解這些攻擊面是我們制定所有安全措施的基礎(chǔ)。你的加固工作必須圍繞著“保護(hù)本地服務(wù)”、“混淆核心邏輯”、“凈化輸入輸出”這幾個(gè)核心點(diǎn)展開。2.2 從熱詞看實(shí)際威脅場(chǎng)景最近c(diǎn)tfshow這類平臺(tái)出現(xiàn)了很多關(guān)于“Web應(yīng)用安全與防護(hù)”的題目特別是Windows環(huán)境下的。這其實(shí)反映了一個(gè)趨勢(shì)大家越來(lái)越關(guān)注客戶端應(yīng)用的安全了。這些題目里經(jīng)??疾斓狞c(diǎn)比如通過(guò)構(gòu)造特殊輸入進(jìn)行本地文件讀取、利用應(yīng)用邏輯缺陷提升權(quán)限、分析客戶端代碼找到隱藏接口等完全可能發(fā)生在你的Flexx應(yīng)用上。另一個(gè)熱詞“web應(yīng)用打包桌面應(yīng)用”點(diǎn)明了Flexx這類技術(shù)的用途。大家喜歡它就是因?yàn)椤耙淮尉帉懚嗵庍\(yùn)行”還能有原生應(yīng)用的體驗(yàn)。但安全意識(shí)的滯后往往就在這里埋雷。開發(fā)者可能覺(jué)得“反正就跑在用戶自己電腦上能出啥大事” 這種想法很危險(xiǎn)。如果這個(gè)工具處理的是個(gè)人敏感信息如密碼管理器、公司內(nèi)部數(shù)據(jù)或者具有某些系統(tǒng)操作權(quán)限一旦被攻破后果可能很嚴(yán)重。所以我們的安全實(shí)踐必須假設(shè)運(yùn)行環(huán)境是“惡意”的或者至少是“不可完全信任”的。用戶可能無(wú)意中運(yùn)行了惡意軟件也可能主動(dòng)嘗試破解你的應(yīng)用。我們的目標(biāo)不是制造一個(gè)無(wú)法破解的“黑盒”那幾乎不可能而是顯著提高攻擊的成本和難度讓絕大多數(shù)潛在攻擊者望而卻步。3. 代碼層面的防御構(gòu)建安全的第一道墻一切安全的基礎(chǔ)都源于你寫下的每一行代碼。對(duì)于Flexx應(yīng)用我們需要在前后端都建立起堅(jiān)固的防線。3.1 后端Python輸入驗(yàn)證與凈化這是防御本地服務(wù)被攻擊的核心。所有從前端通過(guò)Flexx的事件機(jī)制傳來(lái)的數(shù)據(jù)都必須視為不可信的。原則白名單驗(yàn)證優(yōu)于黑名單過(guò)濾。不要試圖去猜測(cè)所有惡意輸入長(zhǎng)什么樣而是明確定義什么是合法的輸入。假設(shè)我們有一個(gè)功能讓用戶輸入一個(gè)文件名然后應(yīng)用去讀取一個(gè)特定目錄下的這個(gè)文件。這是一個(gè)非常危險(xiǎn)的操作如果處理不當(dāng)就會(huì)造成路徑遍歷漏洞。錯(cuò)誤示范from flexx import flx import os BASE_DIR “./data” class VulnerableApp(flx.Widget): def init(self): super().init() # ... 前端組件定義 flx.reaction(‘input_field.text’) def on_file_request(self, *events): for ev in events: filename ev.new_value # 直接信任前端輸入 filepath os.path.join(BASE_DIR, filename) try: with open(filepath, ‘r’) as f: content f.read() # 將內(nèi)容發(fā)送回前端顯示 self.display_widget.set_text(content) except Exception as e: self.display_widget.set_text(f“Error: {e}”)這段代碼的問(wèn)題太大了。攻擊者可以在前端輸入../../../etc/passwdos.path.join可能會(huì)生成一個(gè)指向系統(tǒng)敏感文件的路徑導(dǎo)致信息泄露。加固后的實(shí)踐from flexx import flx import os import posixpath # 使用posixpath處理路徑更安全 BASE_DIR os.path.abspath(“./data”) # 使用絕對(duì)路徑 ALLOWED_EXTENSIONS {‘.txt’, ‘.json’, ‘.csv’} # 定義允許的文件后綴 class SecureApp(flx.Widget): def init(self): super().init() # ... 前端組件定義 flx.reaction(‘input_field.text’) def on_file_request(self, *events): for ev in events: user_input ev.new_value.strip() # 1. 驗(yàn)證輸入不為空且是基本字符串 if not user_input or not isinstance(user_input, str): self._log_security_event(“invalid_input_type”, user_input) return # 2. 白名單過(guò)濾文件名只允許字母、數(shù)字、下劃線、點(diǎn)和短橫線且不能以點(diǎn)開頭防隱藏文件 import re if not re.match(r‘^[a-zA-Z0-9_\-][a-zA-Z0-9_\-\.]*$’, user_input): self._log_security_event(“invalid_filename_pattern”, user_input) return # 3. 檢查文件后綴 _, ext os.path.splitext(user_input) if ext.lower() not in ALLOWED_EXTENSIONS: self._log_security_event(“disallowed_extension”, user_input) return # 4. 規(guī)范化路徑防止目錄遍歷 # 先拼接然后確保最終路徑在BASE_DIR之內(nèi) requested_path os.path.join(BASE_DIR, user_input) normalized_path os.path.normpath(requested_path) # 關(guān)鍵檢查解析后的路徑是否仍然以BASE_DIR開頭 if not normalized_path.startswith(BASE_DIR): self._log_security_event(“path_traversal_attempt”, user_input) return # 5. 安全檢查確保最終路徑是一個(gè)文件并且存在 if not os.path.isfile(normalized_path): self._log_security_event(“not_a_file_or_not_exist”, normalized_path) return # 6. 一切檢查通過(guò)執(zhí)行操作 try: with open(normalized_path, ‘r’, encoding‘utf-8’) as f: content f.read() self.display_widget.set_text(content) except Exception as e: # 注意錯(cuò)誤信息不要透露內(nèi)部路徑細(xì)節(jié) self.display_widget.set_text(“無(wú)法讀取指定文件。”) self._log_error(e) def _log_security_event(self, event_type, detail): “”“記錄安全事件在實(shí)際應(yīng)用中可寫入日志文件或發(fā)送到監(jiān)控端”“” print(f“[SECURITY] {event_type}: {detail}”) # 示例應(yīng)使用更安全的日志庫(kù)注意路徑檢查normalized_path.startswith(BASE_DIR)在Windows上可能因?yàn)槁窂酱笮懟蚍指舴麊?wèn)題需要額外處理。一個(gè)更健壯的方法是使用os.path.commonpath([BASE_DIR, normalized_path]) BASE_DIR。實(shí)操心得對(duì)于任何來(lái)自前端的數(shù)據(jù)無(wú)論是事件參數(shù)、回調(diào)函數(shù)參數(shù)還是通過(guò)flx.set_state設(shè)置的狀態(tài)都要執(zhí)行嚴(yán)格的驗(yàn)證。特別是當(dāng)這些數(shù)據(jù)用于文件操作、系統(tǒng)命令調(diào)用強(qiáng)烈不建議在桌面應(yīng)用中直接調(diào)用、數(shù)據(jù)庫(kù)查詢?nèi)绻麘?yīng)用內(nèi)嵌了SQLite時(shí)驗(yàn)證必須格外嚴(yán)格。3.2 前端JS/React的XSS防御雖然Flexx幫你處理了大部分UI邏輯但你仍然可能通過(guò)flx.js或innerHTML等方式動(dòng)態(tài)操作DOM這就引入了XSS風(fēng)險(xiǎn)。絕對(duì)避免使用innerHTML或outerHTML來(lái)插入未經(jīng)驗(yàn)證的用戶數(shù)據(jù)。如果非要?jiǎng)討B(tài)生成HTML必須對(duì)數(shù)據(jù)進(jìn)行HTML實(shí)體編碼。Flexx提供了flx.js來(lái)進(jìn)行前端操作相對(duì)安全因?yàn)樗ǔ2僮鞯氖墙M件屬性而非原始HTML。但如果你需要在Label等組件中顯示富文本要小心# 潛在風(fēng)險(xiǎn) flx.Label(htmlf“bHello, {user_provided_name}/b”) # 如果user_provided_name包含script就完了 # 安全做法使用text屬性或者對(duì)輸入進(jìn)行編碼 import html safe_name html.escape(user_provided_name) flx.Label(textf“Hello, {safe_name}”) # text屬性會(huì)自動(dòng)處理更安全 # 或者如果必須用html確保編碼 flx.Label(htmlf“bHello, {safe_name}/b”)更佳實(shí)踐盡量使用Flexx組件的原生屬性如text、value來(lái)設(shè)置內(nèi)容而不是html屬性。讓框架去處理渲染的細(xì)節(jié)。3.3 敏感信息處理與代碼混淆這是保護(hù)你知識(shí)產(chǎn)權(quán)和防止敏感信息泄露的關(guān)鍵。永遠(yuǎn)不要在你的源代碼中硬編碼以下信息API密鑰、令牌、密碼數(shù)據(jù)庫(kù)連接字符串即使是本地SQLite加密密鑰用于本地加密存儲(chǔ)后端服務(wù)器地址如果你的應(yīng)用需要聯(lián)網(wǎng)那么這些信息該放哪配置文件在應(yīng)用首次運(yùn)行時(shí)在用戶目錄如~/.yourapp/或%APPDATA%\Yourapp生成一個(gè)配置文件。將可配置的敏感信息放在這里。代碼中只包含一個(gè)“初始空值”或“從環(huán)境變量讀取”的邏輯。import os import json from pathlib import Path CONFIG_DIR Path.home() / “.my_flexx_app” CONFIG_FILE CONFIG_DIR / “config.json” def load_config(): if not CONFIG_FILE.exists(): # 首次運(yùn)行創(chuàng)建包含默認(rèn)值或空值的配置 default_config {“api_key”: “”, “user_token”: “”} CONFIG_DIR.mkdir(parentsTrue, exist_okTrue) with open(CONFIG_FILE, ‘w’) as f: json.dump(default_config, f) return default_config else: with open(CONFIG_FILE, ‘r’) as f: return json.load(f) # 在應(yīng)用初始化時(shí)加載 app_config load_config() API_KEY app_config.get(‘a(chǎn)pi_key’) # 從配置文件讀取環(huán)境變量對(duì)于開發(fā)階段或某些部署場(chǎng)景可以通過(guò)環(huán)境變量傳遞。import os API_KEY os.environ.get(‘MYAPP_API_KEY’, ‘’) # 優(yōu)先從環(huán)境變量讀沒(méi)有則用空字符串代碼混淆與打包優(yōu)化使用PyInstaller或Nuitka打包時(shí)可以利用其混淆選項(xiàng)。PyInstaller使用--key參數(shù)對(duì)字節(jié)碼進(jìn)行加密但請(qǐng)注意這并非絕對(duì)安全只是增加逆向難度。pyinstaller —onefile —windowed —keyYourRandomKey16Bytes your_script.pyNuitka直接將Python編譯成C代碼再編譯成二進(jìn)制逆向難度比PyInstaller的字節(jié)碼打包要高得多。剝離調(diào)試信息確保打包時(shí)去除了所有pdb斷點(diǎn)、詳細(xì)日志和調(diào)試符號(hào)。重要提醒代碼混淆和加密只能提高門檻無(wú)法完全阻止逆向工程。安全的核心不應(yīng)依賴于代碼的保密性而應(yīng)依賴于設(shè)計(jì)即使攻擊者拿到了全部源代碼他也無(wú)法輕易地獲取敏感數(shù)據(jù)或進(jìn)行未授權(quán)操作。這意味著真正的密鑰、核心驗(yàn)證邏輯最好放在一個(gè)遠(yuǎn)程服務(wù)器上如果應(yīng)用需要聯(lián)網(wǎng)或者依賴于用戶本地系統(tǒng)的安全機(jī)制如Keychain、Credential Manager。4. 構(gòu)建與分發(fā)加固鎖好應(yīng)用的“發(fā)布門”代碼寫安全了下一步是確保打包和分發(fā)過(guò)程不會(huì)引入新的漏洞或泄露信息。4.1 安全的打包配置與依賴管理你的setup.py或pyproject.toml以及打包命令都需要仔細(xì)檢查。清理__pycache__和臨時(shí)文件在打包前確保你的項(xiàng)目目錄里沒(méi)有.pyc緩存文件、臨時(shí)日志文件、包含敏感信息的測(cè)試配置文件??梢栽诖虬_本里加入清理步驟。# 一個(gè)簡(jiǎn)單的打包前清理腳本 clean.sh 或 clean.bat find . -type d -name “__pycache__” -exec rm -rf {} find . -type f -name “*.pyc” -delete find . -type f -name “*.log” -delete rm -rf ./dist ./build # 清理舊的打包目錄最小化依賴在requirements.txt或setup.py中只聲明應(yīng)用運(yùn)行所必需的最小依賴集。每個(gè)多余的依賴都可能帶來(lái)未知的安全漏洞。定期用pip-audit或safety檢查依賴是否有已知漏洞。pip install safety safety check -r requirements.txt使用虛擬環(huán)境打包永遠(yuǎn)不要在系統(tǒng)Python環(huán)境下直接打包。使用venv或conda創(chuàng)建一個(gè)干凈的虛擬環(huán)境在里面安裝依賴然后從這個(gè)環(huán)境打包。這能避免混入你開發(fā)機(jī)器上的無(wú)關(guān)可能帶有敏感信息的包。4.2 發(fā)布物檢查與簽名打包生成的可執(zhí)行文件.exe,.app,.dmg等就是你要分發(fā)給用戶的最終產(chǎn)品。防病毒軟件誤報(bào)用PyInstaller打包的Python程序尤其是加了—onefile選項(xiàng)的非常容易被Windows Defender等殺毒軟件誤報(bào)為病毒。這不是你的代碼有問(wèn)題而是打包方式單文件自解壓和行為啟動(dòng)子進(jìn)程觸發(fā)了啟發(fā)式掃描。緩解措施1考慮使用—onedir目錄模式而非—onefile單文件模式。誤報(bào)率會(huì)低一些但分發(fā)起來(lái)是多個(gè)文件。緩解措施2為你的應(yīng)用申請(qǐng)代碼簽名證書Code Signing Certificate。雖然需要花錢個(gè)人開發(fā)者可以考慮便宜的證書或開源項(xiàng)目的免費(fèi)選項(xiàng)但這是解決誤報(bào)和建立用戶信任最有效的方式。簽名后的應(yīng)用Windows SmartScreen等安全機(jī)制會(huì)更信任它。緩解措施3在應(yīng)用發(fā)布頁(yè)面明確說(shuō)明如果遇到殺毒軟件報(bào)警可能是誤報(bào)并指導(dǎo)用戶如何將你的應(yīng)用加入白名單。完整性校驗(yàn)提供安裝包或可執(zhí)行文件的哈希值如SHA256讓用戶可以校驗(yàn)下載的文件是否被篡改。# 在發(fā)布時(shí)生成 shasum -a 256 MyFlexxApp.dmg將得到的哈希值公布在下載頁(yè)面。分發(fā)渠道安全盡可能通過(guò)官方應(yīng)用商店如Mac App Store, Microsoft Store或你自己的HTTPS網(wǎng)站分發(fā)。避免通過(guò)網(wǎng)盤鏈接、論壇附件等不可控的方式傳播防止中間人被篡改。5. 運(yùn)行時(shí)防護(hù)與監(jiān)控應(yīng)用到了用戶手里安全戰(zhàn)斗才剛剛開始。我們需要讓應(yīng)用在運(yùn)行時(shí)也能抵御攻擊。5.1 本地服務(wù)隔離與訪問(wèn)控制默認(rèn)情況下Flexx的開發(fā)服務(wù)器綁定在0.0.0.0所有接口或localhost。對(duì)于打包后的應(yīng)用必須確保服務(wù)只綁定在127.0.0.1環(huán)回地址這樣只有本機(jī)進(jìn)程可以訪問(wèn)同一局域網(wǎng)的其他機(jī)器無(wú)法連接。在啟動(dòng)你的Flexx應(yīng)用時(shí)明確指定hostif __name__ ‘__main__’: # 開發(fā)時(shí)可能用 ‘0.0.0.0’ 方便調(diào)試但發(fā)布版一定要用 ‘127.0.0.1’ import os is_dev os.environ.get(‘FLEXX_DEV’, ‘0’) ‘1’ host ‘0.0.0.0’ if is_dev else ‘127.0.0.1’ port 8080 app flx.App(MySecureApp) app.launch(‘a(chǎn)pp’, hosthost, portport) # 使用 launch 方法并指定 host flx.run()更進(jìn)一步可以為本地服務(wù)設(shè)置一個(gè)簡(jiǎn)單的令牌驗(yàn)證雖然同一機(jī)器上的其他程序理論上都能訪問(wèn)但增加一層簡(jiǎn)單的挑戰(zhàn)響應(yīng)可以攔截很多簡(jiǎn)單的自動(dòng)化掃描腳本。不過(guò)要注意這個(gè)令牌不能硬編碼在JS里否則形同虛設(shè)??梢钥紤]在應(yīng)用啟動(dòng)時(shí)動(dòng)態(tài)生成并通過(guò)進(jìn)程間通信IPC傳遞給渲染進(jìn)程但這在Flexx中實(shí)現(xiàn)較為復(fù)雜需權(quán)衡安全收益和復(fù)雜度。一個(gè)更實(shí)用的方法是隨機(jī)化端口。每次啟動(dòng)應(yīng)用時(shí)隨機(jī)選擇一個(gè)可用端口而不是固定使用8080。這增加了攻擊者探測(cè)的難度。import socket def find_free_port(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((‘127.0.0.1’, 0)) # 綁定到0端口系統(tǒng)會(huì)分配一個(gè)空閑端口 return s.getsockname()[1] port find_free_port()5.2 日志與異常處理的安全要點(diǎn)日志是事后追溯和分析攻擊的關(guān)鍵但錯(cuò)誤的日志記錄方式本身就會(huì)導(dǎo)致信息泄露。禁止記錄敏感信息絕對(duì)不要在日志、打印語(yǔ)句或錯(cuò)誤信息中記錄密碼、密鑰、令牌、完整的個(gè)人身份信息PII。結(jié)構(gòu)化日志使用structlog或logging模塊的Formatter來(lái)記錄結(jié)構(gòu)化日志。方便后續(xù)集中分析和告警。區(qū)分日志級(jí)別將安全相關(guān)事件如登錄失敗、路徑遍歷嘗試、輸入驗(yàn)證失敗記錄在WARNING或ERROR級(jí)別并帶上明確的標(biāo)識(shí)如[SECURITY]前綴。安全的異常反饋給前端用戶的錯(cuò)誤信息應(yīng)該是模糊的、友好的但后臺(tái)日志必須是詳細(xì)的。try: # … 一些危險(xiǎn)操作 result dangerous_operation(user_input) except PermissionError: # 給用戶看 self.show_error(“您沒(méi)有執(zhí)行此操作的權(quán)限?!? # 后臺(tái)記錄 logger.error(f“[SECURITY] Permission denied for user_input{user_input} from ip{request_ip}”) except Exception as e: # 給用戶看通用錯(cuò)誤 self.show_error(“操作失敗請(qǐng)重試或聯(lián)系管理員?!? # 后臺(tái)記錄詳細(xì)異常包括堆棧 logger.exception(f“[ERROR] Operation failed with input: {user_input}”)5.3 資源訪問(wèn)與權(quán)限最小化你的應(yīng)用應(yīng)該只請(qǐng)求它正常運(yùn)行所必需的權(quán)限。文件系統(tǒng)訪問(wèn)使用明確的、受控的目錄。如前所述用BASE_DIR限定文件操作范圍。如果需要用戶選擇文件使用系統(tǒng)文件對(duì)話框Flexx可能需借助pywebview或其他原生橋接而不是讓用戶自由輸入路徑。網(wǎng)絡(luò)訪問(wèn)如果你的應(yīng)用需要聯(lián)網(wǎng)要明確是只連特定的可信域名還是可以訪問(wèn)任意地址。可以考慮使用requests庫(kù)并為其設(shè)置超時(shí)和重試策略避免被惡意服務(wù)器拖住。import requests from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry session requests.Session() retry_strategy Retry( total3, backoff_factor1, status_forcelist[429, 500, 502, 503, 504], ) adapter HTTPAdapter(max_retriesretry_strategy) session.mount(“http://”, adapter) session.mount(“https://”, adapter) # 發(fā)起請(qǐng)求時(shí)使用timeout try: response session.get(‘https://api.trusted.com/data‘, timeout(3.05, 27)) response.raise_for_status() except requests.exceptions.Timeout: logger.error(“API request timed out”) except requests.exceptions.RequestException as e: logger.error(f“Network request failed: {e}”)子進(jìn)程執(zhí)行極其不推薦在桌面應(yīng)用中執(zhí)行系統(tǒng)命令os.system,subprocess.run。如果萬(wàn)不得已例如調(diào)用一個(gè)外部工具必須使用subprocess.run()的shellFalse模式默認(rèn)。對(duì)命令參數(shù)進(jìn)行嚴(yán)格的白名單驗(yàn)證。設(shè)置超時(shí)。限制子進(jìn)程的資源如CPU、內(nèi)存。6. 常見(jiàn)安全問(wèn)題排查與應(yīng)急響應(yīng)即使做了萬(wàn)全準(zhǔn)備也可能遇到問(wèn)題。這里記錄幾個(gè)我實(shí)際遇到過(guò)的場(chǎng)景和排查思路。6.1 應(yīng)用啟動(dòng)失敗或崩潰癥狀用戶雙擊應(yīng)用沒(méi)反應(yīng)或閃退。排查查看日志首先檢查應(yīng)用是否生成了日志文件。你可以在代碼中設(shè)置將日志寫入到用戶目錄的固定位置。命令行啟動(dòng)指導(dǎo)用戶嘗試通過(guò)命令行啟動(dòng)應(yīng)用對(duì)于.exe在cmd中運(yùn)行對(duì)于.app通過(guò)終端運(yùn)行。這能直接看到Python或運(yùn)行時(shí)的錯(cuò)誤輸出往往是缺失依賴、路徑錯(cuò)誤或權(quán)限問(wèn)題。依賴沖突確保打包環(huán)境是干凈的并且所有依賴版本都被正確鎖定。一個(gè)常見(jiàn)的坑是PyInstaller可能沒(méi)有打包某些隱式依賴的.dll或.so文件。使用—hidden-import手動(dòng)指定。殺毒軟件攔截這是最常見(jiàn)的原因之一。讓用戶暫時(shí)禁用殺毒軟件試試如果成功那就印證了誤報(bào)問(wèn)題需要推動(dòng)代碼簽名或向殺毒軟件廠商提交誤報(bào)申訴。6.2 功能異?;驍?shù)據(jù)泄露癥狀某個(gè)功能突然不正常或者應(yīng)用似乎輸出了不該輸出的信息。排查檢查輸入第一時(shí)間懷疑所有用戶輸入點(diǎn)。是否有一個(gè)輸入框沒(méi)有做驗(yàn)證是否有一個(gè)API接口暴露了過(guò)多的錯(cuò)誤詳情審查日志查看安全事件日志是否有大量的驗(yàn)證失敗記錄這可能是有腳本在自動(dòng)化探測(cè)你的接口。本地網(wǎng)絡(luò)掃描用netstat -anWindows/Linux或lsof -iMac檢查你的應(yīng)用是否在監(jiān)聽預(yù)期的端口如127.0.0.1:某個(gè)端口并且沒(méi)有意外綁定到0.0.0.0。模擬攻擊自己扮演攻擊者使用Burp Suite配置代理到127.0.0.1或簡(jiǎn)單的Python腳本嘗試向你的應(yīng)用本地端口發(fā)送各種畸形、超長(zhǎng)、包含特殊字符的請(qǐng)求觀察應(yīng)用的反應(yīng)。6.3 安全事件響應(yīng)清單如果懷疑應(yīng)用被惡意利用應(yīng)該有一個(gè)簡(jiǎn)單的響應(yīng)流程隔離如果可能通知用戶立即停止使用該版本應(yīng)用。取證收集用戶的日志文件如果之前設(shè)計(jì)了日志功能。查看是否有異常模式的安全事件記錄。分析根據(jù)日志和用戶描述嘗試復(fù)現(xiàn)問(wèn)題。確定漏洞的根本原因是輸入驗(yàn)證缺失是路徑遍歷還是信息泄露修復(fù)在開發(fā)環(huán)境中修復(fù)漏洞。修復(fù)原則是“最小修補(bǔ)”即用最小的改動(dòng)堵上漏洞并添加相應(yīng)的測(cè)試用例。更新發(fā)布安全更新版本。更新日志中應(yīng)簡(jiǎn)要、模糊地說(shuō)明修復(fù)了一個(gè)安全問(wèn)題而不要透露漏洞細(xì)節(jié)以免被更多人利用。通知如果漏洞影響較大如可能導(dǎo)致用戶數(shù)據(jù)泄露應(yīng)考慮通過(guò)郵件、應(yīng)用內(nèi)通知等方式告知受影響的用戶建議他們升級(jí)。7. 進(jìn)階考量當(dāng)你的Flexx應(yīng)用需要聯(lián)網(wǎng)很多Flexx應(yīng)用不僅是本地工具還需要與后端API交互。這引入了全新的安全維度。7.1 通信安全 (HTTPS與證書鎖定)強(qiáng)制HTTPS所有與后端服務(wù)器的通信必須使用HTTPSTLS/SSL。不要使用HTTP即使在內(nèi)部網(wǎng)絡(luò)也不要。證書驗(yàn)證requests庫(kù)默認(rèn)會(huì)驗(yàn)證服務(wù)器證書。永遠(yuǎn)不要在代碼中設(shè)置verifyFalse來(lái)跳過(guò)證書驗(yàn)證這會(huì)使中間人攻擊變得輕而易舉。證書鎖定Certificate Pinning對(duì)于安全性要求極高的應(yīng)用可以考慮證書鎖定。這意味著你的客戶端只信任你預(yù)期的服務(wù)器持有的特定證書或公鑰哈希而不是信任操作系統(tǒng)或?yàn)g覽器的整個(gè)根證書庫(kù)。這能有效防御攻擊者使用自己簽發(fā)的證書進(jìn)行的中間人攻擊。實(shí)現(xiàn)思路在代碼中嵌入服務(wù)器證書的公鑰指紋SHA256。在發(fā)起HTTPS請(qǐng)求時(shí)使用requests的適配器在urllib3層面添加對(duì)證書指紋的驗(yàn)證。注意事項(xiàng)證書鎖定會(huì)使證書輪換變得困難。你需要規(guī)劃好如何安全地更新客戶端內(nèi)嵌的指紋。7.2 身份認(rèn)證與授權(quán)避免在客戶端存儲(chǔ)長(zhǎng)期有效的令牌如果用戶需要登錄服務(wù)器應(yīng)該頒發(fā)一個(gè)短期的訪問(wèn)令牌如JWT有效期幾小時(shí)和一個(gè)長(zhǎng)期的刷新令牌??蛻舳藢⑺⑿铝钆瓢踩鎯?chǔ)如使用系統(tǒng)鑰匙串用其獲取新的訪問(wèn)令牌。訪問(wèn)令牌只存在內(nèi)存中應(yīng)用關(guān)閉即失效。安全的令牌存儲(chǔ)Windows使用win32cryptpywin32的一部分將令牌存儲(chǔ)在Windows Credential Manager。macOS使用keyring庫(kù)后端是Keychain。Linux使用keyring庫(kù)后端可能是Secret Service。這樣存儲(chǔ)的令牌其他普通應(yīng)用程序無(wú)法直接讀取安全性比放在明文文件或注冊(cè)表里高得多。權(quán)限細(xì)分如果應(yīng)用有不同的功能模塊后端API設(shè)計(jì)時(shí)應(yīng)遵循最小權(quán)限原則。前端持有的令牌只應(yīng)擁有完成當(dāng)前用戶操作所必需的權(quán)限而不是萬(wàn)能鑰匙。7.3 數(shù)據(jù)加密存儲(chǔ)如果應(yīng)用需要在本地存儲(chǔ)敏感數(shù)據(jù)如用戶緩存的加密筆記、配置信息使用強(qiáng)加密算法如AES-256-GCM。GCM模式同時(shí)提供加密和完整性驗(yàn)證。密鑰管理是關(guān)鍵加密密鑰不能硬編碼??梢圆捎谩坝脩裘艽a派生密鑰”的方式如果應(yīng)用有登錄密碼或者使用系統(tǒng)提供的安全存儲(chǔ)如上述的鑰匙串來(lái)保存一個(gè)主密鑰。完整示例簡(jiǎn)化版from cryptography.fernet import Fernet # 這是一個(gè)使用AES-128-CBC和HMAC的易用庫(kù) from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC from cryptography.hazmat.primitives import hashes import base64 import os def derive_key_from_password(password: str, salt: bytes) - bytes: “”“使用PBKDF2從密碼派生密鑰”“” kdf PBKDF2HMAC( algorithmhashes.SHA256(), length32, saltsalt, iterations480000, # 迭代次數(shù)要高增加暴力破解成本 ) return base64.urlsafe_b64encode(kdf.derive(password.encode())) # 假設(shè)我們從安全的地方獲取了密碼和鹽 user_password “user_provided_password” salt os.urandom(16) # 鹽需要和加密數(shù)據(jù)一起安全地存儲(chǔ) key derive_key_from_password(user_password, salt) cipher Fernet(key) # 加密數(shù)據(jù) sensitive_data “This is a secret message”.encode() encrypted_data cipher.encrypt(sensitive_data) # 現(xiàn)在可以將 encrypted_data 和 salt 存儲(chǔ)在一起 # 解密時(shí)用同樣的密碼和存儲(chǔ)的鹽派生密鑰然后解密 # stored_salt … 從存儲(chǔ)中讀取 # stored_encrypted_data … 從存儲(chǔ)中讀取 # key2 derive_key_from_password(user_password, stored_salt) # cipher2 Fernet(key2) # decrypted_data cipher2.decrypt(stored_encrypted_data)警告本地加密只能防止應(yīng)用數(shù)據(jù)文件被直接偷走后讀取。如果攻擊者能在你的應(yīng)用運(yùn)行時(shí)進(jìn)行內(nèi)存掃描他可能提取到解密后的密鑰或數(shù)據(jù)。這需要更高級(jí)的對(duì)抗措施已超出一般桌面應(yīng)用的范疇。安全是一個(gè)持續(xù)的過(guò)程而不是一次性的任務(wù)。對(duì)于Flexx桌面應(yīng)用你需要時(shí)刻記住它的混合特性既有Web應(yīng)用的常見(jiàn)漏洞又有桌面應(yīng)用的本地安全挑戰(zhàn)。從代碼編寫的第一行起就繃緊安全這根弦在構(gòu)建、分發(fā)、運(yùn)行時(shí)層層設(shè)防才能打造出讓用戶放心使用的可靠產(chǎn)品。我最深的體會(huì)是很多安全問(wèn)題都源于“想當(dāng)然”和“圖省事”。多花半小時(shí)驗(yàn)證輸入多寫幾行代碼做路徑檢查在項(xiàng)目初期就規(guī)劃好配置管理和日志這些投入在長(zhǎng)遠(yuǎn)來(lái)看會(huì)為你省下無(wú)數(shù)排查漏洞和應(yīng)對(duì)安全事件的時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
嫩草 人人网精品| www.色婷婷| 97超碰逼| 亚洲熟妇丝袜在线观看| 欧美性爱系列| 人人操人人摸人人看人人干| 大JI巴好深好爽又大又粗视频| 久视频在线观看| 伦伦成年午夜免费视频| 日本欧美一区二区三区免费| 天天日天天干天天操| 久久久久久九九九九九九| 成人综合色网| 性爱1区| 久久婷婷电影网| 最新9久久久9免费视频| 亚洲成人一二三区| 97亚洲资源| 亚洲有码 视频一区| 亚州免费啪啪视频| 久久亚洲中文字幕视频| 一个色导综合| 黄色性爱网网| 国产精品无码AV网站| 久久亚洲欧美中文字幕国语| 人人操人人摸人人看人人干| 欧美成人四级在线播放| 欧美性生活男人的天堂| 一类av片在线看| 97超碰人人模人人拍人人| 变态综合色| 97国产精选| 日本天天干天天日一区| 国偷自 一区二区| 熟女中出视频| 亚洲三级网址久久最新| 国产高清不卡视频| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 97欧美色综合| 亚春色色| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 九九香蕉网| 999国产精品999| 亚洲国产成人精品无码专区| 亚洲欧美国产日本一区二区三区| 2024人人操人人摸| 久久视网78| 日韩欧美丝袜诱惑| 天天操福利视频综合网站| 国产丝袜高跟美女av免费观看| 国产精品天干天干综合网麻豆| 亚爽爽爽爽爽爽爽爽| 麻豆人妻少妇在线免费观看| 久久久精品一区二区| 久久久久久少妇| 国产吹潮女在线观看| 欧美午夜熟妇黑人精品91| 日比av无码| 日少妇视频| 人人做人人妻人人夜视频| 秋霞曰韩R级| 午夜寂寞欧美| 日韩av三四区| 内射卯月麻衣| 九九AV| 肏逼视频日本| 男女激情黄色网址| 久jiu久神马影院| 亚欧美天堂在线| 欧美亚洲厕所精品偷拍91 | 秋霞色色影院| 国产综合网站在线播放 | A级国产欧美激情在线| 在线观看不卡一区二区三区| 欧美日韩性爱视屏免费看了| 啊啊啊啊啊啊啊国| 青青草国产一区二区三区| 熟女91网站| 强奸国产精品视频| 亚洲日本成人动漫| 不卡一区视频| 久久久久九九九九| 五月天婷婷基地| 亚洲精品天天影视综合网| 青青草原成人| 99精品久久| 9 7超碰在线免费观看| 九九九只有精品| 操一操摸一摸| 五月综合激情网| 大乔未久88一区| 一区二区三区视频| 国产人妻精品久久久一区二区三区| 中文字幕乱碼在线| 91精品久久久| 综合色91| 国产精品爽爽v| 男人天堂2019亚洲| 亚州Av天美传媒| 亚洲A曰本VA欧美VA视频| 亚洲五月婷| 亚洲宗合网| 操人人| 97资源制服丝袜| 人妻喷水| 色综合色色| 嫩草影院永久在线制服丝袜| 久久亚洲精品成人av| 久久成年精品| 欧美岛国精品在线观看| 麻豆天美国美国产| 清纯唯美亚洲综合| 日本免费中文一区二区三区四区| 超碰偷拍| 五月天久久久| 青青操日韩| 国语av最新自产拍在线观看| 免费超碰97久久| 亚洲欧洲综合av在线| 亚洲欧美另类少妇精品| 91在线视频观看国产| 中文字幕免费观看| 久久精品人人做人人看| 欧美激情片一区二区| 九九九热| 97硬碰| A级片日韩欧美国产欧美视频精选观看 | 九九久久国产精品怡红院| 北约熟女超碰| 蜜乳av一区二区三区四区不卡| 日韩熟女乱伦中出| 青青青草伊人精品| 曰韩精品九九无码| 777超碰| 91色艳| 伊人91| 超碰亚洲97| 曰韩人妻中文字幕在线| 91国产美女丝袜足交精品视频 | 五月婷婷丁香六月| 亚洲中文字幕熟女| 少妇极品熟妇人妻无码| 激情国产乱伦Av| 超碰97亚洲区| 五月色综合| 国产精品人妻免费精品| 国产亚洲精品美女| 麻豆天美电影一区二区| 最新av网站在线观看| WWW.加勒比人妻一区不卡.com| 久久无码成人| 国产精品自拍视频| 噜噜噜亚洲精品| 国模吧 一区二区三区| 色欧美在线| 欧美色图私拍91| 日本午夜操逼| 国产精品久久久久久久久久久久| 久久久中文版| 2018色综合天天操| 啪啪啪东京| 国产AV色黄看到爽| 综合情欲网| 久久9 9 9精品| 国产强奸乱伦xd| 97在线观看免费| 亚州操操穴网| 日韩性爱播放| 综合欧美激情网| 色欧洲| 日韩精品人妻中文字有码在线| 亚洲中文字幕网| 日韩有码 一区二区三区| 桑老女人九区| 中国小夫妻勾搭露脸淫荡对白| 一本道综合色图| 东京热男人的天堂精品| 久久亚洲欧美中文字幕国语| 婷婷五月天激情四射| 青娱乐蜜桃臀AV色婷| 色99在线| 性爱1区| 国产一区二区成人av在线播放| 亚洲操操操无码| 欧美午夜色妇色鬼| 丝袜制服字幕在线| 久久久久人妻| 激情久久久| www.久久最新地址| 亚洲国产ⅴ高清在线观看| 久操精品| 亚洲高清综合网| 亚洲人人夜夜澡人人爽| 96国产污污污丝袜| 日韩人妻少妇中文字幕| 乱伦AVxx| 一区二区中文| 玖玖爱伊人玖玖爱| 九久精品| 久无码| 99日韩| 人、人、摸,人、人、草| 91在线精品一区二区三区| 午夜经典| 丝袜美腿操av| 天天澡天天爽日日AV| 综合网少妇| 91网站在线播放| 蜜屁Av| 欧美操逼视频二区| 亚洲狼狼干综合1| 丝袜狠狠草尤物人妻av91| 思思热在线| 激情丁香五月| 天天色综合图片| 色色色综合网| 极品五月天噜噜| 天天流夜夜操| 超硑97精品| 精品国产91久久久久久一区黄无| 国产美女激情| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 成人怡红院| 亚洲1区2区三区高清中文字幕| 男人的天堂午夜av| 91人妻素女| 欧美v亚洲v日韩v最新在线二区| 国产精品无码在线| 欧洲色| 少妇二级| 国产精品第二页| 一区二区视频你懂的| 91视频综合在线| 熟女精品日韩一区二区三区| 欧美性爱日韩高清| 金莲网址| 大香蕉碰碰| 一区二区首页| 玖玖综合网| 欧美人与动性人交a| av在线免费一区二区| 亚洲成av人片色午夜乱码| 综合网欧美在线| 德国一二三不卡| 人人操人人射人人干| 91n处女在线观看| 翔田千里AV无码秘 三区| 久久亚洲欧美中文字幕国语 | 亚州日韩97| 91日韩网站| 亚洲精品九九九| 欧美一区二区三区互相| 九九色热| 免费97视频| 国产sv美女内射| 欧美激情性久久久久久| 综合网色| 综合网97| 无码不卡亚洲成?人片| 可以免费观看的日韩av毛片| 校园春色制服丝袜中文字亚洲| 97精品97| 亚洲欧美国产中文视频| 伊人AAA| 中文字幕女同在线| 日本熟女不卡视频| 超碰97起碰| 国内精品久9| 欧美 日韩 亚洲 春色| 大香蕉520| 爱爱久久| 中国AAAAAA黄色片| juliaann精品熟女一区| 亚洲精品97| 静品嫩模一区二区| 丝袜狠狠草尤物 91| 日韩亚洲欧美中文字幕| 久久色激情一区二区三区| KK色在线影院| 成人午夜小视频手机在线看| 久久国产对白激情浪潮| 国产亚洲深夜激情| 亚洲美女精品| A 天堂| 五月丁香| 亚洲色图欧美一区二区不卡| 五月婷婷色色| 久久的免费性爱视频| 日韩一级二级| 国产家庭乱伦表演| 男人下部插入女人下部| 国产精品不卡高清在线观看| 图色综合网| 1769一区| 天天综合网久久ww| 亚洲一区二区在线观看91| 色爱综合网| 久久久久久久久久久久97| 五月婷婷激情综合| 精品国产Av无码久久久亚洲| 免费看美国人人爽,人人操| 神马午夜久久| 四虎AV无码| 无码动漫av中文字幕| 超碰激情808| 9国产超碰| 91天美传媒精品| 三级精品三级在线观看| 天天拍天| 九九天堂| 一级AV性爱| 熟妇精品juliaannAV| 日本无码1| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产精品自在线发布| 精品综合久久久久久97| 玖玖色综合| 夫妻天天操岛国视频| 高清不卡国产| 看大黄色大片原件| 极品出轨视频网站| 91oumei| 99久久国产精品免费高潮| 97国产亚洲中文在线| 都市久久精品激情亚洲| 久久久久久久久久久精| 97久精品| 激情综合二| 青青青在线高清视频在线一二三四区| 久久熟妇五十路一区| 国产成人欧美一区二区三区的国产| 碰人碰碰人人开房人肉| 欧美天天综| 中国一区二区亚洲人妻| 亚洲色图欧美色图另类图片| 青青草大香蕉在线视频| 六月丁香网| 亚洲码在线中文在线观看| 亚州九九九精品视频| 99色热| 岛国福利在线精品播放| 日韩精品资源| 色 亚洲 91| 长长久久曰曰夜夜成人网| 国产在线激情视频| 99无码狠狠久久| 超碰视97中文| 第二页中文字幕| 免费看黄视频亚洲网站| 欧美第二页| 999久久芭蕾| 欧美熟妇人体| 天天操夜夜操| 26uuu国产成人综合| 麻豆天美一区二区| 91插B网站| 天堂国产AV| 六月激情网| 亚洲精品一区二区三区在线播放| 中文字幕一区二区日韩网| 爱逼综合| 草草草视频| 久久亚洲天堂| 天天天天天天天天综合| 亚欧美天堂在线| 人人色人人操在线| 自拍大香蕉乱插| 中文字幕日韩人妻视频| 日本成a人v网站在线观看| 啊啊啊啊无码| 97神马久久| rivers-china.com| 美女黄色91| 色踪合AV| 欧美日本不卡| 玖玖大干人妻| 后入福利| 骚熟女AV网| 乱操9999| 9精品久久久久| 熟女高潮精品一区二区| 欧美性视频二区三区| 99黄页网站| 中文字幕人妻色偷偷久久皮 | 92一区二区| 成人性交免费视屏| 精品午夜福利| 亚洲一区操| 乱伦一二三| 亚洲国产成人精品999| 很很操在线| 日韩欧无码一区二区三区免费不卡 | 凹凸视频在线一区二区| 立川理惠被中出无码| 白嫩少妇| 国产v片在线免费观看| 日韩成人在线性爱视频| 国产理论视频在线播放| 黄片在线免费在线观看| 激情视频网址| 男人的天堂啪啪啪啪啪蜜桃不卡| 中亚av| 一区麻豆 高清中文字幕| 97超碰天天| 区二区亚洲婷| 91亚洲狠狠色| 骚女天天综合网| 亚洲色啪| 天天射网| 亚洲性猛交| 日日日日做夜夜夜夜做无码97| 青青草国产一区二区三区| 国产美女高潮视频| 韩国免费播放一级毛片| 色欲无码人妻日韩欧美精品| 中文字幕一区日韩精| 五月丁香久久| 99黄页网站| 人妻少妇无码| 久操操AV电影| 九九这里只有精品| 精品176精品2| 欧州91高潮| 婷婷去俺也去六月色| 另类天堂| 国产精品久久久久久久久久久久久久久久| 999久久芭蕾| 国产色产精品在线观看 | 久久一本大香蕉 | 亚洲黄色a级片| 亚洲第一页色| 人乳av| 国产在线综合福利网站| www.色婷婷色综合| 最新精品久久蜜桃| 熟妇人妻精品一区二区| 免费一级黄色录像影片| 91美女中出| 一区二区三区成人| AAAA欧美日韩| 色婷婷影院| 欧美影音在线| 在线有码中文字幕| 欧美综合自拍成人自拍第二十页| 夜夜免费视频| 伊人久久在线视频观看| 国产精品91ai| 亚洲综合影院| 麻豆国产尤物AV| 少妇精品久久久八区九区| 欧美成熟性爱精品| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 四虎国产精品永久在线囯在线| 欧美日韩国产人人| 国内精品a| 夜夜操天| 久久 精品| 国产成人久久久精品免费AV| 综合激情一一91| A级毛片在线看免费| 性色一线| 亚洲色图欧洲| 偷拍网站久久男女男| 暴力av在线| 插欧洲美女欧美精品| 天操老女人| 无码高清少妇久久| 欧美大香蕉97| 2020中文在线一区二区三区| 亚洲资源网| 亚洲精品毛片在线观看| 欲射影视| 三级三级三级a级全黄三| 国产日韩人人| 免费看黄视频亚洲网站| 自拍亚洲综合| 久久‘黄片视频| 欧美草草| 综合五月天| 亚洲丝袜少妇在线| 欧美日韩国产传媒在线精品| 乱伦一二三区| 91色色综合| 牛牛aV| 色狠狠一区二区三区香蕉| 亚欧性爱在线无码| 91五十路| wwe 天天干.com| 一起草欧美| 玖玖爱综合网| 99色综合| 亚洲无码超碰免费| 丝袜狠狠草尤物 91| 国产精品三级视频网站| 九九久久玖玖| 久9久9精品| 亚洲强奸乱伦影视网| 午夜福利免费福利视频| 97人人夜| 久久a久久| 天天艹天天日| 丝袜 中出 制服 人妻 美腿 中文字幕| 99在线精品视频| 91精品人| julia ann久久| 91丨九色丨国产打屁股| 人人操人人爽人人操人人| 2017大香蕉国产精品久久| 一区二区三区激情在线观看| 天堂无码| 美女网站黄页| 熟女在线视频| 亚洲欧美精品福利在线| 久久亚洲AV无码白度| 欧美曰韩国产精品| 99视频内射三四| 成人AV超碰免费在线| 中文字幕午夜精品久久久| 熟妇熟女亚洲天堂网| 日韩在线性爱免费视频| 99中文字幕| 午夜无码熟妇丰满人妻| 97青青操视频| 色五月婷婷久久| 一区二区三区高清天码| 91亚州| 99最新日韩偷拍视频| 婷婷伊人一区| 色婷婷基地| 色嗨嗨在线| 久久婷婷电影网| 99热线麻豆| 国产精品suv一区| 一道本久久棕合爱| 高清国产av无码| 午夜超爽| 一个色导综合| 亚洲婷婷综合网| 亚洲不雅视频1区二区| 欲女人妻性色av| 国产污视频麻豆传媒一区二区| 久久九九99| 看黄片视频免费| 九九精品无码专区免费| 日本国产欧美一区三区二区| 四虎精品一区二区| 精品偷拍13p欧美dodk视频| 欧美狠狠干| 天堂性色| 久久久亚洲精品中文字幕人妻| 天天操天天7| 久久超碰98| 六月丁操逼| 岛国AV一区二区电影| 蜜臀久久一区二区| 欧美男人一区| 97中文超碰| 玖玖97综合 | 日日干夜夜欢| 综合97久久| 亚洲高清男人天堂| 四虎影视 亚洲无码| 夜夜 中文视频rt| 97超碰资源网| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 深夜视频| 欧美男人天堂| 中文字幕丰满人妻日本| 立川理惠被中出无码| 人人弄人人摸| 影视综合无码少妇| 欧美日韩国产高清在线一二三区| 欧美特大黄一级片片免费| 亚洲一区二区三区四区视频| 爱我干综合| 成功精品影院| 久久9亚洲| 青女在线| 岛国天天午夜影院传媒网| 水滴偷拍| 综合影院永久入口国产| 制度丝袜99| 啊视频在线| 日本三级久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 久久久久久亚洲精品中文字幕人妻| 久久a久久| 亚洲自拍一区夜夜操| 台湾佬中文娱乐网久久久久久久久久com | 亚洲色图欧美一区二区不卡| 成人自拍三级在线观看| 日韩成人精品视频自拍| 1024日韩| 午夜福利在线视频1000| 大香交| 午夜成人爽爽爽爽A片李冰冰| 日本成人A片网站| 深田咏美亚洲精品福利社| 天天干美少妇一区| 日本一天色道久久久精品视频| 国产精品乱码久久久久久久| 日本色日夜干| 在线综合色| 国产熟女少妇一区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 精品区9| 日韩视频小说在线观看| 久操免费观看| 亚洲黄色网址视频| 男人的天堂成人的社区| 亚洲精品久| 国产拍偷精品网站| 国产女性无套 免费观看| 国产久久一区二区| 白丝AV网站| 亚洲 日本 国产 综合| 日本精品高清一二区一本到| 97精彩视频网站| 青木玲在线不卡| 91东北熟女| 亚洲黄网在哪免费看| 成年男人的天堂| 一区二区无码视频| 天天看天天在线精品| 久久久蜜桃一区二区三区| 97超碰免费生活| 亚洲一区中文精品| 99无码| 久久日本熟女精品一区| 人人爱人人乐人人操| 色播综合| 91处女在线视频| se吧提供国产乱老熟视频胖女人| 啊啊啊啊一区| 怡春院久久| 久草福利在线资源站| 欧美日韩国产电影| 午夜福利国产欧美日韩夜夜| 亚洲精品丝袜-不卡成人免费……| 久久久免费视频18| 尤物一级在线免费观看| 丝袜亚洲91| 免费观看国产小粉嫩喷水精品午| 天天综合影院91| 深夜福利黄片| 亚洲。日韩。欧美| 亚洲自拍97| 久久久一区二区三区四曲免费听| 视频在线97| 一区三区啪啪| 国产精品禁久久久精品| 青娱乐日韩无码| 天天射天天色成人| AA丁香综合激情| 黄页av| 96AV精品| 1769成人国产精品视频| 国产精品久久久久久夜夜夜| 精品国产av一区二区三区四区入口| 日本欧美韩国日产片片在线看免| 男女啪啪网站免费视频| 欧洲精品在线播放| 国产精品久久久久久片| 亚洲素人综合| 久久久爆乳翘臀一线天伦理视频| 蜜臀在线视频| 99在线视频播放| 强奸乱伦αv片| 殴美性天天| 青青草伊人久久| 最新中文字幕精品在线| 婷婷10月天青娱乐| 久久久工口| 成全在线观看免费观看| 97操97干| 麻豆福利视频导航| 自拍偷拍2025在线观看| 91色图| 九9热伊人| 五月色综合| 午夜亚洲国产理论秋霞| 国产丝袜一区二区三区| www.欧精品| 男女激情黄色网址| 亚洲人天堂| 色亚州人久干视频在线观看免费版| 大香蕉丝袜一级片| 色欲天天婬色婬香WWW夜色| 色偷综合| 欧美乱色| 亚洲一区二区精品福利| 91社区伊人| 欧美日韩国产色五月综合在线| 久久国产精品一级二级三级| 免费A V在线播放| 另类图片综合| 97超碰中文字幕| 九九热免费国产视频婷婷伊人五月 | 18禁网站在线播放| 嗯嗯啊啊好爽| 久久超碰天天| 97国产天堂岛| 女人天堂AV五区在线| 国语av最新自产拍在线观看| 免费成人在线观看91| 亚洲中文字幕av| 亚洲AV不卡在线观看尤物| 蜜臀av一区二区三区免费观看| 中国国产精品一区视频| 欧美日本成人一区二区| 亚洲成人在线乱码色午夜| 好屌色综合| 午夜呻吟欧美| 亚洲夜色在线| 五月丁香久久| 色色婷婷丁香| 美国一区二区免费视频| 最新国内自拍av免费| 国产一级高清免费观看| 91日产桃蜜| 国产精品suv一区| 婷婷久久网| 黄色性爱网网| 日韩人妻中文视频| 人妻啪| 欧美在线|亚洲| 青青草十区九区爱夜| 熟女丰满人妻一区| 综合久久中文字幕综合日韩精品| 日韩精品黄片免费观看| 国产亚洲深夜激情| 亚洲电影中字一区二区| 天天综合中文字幕 91| 另类小说欧美激情校园春色| 99热8| 欲女人妻性色av| 五十路二区在线| 中文字幕十五区| 色第一页| 97爱b| 婷婷激情一区二区三区俺也去| 暖暖精品二区三区观看| 一本一道人妻久久一区二区三区| 天天爽天天操| 国产乱伦性爱AV| 九九碰九九爱97| 国产福利精品最新在线| 激情五月婷婷| 五月丁香综合激情| 欧美毛片在线网| 中文字幕精品一区欧美| 亚洲精品天堂久久A∨51成人漫| a片自拍直播视频| 婷婷色综合| 太久视频| 狠狠操狠狠插| 日韩人妻无码专区| 91GD.COM| 蜜臀久久久久久999| ′ !γ}丶。。久久精品欧美一区二区三区 | 日本肉体xxxx裸交| 色婷久久| 67194无码不卡| 大香蕉天天看妹子| 夜夜免费视频| 国产suv一区二区三区6| 精品国产一区探花在线观看| 1769一区| 亚洲色 国产 欧美 日韩| 黄片免费看黄片免费看| 亚洲色吧网| 97日视频| 热热色国产一二区AV| se..亚洲欧美| 三男一女不戴套的A片| 久草免费福利在线播放| 精品性爱一区二区| 嗯啊免费视频| 97视频7| 日韩精品资源| 超碰97亚洲| 黄色一区二区秘书性感| 99久久久久| 色色99| 黑人粗大V S日韩女优视频| 91高潮| 欧美激情性久久久久久| 欧美日韩99| 久久‘黄片视频| 射丝袜高跟鞋99| 久久99久久99精品天美传媒棢·纸:.| 国产一二三在线视频五十路| 极品销魂美女一区二区| 农村女一级毛卡片| 人人插人人摸人人| 久久精品亚洲婷婷| 日本亚欧爱爱| 91精品国产91久久福利| 国产精品黄色三级av| 99这里都是精品| 91国产丝袜美女| 九九九九热| 日本三级日本三级99| 日本97久久久精品| 搡老女人老熟女91老熟女综合网| 久久黄片国产一区二区| 日本黄 R色 成 人网站| 亚洲污污网站| 国产在线播放成人免费| 久久婷色| 婷婷香网站| 免费视频在线一区二区不卡| 探花激情视频| 欧美激情亚洲情色| 自拍偷拍草一草| 欧美久久草熟女| 思思久热在线精品66| 久久久18| 一级免费精品| 亚洲囯产精品女人久久久| 久久精品免费| 精品天堂| Julia在线播放亚洲久久| 久久久久元码视频| 97资源视频| 午夜福利久久久噜久噜久久综合| 97超碰美女| AV中文在线可看| 精品免费成人久久| www.91久久| 亚洲s色图| 欧美麻豆成人同性GⅤ在线| 超碰97男人| WWW操逼| 九九玖玖精品| 国产精品又黄又猛又粗| 高清不卡国产| 中国一级αV| 日韩av三四区| av影片在线观看不卡| 色欧美天天| 97久久超碰| 五月天激情影院| 不卡视频一区蜜桃视频 | 激情自拍 校园春色| 麻豆成人影音在线| 婷婷成人久久久精品| 日日爱99| 国模不卡一本二本三电影| 欧亚无码视频| 欧美日本天堂| 国产精品视频麻豆入口| 色偷偷人人玩人人舔人人操人人摸人人爽 | 免费久久一级毛片大黄| 国产农村妇女精品一| 久久久久久久久久va| 亚洲限制级| 欧亚在线视频| 亚洲国产综合图区中文字幕| 夜夜肏2021| 日本人妻中文字幕精品| 妇人噜噜| 91久久久久久久久18| 国产激情在线| 国产suv精品一区二区四| 亚洲风情在线观看| 精品人妻一区二区三区-国产精品| 亚洲国产精品成人综合| 伊人991| 色情综合| 在线视频亚洲无码| 风月影院男女十八禁| 亚洲二区精品在线观看| 国产美女自拍视频| 日韩久久艹| 国产激情av女片自拍| 综合熟妇一区二区三区| 熟妇人妻一区二区三区| 无码av永久免费专区网站| 青青草AV色| 国产日韩精品一区二区三区| 国产成人午夜视频网址| 五月天伊人网| 伊人久久久日韩一区| 91九色网| 美女尤物人人操| 亚洲色图亚洲无码强奸乱伦| 在线综合网| 午夜后入| 久久9亚洲| 国产伦乱91| 中国AAAAAA黄色片| 天天色综合影视网| 夜夜操91744565| 久久久激情| 国产成人91一区二区三区| 色拍偷亚洲| 厕所偷拍在线| 手机在线观看不卡无码av| 亚洲精品一区二区精华| se,,,亚洲欧美| 日本天天吊| 我爱大香蕉| 久久国产熟女影院| 97天天综合| 丁香7月婷婷| 亚洲激情天堂网| 91女神在线视频| 欧美刺激色黄片免费看| 男人的天堂午夜av| 啪啪自拍九九综合| 婷婷性网| 国产精品久久久午夜夜伦鲁鲁| 97综合日韩| www.四虎在线| 成人国产精品三级A片| 四虎影视永久在线免费| 国产精品白丝在线播放| 久久精品国产亚洲av水密被窝| 欧洲亚洲综合| 久久久熟妇熟女国产| 美腿色图| 91在线免费观看处女| www.99色| 长长久久曰曰夜夜成人网| 熟女精品va中文字幕| 精品成人亚洲午夜电影| 国产探花日韩援交| 97久久久| 亚洲在线网站| 国产97综合| 我爱操| 超碰在线日韩一区| 日本最新1区2区3区| 免费亚洲国产精品久久一区| 色老汉色| 国产在线不卡导航| 嗯嗯,啊啊,国产精品| 丁香五月综合| 久久久久久久久久久久久久久性生活视频| 色综合色| 五月丁香| 97资源制服丝袜| 天天日天天插| 一牛影视久久久一区二区三区| 色一射色一射| 欧美色图偷拍另类| 亚洲色91C| 99免费视频| 后入 亚洲 美女 射| 毛片17S| 绑缚麻绳人妻寝取完整版| 久久久网一区| 亚洲综合另类色图| 福利五区| 69一区二区| 日日爱99| 日韩精品一区二区日韩| 五月天婷精品激情| 91色久| 99热亚洲天堂| 超碰天天操| 日本三级韩国三级美三级91| 亚洲精品国产拍免费91在线| 久久精品超碰| 国产婷婷综合在线观看| 黄色一区二区秘书性感| 国产极品一区二区三区三州| 亚洲激情在线| 青青草吊丝| 色综合99999| 久久久久久十| 牛牛AV人人夜夜澡人人爽| 中国大陆国产高清AⅤ毛片| 337p大胆噜噜噜噜噜91Av| 丁香六月婷婷| 九草在线大香蕉| 99视频自拍区| 久久久久亚洲| 无码人妻丰满热妇又大又粗| 欧美少妇性爱网站| 91亚洲黑人| 日日干夜夜欢| 久久久日本电影| 日韩性爱人人爱人人操| 91狠狠综合久久久| 色五月69夫妻| 肥臀熟女一区二区三区视频| 影音先锋日本乱伦| 在线强奷到舒服的无码视频 | 伊人91| 日本一区99| 日日骚网站| 边做饭边操逼逼| 超碰av在线| 熟女AV一区| 巨乳特殊服务按摩| 人妻人人做人人澡人人爽欧美一区| 青青草操逼逼视频| 九九亚洲精品| 91色综合| 久久乐| 中出后入| 伊人网青青| 亚洲国产精品无码AV在线| 久久国色天香香蕉| 亚洲中文字幕一区二区| 八戒无码国产午夜福利| 天天干天天日天天射黄色| 91狠狠狠| 精品无码久久久久久国产浪潮| 日本久操视频| 人妻天堂三区| 99久久久久久久久| 亚洲色图美腿丝袜| 26uuu成人影片| 婷婷香蕉| 97中文综合| 欧美系列在线一区二区| 美女91在线观看| 国产精品黑人一区二区三区| 国产精品老熟女一区二区| 蜜桃精品视频一区二区三区| 亚洲欧美日韩免费电影| 嗯啊不要啊在线 | 国产精品免费久久久久久久久久| 久久久久婷婷| 亚洲人码13| 操逼啊啊啊91| 久草精品一区| www.99色| 久久只有精品一区二区三区| 激情小说在线视频| 日本福利社| 97在线免费看视频| 久久久九97| 91精品丝袜久久久久久| 五月天激情国产综合婷婷婷| 97综合激情| 一区二区三区精品视频| 后入日本1234| 干婷婷综合网| 超碰一区二区| 亚欧性爱在线无码| 中文字幕一区二区无码成人| 国产美女高潮叫床视频| 中文字幕第95页| 国产日本久久免费精品| 色偷综合| 国产动漫操逼视频| 熟女熟妇一区二区三四区| 国产视频一区二区免费| 夜夜夜爽www精品视频| 婷婷成人五月天| 国产精品农村妇女| 99久久com免费视频′| 国产亚洲福利第一页丝袜| 色性荡荡荡荡视频| 99re热有精品视频国产| 亚洲自拍欧美色综合| 久草免费福利在线播放| 久久99干一本高清| 偷拍 精品另类 凸凹了四区| 特色a在线上| 激情终合网| 中国探花熟女| 成人草草视频| 久操99| 狠狠操夜夜| 日本黄色天堂| 夜夜肏2021| 黑人白女精品一区| 大香蕉十区| 人、人、摸,人、人、草| 综合第一页| 久久人妇| 在线国产探花| 97超碰磁| 精品性爱一二三区| 俺也射| JULIA人妻风俗店中出电影| 国产AV精久久| 四虎影视国产精品| 色五月69夫妻| 婷婷丁香成人| 桑老女人九区| 亚洲97P| 久久香蕉网| 免费观看国产小粉嫩喷水精品午| 热热色AV| 97超久碰| 五月天综合| 国产精品久久妻无码网站| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 91色人妻| 久久久啊啊啊| 韩日精品福利视频一区不卡在线免| 九九激情网| 一级岛国大片| 日韩欧美传媒一区国产| 色天堂在线观看| 性爱视频久久| 人妻aa| 在线观看高清AV| 91在线观看,天天综合| 狠狠躁天天躁日日躁| 蜜桃视频精品一区二区| 亚洲无线观看久久| JuliaAnnXXX888| 天堂网 主播 亚洲| 青青色综合| 国产97色在线| 狠狠色狠狠色狠狠五月| 欧美片第一页| 欧美色吧综合| 欧美中字不卡| 一区,二区,三区视频| 人妻日日夜夜精品| 午夜高清成人在线视频| 亚洲无码一二三区| 操逼免费视频无码国产| 国产精品一区二区三区免费视频| 天天天做天天天爱天天天爽| 亚洲www91| 91成人在线| 欧美亚州手机在线| 狠狠穞A片一區二區三區| 久久精品国产72国产精品福利 | 91精品伊人久久久大香线蕉91| 岛国福利在线精品播放| 国产老太乱伦一区| 五十路三区在线| 婷婷五月天色网| 夜夜嗨免费视频| 国产丝袜高跟美女av免费观看| 五月丁香色色网| 717影院理论午夜伦八戒| 一区二区三区精品久久| 老司机深夜影院18未满| 久久久久久99AV无码免费网站| 亚洲欧美第一页| 日韩欧美性爱电影在线观看| 国产高清自拍| 久操免费观看| 国产精品自拍视频 | 亚洲欧美精品一区天堂久久 | 精品久久久久9999| 毛片视频白嫩| 91爽啪| 国产乱婷婷精品二区三区| 大香蕉伊人亚洲| 国产精品午夜高潮呻吟久久av| 黄片在线免费在线观看| 91久久婷婷| 天天影视网综合少妇| 亚洲综合五月天| 国产精品白虎| 久久99手机免费视频| 亚洲色图国产另类| 精品小视频在线|