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

針對XSS漏洞的前端防火墻:天衣無縫的防護

安全 應用安全
上一篇講解了鉤子程序的攻防實戰,并實現了一套對框架頁的監控方案,將防護作用到所有子頁面。

上一篇講解了鉤子程序的攻防實戰,并實現了一套對框架頁的監控方案,將防護作用到所有子頁面。

到目前為止,我們防護的深度已經差不多,但廣度還有所欠缺。

例如,我們的屬性鉤子只考慮了setAttribute,卻忽視還有類似的setAttributeNode。盡管從來不用這方法,但并不意味人家不能使用。

例如,創建元素通常都是createElement,事實上createElementNS同樣也可以。甚至還可以利用現成的元素cloneNode,也能達到目的。因此,這些都是邊緣方法都是值得考慮的。

下面我們對之前討論過的監控點,進行逐一審核。

內聯事件執行 eval

在第一篇文章結尾談到,在執行回調的時候,最好能監控eval,setTimeout('...') 這些能夠解析代碼的函數,以防止執行儲存在其他地方的XSS代碼。

先來列舉下這類函數:

eval
setTimeout(String) / setInterval(String)
Function
execScript / setImmediate(String)

事實上,利用上一篇的鉤子技術,完全可以把它們都監控起來。但現實并沒有我們想象的那樣簡單。

eval 重寫有問題嗎

eval 不就是個函數,為什么不可以重寫?

  1. var raw_fn = window.eval;  
  2.  
  3. window.eval = function(exp) {  
  4.     alert('執行eval: ' + exp);  
  5.     return raw_fn.apply(this, arguments);  
  6. };  
  7.  
  8. console.log(eval('1+1')); 

完全沒問題啊。那是因為代碼太簡單了,下面這個 Demo 就可以看出山寨版 eval 的缺陷:

  1. (function() {  
  2.     eval('var a=1');  
  3. })();  
  4.  
  5. alert(typeof a); 

Run

按理說應該 undefined 才對,結果卻是 number。局部變量都跑到全局上來了。這是什么情況?事實上,eval 并不是真正意義的函數,而是一個關鍵字!#p#

Function 重寫有意義嗎

Function 是一個全局變量,重寫 window.Function 理論上完全可行吧。

  1. var raw_fn = window.Function;  
  2.  
  3. window.Function = function() {  
  4.     alert('調用Function');  
  5.     return raw_fn.apply(this, arguments);  
  6. };  
  7.  
  8. var add = Function('a', 'b', 'return a+b');  
  9. console.log( add(1, 2) ); 

重寫確實可行。但現實卻是不堪一擊的:因為所有函數都是 Function 類的實例,所以訪問任何一個函數的 constructor 即可得到原始的 Function。

例如 alert.constructor,就可以繞過我們的鉤子。甚至可以用匿名函數:

  1. (function(){}).constructor 

所以,Function 是永遠鉤不住的。

額外的執行方法

就算不用這類函數,仍有相當多的辦法執行字符串,例如:

創建腳本,innerHTML = 代碼 
創建腳本,路徑 = data:代碼 
創建框架,路徑 = javascript:代碼 
......

看來,想完全把類似 eval 的行為監控起來,是不現實的。不過作為預警,我們只監控 eval,setTimeout/Interval 也就足夠了。

可疑模塊攔截

第二篇談了站外模塊的攔截。之所以稱之『模塊』而不是『腳本』,并非只有腳本元素才具備執行能力。框架頁、插件都是可以運行代碼的。

可執行元素

我們列舉下,能執行遠程模塊的元素:

腳本

  1. <script src="..." /> 

 

框架

  1. <iframe src="..."> 
  2. <frame src="..."> 

插件(Flash)

  1. <embed src="..."> 
  2. <object data="..."> 
  3. <object><param name="moive|src" value="..."></object> 

插件(其他)

  1. <applet codebase="..."> 

這些元素的路徑屬性,都應該作為排查的對象。

不過,有這么個元素的存在,可能導致我們的路徑檢測失效,它就是:

它能重定義頁面的相對路徑,顯然是不容忽視的。

事實上,除了使用元素來執行站外模塊,還可以使用網絡通信,獲得站外的腳本代碼,然后再調用 eval 執行:

AJAX

目前主流瀏覽器都支持跨域請求,只要服務端允許就可以。因此,我們需監控 XMLHttpRequest::open 方法。如果請求的是站外地址,就得做策略匹配。不通過則放棄向上調用,或者拋出一個異常,或者給 XHR 產生一個 400 狀態。

WebSocket

WebSocket 和 XHR 類似,也能通過鉤子的方法進行監控。

不過,值得注意的是,WebSocket 并非是個函數,而是一個類。因此,在返回實例的時候,別忘了將 constructor 改成自己的鉤子,否則就會泄露原始接口:

  1. var raw_class = window.WebSocket;  
  2.  
  3. window.WebSocket = function WebSocket(url, arg) {  
  4.     alert('WebSocket 請求:' + url);  
  5.  
  6.     var ins = new raw_class(url, arg);  
  7.     // 切記  
  8.     ins.constructor = WebSocket;  
  9.     return ins;  
  10. };  
  11.  
  12. var ws = new WebSocket('ws://127.0.0.1:1000'); 

另外,因為它是一個類,所以不要忽略了靜態方法或屬性:

WebSocket.CONNECTING

WebSocket.OPEN

...

因此,還需將它們拷貝到鉤子上。#p#

框架頁消息

HTML5 賦予了框架頁跨域通信的能力。如果沒有為框架元素建立白名單的話,攻擊者可以嵌入自己的框架頁面,然后將 XSS 代碼 postMessage 給主頁面,通過 eval 執行。

不過為了安全考慮,HTML5 在消息事件里保存了來源地址,以識別消息是哪個頁面發出的。

因為是個事件,我們可以使用第一篇文章里提到的方法,對其進行捕獲。每當有消息收到時,可以根據策略,決定是否阻止該事件的傳遞。

  1. // 我們的防御系統  
  2. (function() {  
  3.     window.addEventListener('message', function(e) {  
  4.         if (confirm('發現來自[' + e.origin + ']的消息:\n\n' + e.data + '\n\n是否攔截?')) {  
  5.             e.stopImmediatePropagation();  
  6.         }  
  7.     }, true);  
  8. })();  
  9.  
  10.  
  11. window.addEventListener('message', function(e) {  
  12.     alert('收到:' + e.data)  
  13. })  
  14. postMessage('hello', '*'); 

Run

針對XSS漏洞的前端防火墻:天衣無縫的防護

當然,如果配置了框架頁的白名單,就能完全避免這回事了。所以這項防御可以選擇性的開啟。

事件源

HTML5 新增了一個叫 EventSource 的接口。不過其用法與 WebSocket 非常相似,因此可以使用類似的鉤子進行防御。

到此,我們列舉了各種能執行遠程模塊的方式。事實上,對其防御并不難,難的是收集這些監控點,做到滴水不漏。

API 鉤子

對于動態創建的可執行模塊,我們通過屬性鉤子,來監控其遠程路徑。

創建元素的方法

這一節是針對 Chrome 的,因為它不支持原生訪問器。

createElement / createElementNS 無中生有

cloneNode 克隆現有

innerHTML / outerHTML 工廠創建

前兩種,通過鉤子程序很容易實現。

第三種,因為 inner/outerHTML 是元素的 property,而非 attribute。由于 Chrome 是無法獲取原生訪問器的,所以使用鉤子會導致無法調用上級接口。

再者,inner/outerHTML 傳進來的是字符串。標簽和屬性魚龍混雜,解析字符串肯定是不靠譜的。所以還得先調用原生 innerHTML 批量構建出節點,然后再掃描其中的元素。而這個過程中,節點掛載事件已經觸發了。

所以,無需考慮第三種情況。

你可能會有疑問,既然用節點掛載事件都能搞定,為什么還要前面的鉤子?其實,在第二篇文章里已經詳細討論了,動態創建的腳本沒法被事件攔截,所以才用鉤子。

而通過 innerHTML 產生的腳本,是不會執行的!這個大家都聽說過吧。#p#

修改屬性的訪問器

通過原型鏈的訪問器鉤子,可以直接監控特定元素的特定 property,完全不影響他人,所以效率非常高。剛才列舉了可以執行遠程模塊的元素,這些元素的路徑屬性,都得進行重寫訪問器。

當然 Chrome 可以忽略這節。

修改屬性的方法

開頭也提到了,除了 setAttribute 外,使用 setAttributeNode 也能設置屬性,甚至還有 setAttributeNS 版本的。

由于 setAttribute 是個經常調用的方法,因此鉤子程序必須做足夠的優化,將額外的檢測消耗降到最低。

新頁面環境

除了使用最簡單的框架,其實還有其他可以獲得新頁面的途徑。

彈窗

通過彈窗也能獲得新頁面環境,大家都知道。但是窗口關閉,也隨之銷毀了,難道還能使用嗎?不妨測試一下:

  1. <style> .aa { color: red }</style> 
  2. <button id="btn">POPUP</button> 
  3. <script> 
  4.     btn.onclick = function() {  
  5.         var win = window.open();  
  6.         var raw_fn = win.Element.prototype.setAttribute;  
  7.  
  8.         win.close();  
  9.  
  10.         setTimeout(function() {  
  11.             console.log(raw_fn);  
  12.             raw_fn.call(btn, 'class', 'aa');  
  13.         }, 1000);  
  14.     };  
  15. </script> 

Run

盡管會有瞬間的閃動,但從新窗口里獲取的變量確實被保留下來了,并且依然起作用。因為我們引用著它,所以即使窗口關閉,仍然不會對其內存回收的。

現實中,可以把點擊事件綁在 document 上,這樣用戶隨便點哪里都能觸發,以此獲得純凈的環境。

因此,我們還得把彈窗函數,也通過鉤子保護起來。

除了最常用的 window.open,其實還有:

showModalDialog

showModelessDialog

opener

如果當前網頁是從其他頁面點擊打開的,無論是彈窗還是超鏈接,window.opener 都記錄著來源頁的環境。

如果是來源頁和自己又是同源站點,甚至還能訪問到來源頁里面的變量。

這種情況相當常見。例如從帖子列表頁,點開一個帖子詳情頁,那么詳情頁是完全可以操控列表頁的。

要解決這個問題也不難,直接給 window.opener 注入防護程序不就可以了,就像對待新出現的框架頁那樣。

但是,window.opener 可能也有自己的 opener,一層層遞歸上去或許有很多。每個頁面也許又有自己的框架頁,因此防護 window.opener 可能會執行非常多的代碼。如果在初始化時就進行,或許會有性能問題。

事實上,這個冷門的屬性幾乎不怎么用到。所以不如做個延時策略:只有第一次訪問 opener 的時候,才對其進行防護。

我們將 window.opener 進行重寫,把它變成一個 getter 訪問器:

  1. var raw_opener = window.opener;  
  2. var scanned;  
  3.  
  4. window.__defineGetter__('opener', function() {  
  5.     if (!scanned) {  
  6.         installHook(raw_opener);  
  7.         scanned = true;  
  8.     }  
  9.     return raw_opener;  
  10. }); 

這樣,只要不訪問 opener,就不會觸發對它的防護,做到真正按需執行。

后記

關于防護監控點,也沒有一個完整的答案,能想到多少算多少,以后可以慢慢補充。

但是,裝了那么多的鉤子及事件,對頁面的性能影響有多大呢?

所以,我們還得開發一個測試控制臺,來跟蹤這套系統。看看監控全開時,會對頁面產生多大影響。

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

2014-06-24 09:46:08

2014-06-23 10:58:48

2014-06-30 14:12:09

XSSXSS漏洞前端防護

2014-06-23 09:18:22

2011-03-15 10:32:05

2010-09-16 15:42:56

2009-10-10 16:50:35

2010-07-12 11:41:55

2010-09-14 13:08:52

2010-09-25 13:09:14

2010-09-14 10:19:39

2009-12-18 11:31:15

2010-09-17 09:13:10

2012-07-09 10:21:30

2010-09-09 17:22:36

2024-01-18 10:40:35

2019-07-18 11:26:13

防火墻網絡安全軟件

2010-12-21 18:04:26

2021-09-06 11:46:42

Fortinet漏洞防火墻

2011-04-06 15:53:32

點贊
收藏

51CTO技術棧公眾號

中文字幕人妻熟女人妻洋洋| 国产成人自拍在线| 亚洲第一av网| 日韩一级二级三级| 中文字幕最新精品| 免费高清视频在线观看| 精品丝袜在线| 中文字幕精品—区二区四季| 91综合免费在线| 日韩 欧美 综合| 日本久久一二三四| 精品国一区二区三区| 国产第一页视频| 性欧美videos高清hd4k| 久久蜜桃av一区精品变态类天堂| 成人午夜黄色影院| 久久国产黄色片| 一区二区中文| 亚洲色无码播放| 久久性爱视频网站| 欧美亚洲二区| 欧美午夜片在线免费观看| 乱子伦一区二区| 免费理论片在线观看播放老| 国产精品一区不卡| 国产精品免费看久久久香蕉| 久久精品波多野结衣| 欧美一级精品| 亚洲老头同性xxxxx| 成人欧美精品一区二区| 国产成人精品一区二区色戒| 国产欧美久久久久久久久| 99久久精品免费看国产| 亚洲最大av在线| 波多野结衣在线观看视频| 极品少妇一区二区三区| 欧美xxxx综合视频| 婷婷国产成人精品视频| 久久av综合| 亚洲精品成人久久| 蜜臀aⅴ国产精品久久久国产老师| 巨胸喷奶水www久久久免费动漫| 天天色 色综合| 大地资源网在线观看免费官网| 阿v免费在线观看| 久久伊人中文字幕| 黄色一区三区| 欧美熟妇另类久久久久久不卡 | 成人在线视频www| 欧美午夜一区二区三区免费大片| 九九九九免费视频| 黄视频免费在线看| 精品成人av一区| 国产黄色片免费在线观看| 午夜av在线播放| 一区二区三区四区在线播放| 亚洲色婷婷久久精品av蜜桃| 3d玉蒲团在线观看| 亚洲蜜臀av乱码久久精品| 中文字幕一区综合| 国产日产一区二区| 亚洲欧美日韩国产成人精品影院 | 一级日本在线| 国产日韩综合av| 日韩欧美手机在线| 国产精品久久久久久久龚玥菲 | 亚洲精品美女免费| 久久人人爽人人人人片| 久久超级碰碰| 亚洲毛茸茸少妇高潮呻吟| 妺妺窝人体色www在线小说| 久久亚洲精品一区二区| 欧美成人午夜剧场免费观看| 丰满少妇一区二区| 日本高清在线观看视频| 欧美色女视频| 最近2019年好看中文字幕视频 | 男人靠女人免费视频网站| 在线免费三级电影网站| 欧美性生交xxxxxdddd| 国产成人综合一区| 色综合久久久| 久久免费福利| 久久综合色8888| 日本在线观看一区二区| 91精品国产综合久久久久久豆腐| |精品福利一区二区三区| av动漫在线播放| 忘忧草在线影院两性视频| 欧美在线视频日韩| 亚洲国产日韩在线一区| 香蕉国产成人午夜av影院| 色婷婷久久一区二区| 九九视频免费观看| 亚洲影院在线| 国产日韩专区在线| 人人妻人人澡人人爽久久av| 久久精品水蜜桃av综合天堂| 日韩video| 中文字幕资源网在线观看免费 | 国产亚洲成aⅴ人片在线观看| 亚洲自拍三区| 无遮挡爽大片在线观看视频| 欧美日韩激情在线| 欧美肉大捧一进一出免费视频 | 永久免费精品影视网站| 一区二区视频免费看| 国产欧美日韩一级| 成人福利网站在线观看11| 日韩一区二区三区在线观看视频| 中文av一区特黄| av高清在线免费观看| 日韩色性视频| 亚洲免费中文字幕| 精品爆乳一区二区三区无码av| 日韩av电影天堂| 国产中文一区二区| www在线免费观看视频| 日韩欧美亚洲综合| 永久免费未满蜜桃| 中文字幕av亚洲精品一部二部| 日本精品中文字幕| 人妻精品一区一区三区蜜桃91| 中文字幕不卡在线播放| 激情深爱综合网| 精品中文字幕一区二区三区四区| 亚洲视频视频在线| 欧美三级韩国三级日本三斤在线观看| 国产麻豆视频精品| 亚洲国产一区二区三区在线| 在线视频超级| 亚洲国产精久久久久久久| 国产va在线播放| 久久97超碰色| 婷婷四月色综合| 欧美成人资源| 日韩av在线高清| 国产亚洲成人精品| 国产精品一区二区久久精品爱涩 | 91传媒视频在线观看| 91福利在线视频| 在线观看视频一区二区| 中文字幕丰满孑伦无码专区| 激情自拍一区| 国产精品一区二区a| gogo在线观看| 欧美一区二区精美| 97精品在线播放| 日本麻豆一区二区三区视频| 日产精品高清视频免费| 免费观看成人性生生活片| 亚洲男人av在线| 伦av综合一区| 久久婷婷综合激情| 99色精品视频| 国产一区二区电影在线观看| 国产成人精品免费久久久久| 免费在线超碰| 欧美性生交片4| 黄色av免费播放| 美日韩一区二区| 亚洲第一精品区| 国产午夜亚洲精品一级在线| 欧美日本高清视频| 欧美亚洲精品在线观看| 亚洲国产欧美在线| 午夜理伦三级做爰电影| 日韩电影在线观看一区| 日韩在线导航| 国产aa精品| 欧美精品18videos性欧| 日韩大胆人体| 欧美专区日韩专区| 中文字幕人妻一区二| 岛国精品一区二区| 男人天堂999| 欧美日韩激情在线一区二区三区| 国产欧美精品在线| 亚洲国产精品精华素| 欧美va亚洲va在线观看蝴蝶网| 激情五月色婷婷| 国产亚洲精品资源在线26u| 性欧美1819| 伊人成人在线视频| 欧美在线一二三区| 国产一区二区三区黄网站| 国产做受69高潮| 韩国免费在线视频| 91精品国产麻豆国产自产在线| 日本五十熟hd丰满| 国产精品色哟哟| 久久久久久久久久久影视| 亚洲一区二区成人| 中文字幕一区二区三区精彩视频 | 日韩电影免费观看高清完整| 国产成人久久精品一区二区三区| 91黑丝高跟在线| seseavlu视频在线| 欧美精品一区二区久久婷婷| 最近中文字幕在线观看| 一区二区三区欧美日| 国产jk精品白丝av在线观看| 韩国成人免费视频| 国产美女av在线| 亚洲久久在线| 欧美一区二区三区电影在线观看 | 九九99久久精品在免费线bt| 久久久噜噜噜久久| 91大神在线网站| 亚洲第一中文字幕在线观看| 国产乱码精品一区二区三区卡| 久久久久福利视频| 天堂av在线网| 精品久久久91| 亚洲欧美日韩免费| 亚洲欧美日韩视频二区| 91九色单男在线观看| 欧美三级网站| 欧美成人午夜激情视频| jizz在线免费观看| 亚洲免费av网址| 老司机午夜福利视频| 在线综合+亚洲+欧美中文字幕| 少妇太紧太爽又黄又硬又爽| 亚洲综合图片区| 免费在线观看a级片| 久久精品亚洲精品国产欧美kt∨| 国产不卡一二三| 国产精品一级在线| 亚洲一级免费观看| 日韩激情在线观看| 青青在线视频观看| 尤物在线精品| 97超碰国产精品| 在线看片不卡| 欧美爱爱视频网站| 日韩久久久久| 亚洲 国产 日韩 综合一区| 亚洲精品无吗| 精品日本一区二区| 鲁大师精品99久久久| 丁香五月网久久综合| 精品一区二区三区亚洲| 亚洲在线第一页| 国产精品1区在线| 亚洲欧洲精品天堂一级 | 国产日韩v精品一区二区| 先锋资源av在线| 成人动漫一区二区| 美女扒开腿免费视频| 成人自拍视频| 国产欧美丝祙| 日韩视频欧美视频| 国产天堂素人系列在线视频| 亚洲精品中文字幕av| 天天干天天干天天干| 亚洲电影第1页| 天堂网2014av| 亚洲精品日韩久久久| 黄网在线观看| 国产一区二区三区蝌蚪| 阿v天堂2018| 一区二区毛片| 北条麻妃在线观看| 久久黄色影院| 搡女人真爽免费午夜网站| 麻豆久久一区二区| 性生生活大片免费看视频| 国产很黄免费观看久久| 99久久久无码国产精品性波多 | 少妇真人直播免费视频| 久久精品视频网| 青青青视频在线播放| 亚洲精品中文在线| 日本一本高清视频| 色婷婷精品大视频在线蜜桃视频| 青娱乐在线免费视频| 91精品蜜臀在线一区尤物| 高潮一区二区三区乱码| 亚洲精品一区二区在线| 麻豆传媒视频在线观看| 欧美国产中文字幕| 欧美xx视频| 亚洲综合小说区| 图片婷婷一区| 正在播放一区二区三区| 日韩一级在线| 97超碰成人在线| av午夜精品一区二区三区| 精品日韩在线视频| 亚洲一区在线视频| 成人黄色免费网| 欧美精品一区二区三区蜜桃视频| 欧洲天堂在线观看| 欧美巨乳美女视频| 性感美女一区二区在线观看| 亚洲a一级视频| 国产精品探花在线观看| 国产又粗又爽又黄的视频| 一本色道精品久久一区二区三区 | jizz性欧美10| 26uuu亚洲伊人春色| 日本一区二区三区中文字幕| 国产一区二区不卡视频| 色777狠狠狠综合伊人| www国产精品内射老熟女| 美腿丝袜亚洲一区| 亚洲成人日韩在线| 亚洲靠逼com| 中文av免费观看| 日韩av在线影院| 成a人片在线观看| 国产成人综合久久| 欧美毛片免费观看| 国产一级不卡视频| 美女视频一区二区三区| 国产精品伦子伦| 亚洲一二三四在线| a天堂在线观看视频| 尤物yw午夜国产精品视频| 天堂网在线最新版www中文网| 51国偷自产一区二区三区的来源| 成人三级视频| 国产精品wwwww| 99久久婷婷国产综合精品| 欧美极品aaaaabbbbb| 欧美精品aⅴ在线视频| 精品福利视频导航大全| 97人人做人人爱| julia中文字幕一区二区99在线| 中文字幕日韩精品久久| 日本va欧美va欧美va精品| 熟女俱乐部一区二区视频在线| 天天影视网天天综合色在线播放| 蜜臀久久99精品久久久| 欧美黄色片在线观看| 国产亚洲字幕| 美女在线免费视频| 国产精品羞羞答答xxdd| 内射一区二区三区| 欧美一区二区三区四区在线观看| 日本在线免费播放| 国产精品嫩草影院久久久| 波多野结衣一区| 亚洲成人福利在线观看| 国产亚洲欧洲997久久综合| 亚洲欧美偷拍一区| 亚洲欧美国产一区二区三区| 免费观看欧美大片| 免费在线成人av| 三级影片在线观看欧美日韩一区二区| 亚洲欧美日本一区| 色综合中文综合网| 国产在线视频网| 国产精品久久久久久亚洲影视| 精品欧美激情在线观看| 国产九九在线观看| 亚洲天堂2016| 亚洲黄色小说网址| 久久久人成影片一区二区三区观看| 国产精品1luya在线播放| 麻豆tv在线播放| 99久久99久久精品国产片果冻| 久久久久99精品成人片三人毛片| 亚洲天堂精品在线| av在线一区不卡| 国产卡一卡二在线| 懂色av一区二区三区免费观看| 久久9999久久免费精品国产| 亚洲美腿欧美激情另类| 免费成人毛片| 亚洲欧美日韩国产手机在线 | 欧美伊人精品成人久久综合97| 91精彩视频在线观看| 91在线精品观看| 亚洲一区黄色| 特级西西人体高清大胆| 日韩一级大片在线| 波多野结衣亚洲| 手机福利在线视频| 99久久伊人精品| 亚洲精品国产精品国自产网站按摩| 北条麻妃在线一区二区| 成人高潮a毛片免费观看网站| 国产91在线视频观看| 中文字幕亚洲欧美在线不卡| www.蜜桃av.com| 日韩美女免费观看| 香蕉国产精品| 国产一级二级视频| 欧美日产国产精品| 草草在线视频| 夜夜爽www精品| 91丨九色porny丨蝌蚪| 91久久国语露脸精品国产高跟| 欧美激情区在线播放| 第四色成人网| 欧亚乱熟女一区二区在线| 欧美日韩电影在线| 国产夫妻在线播放|