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

針對XSS漏洞的前端防火墻:可疑模塊攔截

安全 應用安全
由于是在前端防護,策略配置都能在源代碼里找到,因此很快就能試出破解方案。并且攻擊者可以屏蔽日志接口,在自己電腦上永不發出報警信息,保證測試時不會被發現。

上一篇介紹的系統,雖然能防御簡單的內聯XSS 代碼,但想繞過還是很容易的。

由于是在前端防護,策略配置都能在源代碼里找到,因此很快就能試出破解方案。并且攻擊者可以屏蔽日志接口,在自己電腦上永不發出報警信息,保證測試時不會被發現。

昨天提到最簡單并且最常見的XSS代碼,就是加載站外的一個腳本文件。對于這種情況,關鍵字掃描就無能為力了,因為代碼可以混淆的千變萬化,我們看不出任何異常,只能將其放行。

因此,我們還需增加一套可疑模塊跟蹤系統。

被動掃描

和之前說的一樣,最簡單的辦法仍是遍歷掃描。我們可以定時分析頁面里的腳本元素,發現有站外地址的腳本就發送預警日志。

如果昨天說的內聯事件使用定時掃描,或許還能在觸發前攔截一部分,但對于腳本則完全不可能了。腳本元素一旦被掛載到主節點之下,就立即加載并執行了。除非定時器開的特別短,能在腳本加載的過程中將其銷毀,或許還能攔截,否則一不留神就錯過了。

我們得尋找更高端的瀏覽器接口,能在元素創建或添加時,進行分析和攔截。

主動防御

在無所不能的 HTML5 里,這當然是能辦到的,它就是 MutationEvent。與其相關的有兩個玩意:一個叫 DOMNodeInserted 的事件,另一個則是 MutationObserver 類。

前者雖然是個事件,但即使阻止冒泡它,或調用 preventDefault 這些方法,仍然無法阻止元素被添加;而后者就不用說了,看名字就是一個觀察器,顯然優先級會更低。

MutationEvent 試探

但不管能否實現我們的目標,既然有這么個東西,就先測試看看究竟能有多大的本領。

  1. <script> 
  2.     var observer = new MutationObserver(function(mutations) {  
  3.         console.log('MutationObserver:', mutations);  
  4.     });  
  5.     observer.observe(document, {  
  6.         subtree: true,  
  7.         childList: true  
  8.     });  
  9.  
  10.     document.addEventListener('DOMNodeInserted', function(e) {  
  11.         console.log('DOMNodeInserted:', e);  
  12.     }, true);  
  13. </script> 
  14.  
  15. <script>console.warn('site-in xss 1');</script> 
  16. <script src="http://www.etherdream.com/xss/out.js"></script> 
  17. <script>console.warn('site-in xss 2');</script> 
  18.  
  19. <button id="btn">創建腳本</button> 
  20. <script> 
  21.     btn.onclick = function() {  
  22.         var el = document.createElement('script');  
  23.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  24.         document.body.appendChild(el);  
  25.     };  
  26. </script> 

Run

出乎意料的是,MutationObserver 居然能逐一捕捉到頁面加載時產生的靜態元素,這在過去只能通過定時器才能勉強實現。同時為了更高效的記錄,MutationObserver 并非發現新元素就立即回調,而是將一個時間片段里出現的所有元素,一起傳過來。這對性能來說是件好事,但顯然會損失一些優先級。

再看DOMNodeInserted,它雖然無法捕獲到靜態元素,但在動態創建元素時,它比 MutationObserver 更早觸發,擁有更高的優先級。

靜態腳本攔截

接著再來嘗試,能否利用這兩個事件,銷毀可疑的腳本元素,以達到主動攔截的效果。

  1. <script> 
  2.     var observer = new MutationObserver(function(mutations) {  
  3.         mutations.forEach(function(mutation) {  
  4.  
  5.             var nodes = mutation.addedNodes;  
  6.             for (var i = 0; i < nodes.length; i++) {  
  7.                 var node = nodes[i];  
  8.  
  9.                 if (/xss/.test(node.src) || /xss/.test(node.innerHTML)) {  
  10.                     node.parentNode.removeChild(node);  
  11.                     console.log('攔截可疑模塊:', node);  
  12.                 }  
  13.             }  
  14.         });  
  15.     });  
  16.  
  17.     observer.observe(document, {  
  18.         subtree: true,  
  19.         childList: true  
  20.     });  
  21. </script> 
  22.  
  23. <script>console.warn('site-in xss 1');</script> 
  24. <script src="http://www.etherdream.com/xss/out.js"></script> 
  25. <script>console.warn('site-in xss 2');</script> 
  26.  
  27. <button id="btn">創建腳本</button> 
  28. <script> 
  29.     btn.onclick = function() {  
  30.         var el = document.createElement('script');  
  31.         el.src = 'http://www.etherdream.com/x\ss/out.js?dynamic';  
  32.         document.body.appendChild(el);  
  33.     };  
  34. </script> 

Run

又是一個出人意料的結果,所有靜態腳本被成功攔截了!

針對XSS漏洞的前端防火墻:可疑模塊攔截 

針對XSS漏洞的前端防火墻:可疑模塊攔截

 

然而這并非標準。FireFox 雖然攔截到腳本,但仍然執行代碼了。

針對XSS漏洞的前端防火墻:可疑模塊攔截

不過對于預警系統來說,能夠發現問題也足夠了,可以攔截風險那就再好不過。

動態腳本攔截

剛剛測試了靜態腳本的攔截,取得了不錯的成績。但在動態創建的元素上,和我們先前猜測的一樣,MutationObserver 因優先級過低而無法攔截。

那就讓 DOMNodeInserted 來試試:

  1. <script> 
  2.     document.addEventListener('DOMNodeInserted', function(e) {  
  3.         var node = e.target;  
  4.  
  5.         if (/xss/.test(node.src) || /xss/.test(node.innerHTML)) {  
  6.             node.parentNode.removeChild(node);  
  7.             console.log('攔截可疑模塊:', node);  
  8.         }  
  9.     }, true);  
  10. </script> 
  11.  
  12. <button id="btn">創建腳本</button> 
  13. <script> 
  14.     btn.onclick = function() {  
  15.         var el = document.createElement('script');  
  16.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  17.         document.body.appendChild(el);  
  18.     };  
  19. </script> 

Run

遺憾的是,DOMNodeInserted 也沒能攔截動態腳本的執行 —— 盡管能檢測到。經過一番嘗試,所有瀏覽器都宣告失敗。

當然,能實時預警已滿足我們的需求了。但若能攔截動態腳本,整套系統防御力就更高了。

既然無法通過監控節點掛載來攔截,我們不妨換一條路。問題總有解決的方案,就看簡單與否。

屬性攔截

仔細分析動態腳本創建的所有步驟:

  1. var el = document.createElement('script');  
  2. el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  3. document.body.appendChild(el); 

是哪一步觸發了掛載事件?顯然是最后行。要獲得比它更高的優先級,我們只能往前尋找。

既然是動態創建腳本,賦予它 src 屬性必不可少。如果創建腳本只為賦值 innerHTML 的話,還不如直接 eval 代碼更簡單。

如果能在屬性賦值時進行攔截,那么我們即可阻止賦予可疑的 src 屬性。

類似 IE 有個 onpropertychange 事件,HTML5 里面也是有屬性監聽接口的,并且就是剛剛我們使用的那個:MutationEvent。甚至還是那兩套方案:DOMAttrModified 和 MutationObserver。

在根節點上監聽屬性變化,肯定會大幅影響頁面的性能,但我們還是先來看看是否可行。

先嘗試 MutationObserver:

  1. var observer = new MutationObserver(function(mutations) {  
  2.     console.log(mutations);  
  3. });  
  4. observer.observe(document, {  
  5.     subtree: true,  
  6.     attributes: true  
  7. });  
  8.  
  9. var el = document.createElement('script');  
  10. el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  11. document.body.appendChild(el); 

站外腳本執行了,但奇怪的是,回調卻沒有觸發。原來,我們監控的是 document 下的元素,而腳本賦值時還處于離屏狀態,顯然無法將事件冒泡上來。

如果我們先 appendChild 再賦值 src 屬性,倒是可以捕獲到。但現實中調用順序完全不是我們說了算的。

同樣的,DOMAttrModified 也有這問題。

看來,事件這條路的局限性太大,我們得另辟蹊徑。

API 攔截

監控屬性賦值的方式肯定不會錯,只是我們不能再用事件那套機制了。

想在修改屬性時觸發函數調用,除了事件外,另一個在傳統語言里經常用到的、并且主流 JavaScript 也支持的,那就是Setter 訪問器。

當我們設置腳本元素 src 屬性時,理論上說 HTMLScriptElement.prototype.src 這個訪問器將被調用。如果我們重寫這個訪問器,即可在設置腳本路徑時將其攔截。

  1. <script> 
  2.     HTMLScriptElement.prototype.__defineSetter__('src', function(url) {  
  3.         console.log('設置路徑:', url);  
  4.     });  
  5. </script> 
  6.  
  7. <button id="btn">創建腳本</button> 
  8. <script> 
  9.     btn.onclick = function() {  
  10.         var el = document.createElement('script');  
  11.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  12.         document.body.appendChild(el);  
  13.     };  
  14. </script> 

Run

如果這套方案可行的話,一切都將迎刃而解。而且我們只監聽腳本元素的 src 賦值,其他元素和屬性則完全不受影響,因此性能得到極大提升。

經測試,FireFox 和 IE 瀏覽器完全可行。我們事先保存原始的 setter 變量,然后根據策略,決定是否向上調用。

  1. <script> 
  2.     var raw_setter = HTMLScriptElement.prototype.__lookupSetter__('src');  
  3.  
  4.     HTMLScriptElement.prototype.__defineSetter__('src', function(url) {  
  5.         if (/xss/.test(url)) {  
  6.             if (confirm('試圖加載可疑模塊:\n\n' + url + '\n\n是否攔截?')) {  
  7.                 return;  
  8.             }                 
  9.         }  
  10.         raw_setter.call(this, url);  
  11.     });  
  12. </script> 
  13.  
  14. <button id="btn">創建腳本</button> 
  15. <script> 
  16.     btn.onclick = function() {  
  17.         var el = document.createElement('script');  
  18.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  19.         document.body.appendChild(el);  
  20.     };  
  21. </script> 

Run

針對XSS漏洞的前端防火墻:可疑模塊攔截

效果非常漂亮,然而現實卻令人遺憾 —— 我們的主流瀏覽器 Chrome 并不支持。由于無法操作原生訪問器,即使在原型鏈上重寫了 setter,實際賦值時仍不會調用我們的監控程序。

先不急,若是拋棄原型鏈,直接在元素實例上定義訪問器又會如何?

  1. <button id="btn">創建腳本</button> 
  2. <script> 
  3.     btn.onclick = function() {  
  4.         var el = document.createElement('script');  
  5.  
  6.         el.__defineSetter__('src', function(url) {  
  7.             console.log('設置路徑:', url);  
  8.         });  
  9.  
  10.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  11.         document.body.appendChild(el);  
  12.     };  
  13. </script> 

run

這一回,Chrome 終于可以了。

針對XSS漏洞的前端防火墻:可疑模塊攔截

然而,這僅僅是測試。現實中哪有這樣的機會,供我們裝上訪問器呢。

因此,我們只能把主動防御的時機再往前推,在元素創建時就調用我們的防御代碼。我們得重寫 createElement 這些能創建元素 API,只有這樣,才能第一時間里,給實例裝上我們的鉤子程序,為 Chrome 實現動態模塊的防御:

  1. <script> 
  2.     // for chrome  
  3.     var raw_fn = Document.prototype.createElement;  
  4.  
  5.     Document.prototype.createElement = function() {  
  6.  
  7.         // 調用原生函數  
  8.         var element = raw_fn.apply(this, arguments);  
  9.  
  10.         // 為腳本元素安裝屬性鉤子  
  11.         if (element.tagName == 'SCRIPT') {  
  12.             element.__defineSetter__('src', function(url) {  
  13.                 console.log('設置路徑:', url);  
  14.             });  
  15.         }  
  16.  
  17.         // 返回元素實例  
  18.         return element;  
  19.     };  
  20. </script> 
  21.  
  22. <button id="btn">創建腳本</button> 
  23. <script> 
  24.     btn.onclick = function() {  
  25.         var el = document.createElement('script');  
  26.         el.src = 'http://www.etherdream.com/xss/out.js?dynamic';  
  27.         document.body.appendChild(el);  
  28.     };  
  29. </script> 

Run

這樣,當元素創建時,就已帶有我們的屬性掃描程序了,Chrome 不支持的問題也迎刃而解。

事實上,除了重寫 property 訪問器,我們還得考慮通過 setAttribute 賦值 src 的情況。因此需整理出一套完善的瀏覽器鉤子程序。

重寫原生 API 看似很簡單,但如何才能打造出一個無懈可擊的鉤子系統呢?明天繼續講解。

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

2014-06-23 09:18:22

2014-06-24 09:46:08

2014-06-30 14:12:09

XSSXSS漏洞前端防護

2014-06-24 11:46:22

2010-01-12 11:58:14

Cisco防火墻拒絕服務漏洞

2010-09-14 10:19:39

2016-01-24 23:12:00

UFW防火墻攔截IP地址

2010-09-14 13:08:52

2010-12-21 18:04:26

2010-12-08 09:29:27

下一代防火墻

2024-12-30 12:02:29

2010-09-09 17:22:36

2021-09-06 11:46:42

Fortinet漏洞防火墻

2021-06-25 18:31:37

云防火墻

2011-06-27 13:31:21

2010-05-24 17:49:56

2019-07-18 11:26:13

防火墻網絡安全軟件

2011-04-18 13:50:43

2011-03-25 11:18:51

2009-09-24 13:53:53

點贊
收藏

51CTO技術棧公眾號

欧美激情五月| 国产一区二区三区四区五区3d| 成熟亚洲日本毛茸茸凸凹| 97精品在线观看| 性欧美一区二区| 成人在线啊v| 亚洲va欧美va人人爽| 国产精品欧美久久| 中文字幕日韩一级| 精品理论电影在线| 精品国产区一区| 国产第一页视频| a黄色片在线观看| 91丝袜高跟美女视频| 国产免费久久av| 久久久久99精品成人片试看| 自拍欧美一区| 日韩亚洲欧美高清| 国产精品久久久久9999小说| 日本一本在线免费福利| 国产丝袜在线精品| 国产欧美日韩一区二区三区| 中文字幕在线观看第二页| 黄色成人精品网站| 精品国偷自产在线视频| 久久av无码精品人妻系列试探| 久久av偷拍| 欧美日韩综合一区| 无码精品a∨在线观看中文| 1769免费视频在线观看| 欧美极品另类videosde| 国产精品久久亚洲| 国产成人免费看一级大黄| 日本在线播放一区二区三区| 久久久久久久国产精品视频| 免费成人美女女在线观看| 久久99蜜桃| 亚洲国产精品99| 欧美老女人bb| 国内精品视频| 欧美巨大另类极品videosbest| 欧美 激情 在线| heyzo高清中文字幕在线| 亚洲欧美一区二区三区极速播放| 日韩区国产区| 成年在线观看免费人视频| 久久蜜桃av一区二区天堂| 成人免费在线看片| www.五月婷婷| 国产精品亚洲成人| 91在线视频免费| 97人妻精品一区二区三区| 美女视频一区在线观看| 国产精品91久久久| 日本熟妇一区二区三区| 久久亚洲图片| 国产精品白嫩美女在线观看| 久久中文字幕免费| 久久福利精品| 国产999精品| 337p粉嫩色噜噜噜大肥臀| 久久一综合视频| 国产成人亚洲综合91精品| 影音先锋在线国产| 石原莉奈一区二区三区在线观看| 日本一区二区在线播放| 性高潮视频在线观看| 三级影片在线观看欧美日韩一区二区| 国产成人精品一区| 亚洲免费视频二区| 久久精品国产久精国产爱| 国产日韩精品入口| www.桃色av嫩草.com| fc2成人免费人成在线观看播放 | 日韩高清精品免费观看| 伊人成年综合电影网| 97人人爽人人喊人人模波多| 在线观看黄网站| 日日摸夜夜添夜夜添精品视频 | wwwwww在线观看| 美女看a上一区| 91网免费观看| 四虎精品在线| 亚洲国产精品激情在线观看| 男同互操gay射视频在线看| 女同一区二区免费aⅴ| 亚洲已满18点击进入久久| 久久久999视频| 欧美成人免费全部网站| 884aa四虎影成人精品一区| 女女调教被c哭捆绑喷水百合| 国产毛片精品| 亚洲精品一区中文字幕乱码| 黄色av片三级三级三级免费看| 亚洲女同一区| 欧美诱惑福利视频| 国产精品久久久久久久久毛片 | 2017亚洲天堂| 红桃视频欧美| 国产精品久久久久久亚洲影视| 91精品视频免费在线观看| 成人免费毛片aaaaa**| 免费在线观看一区二区| 麻豆视频免费在线观看| 一区二区三区精品视频| 97视频在线免费播放| 亚洲日本中文| 亚洲乱码av中文一区二区| 国产精品国产精品88| 亚洲欧美卡通另类91av| 成人国产精品一区| 国产在线一二| 亚洲一级不卡视频| 999在线观看| 色婷婷精品视频| 久久艹在线视频| 日批视频免费在线观看| 成人免费毛片高清视频| 大地资源第二页在线观看高清版| 伊人久久av| 精品国产伦一区二区三区免费| 国产三级黄色片| 国产日韩专区| 97视频中文字幕| 色哟哟免费在线观看 | 欧美另类第一页| 精品乱码一区内射人妻无码| 99久久免费精品高清特色大片| 强伦女教师2:伦理在线观看| 成人免费网站www网站高清| 亚洲第五色综合网| 欧美三根一起进三p| 蜜乳av一区二区| 欧美日韩一区二区视频在线| av漫画网站在线观看| 日韩精品一区在线| 黄色录像一级片| 麻豆高清免费国产一区| 欧洲国产精品| 亚洲啊v在线| 日韩成人在线播放| 日韩精品成人在线| 成人动漫视频在线| 国产一区 在线播放| 精品一区二区三区视频在线播放| 日韩中文字幕视频在线观看| 中文字幕日本视频| 国产片一区二区| caopor在线视频| 国产精品午夜一区二区三区| 欧美亚洲视频在线看网址| 欧美一区二区三区黄片| 亚洲国产精品视频| 在线观看免费视频国产| 影音先锋中文字幕一区| 国产精品伊人日日| av在线播放资源| 日韩理论片久久| 亚洲国产成人无码av在线| 久久夜色精品国产噜噜av| 无码人妻h动漫| 国产午夜一区| 国产精品久久久久久影视| 99视频在线观看地址| 欧美日韩一区三区| av黄色免费在线观看| 韩国视频一区二区| 欧美国产综合在线| 另类春色校园亚洲| 日本人成精品视频在线| 国产最新视频在线| 欧美精品在线观看一区二区| 欧美做爰爽爽爽爽爽爽| 国产福利91精品一区二区三区| 欧美视频在线观看视频| 伊人久久大香线蕉综合网蜜芽| 日本高清视频精品| a√在线中文网新版址在线| 91精品一区二区三区在线观看| 日本a级片视频| 99久久久免费精品国产一区二区 | 新版的欧美在线视频| 一区二区成人精品| 99er热精品视频| 舔着乳尖日韩一区| 91麻豆精品国产91久久综合| 国内外成人在线| 国产精品无码一区二区在线| 日本不卡二三区| 成人av资源| 日韩一区二区三区在线免费观看| 久久精品国产综合| 香港三日本三级少妇66| 欧美三级在线视频| 久久免费在线观看视频| 国产婷婷色一区二区三区| 四虎国产精品免费| 老司机亚洲精品| 真实国产乱子伦对白视频| 九热爱视频精品视频| 亚洲一区二区在线| 欧美性xxx| 欧美黑人一区二区三区| www.视频在线.com| 亚洲精品99久久久久中文字幕| 中文字幕1区2区3区| 亚洲一区二区三区视频在线播放| 欧美 日韩 成人| 风间由美性色一区二区三区 | 亚洲一区 视频| 欧美国产精品劲爆| 97香蕉碰碰人妻国产欧美| 久久国产精品免费| jizzjizzxxxx| 黑人一区二区三区四区五区| 亚洲视频欧美在线| 亚洲老女人视频免费| 亚洲最大av网| av成人在线播放| 2019中文字幕在线| 男男gaygays亚洲| 日韩少妇与小伙激情| 国产精品麻豆一区二区三区| 亚洲第一天堂av| 国产夫绿帽单男3p精品视频| 欧美性感一类影片在线播放| 青青草成人av| 亚洲18女电影在线观看| 日本妇女毛茸茸| 亚洲婷婷综合久久一本伊一区| 国产精品天天干| 久久天堂av综合合色蜜桃网| 亚洲熟女一区二区| 国产成人8x视频一区二区| 国产精品嫩草影院8vv8| 欧美中文日韩| 久久精品国产精品亚洲色婷婷| 激情久久一区| 韩国无码av片在线观看网站| 天天插综合网| 中文网丁香综合网| 91免费精品| 一区二区三区|亚洲午夜| 成人在线亚洲| 亚洲欧洲国产日韩精品| 欧美理论视频| 天堂一区二区三区| 大色综合视频网站在线播放| 日本一区二区三区视频在线观看| 自拍偷拍精品| 先锋影音欧美| 欧美aaaa视频| 精品一区二区成人免费视频 | 精品99在线视频| 国产精品女主播一区二区三区| 成人免费性视频| 影院欧美亚洲| 高清在线观看免费| 久久精品午夜| 男人搞女人网站| 久久激五月天综合精品| 亚洲18在线看污www麻豆| 国产一区二区精品久久91| 亚洲在线观看网站| 国产成人午夜精品影院观看视频| 日韩精品――色哟哟| 97精品国产露脸对白| 在线免费观看麻豆| 国产精品午夜在线观看| 加勒比婷婷色综合久久| 夜夜揉揉日日人人青青一国产精品| 久久av高潮av无码av喷吹| 亚洲 欧美综合在线网络| 91精品国产综合久久久蜜臀九色 | 国产夫妻在线观看| 亚洲国产欧美一区| 国产福利在线看| 北条麻妃久久精品| 免费男女羞羞的视频网站在线观看| 91精品国产色综合| 99久久婷婷国产综合精品首页 | 97av视频在线观看| 美女视频一区二区三区| 国产精品一级无码| 91丨九色丨蝌蚪富婆spa| 妖精视频在线观看免费| 一区二区三区在线观看视频 | 国产日韩欧美一区在线 | 日本免费在线一区| 不卡视频一区二区三区| 伊人久久大香线蕉综合网蜜芽| 一区二区三区电影| 国产日韩欧美视频在线观看| 亚洲欧美偷拍三级| 国产成人自拍视频在线| 欧美日韩国产一级| 色偷偷在线观看| 日韩在线播放一区| 新版的欧美在线视频| 91中文精品字幕在线视频| 欧美欧美黄在线二区| 天天想你在线观看完整版电影免费| 国产欧美午夜| 亚洲在线观看网站| 亚洲国产高清不卡| 奇米影视第四色777| 在线播放91灌醉迷j高跟美女 | 50度灰在线观看| 老**午夜毛片一区二区三区| 美女被爆操网站| 国产精品久久久久久久久免费桃花| 日韩黄色一级大片| 欧美一级黄色大片| 91精品国产91久久久久游泳池 | av亚洲一区二区三区| www.久久爱.cn| 国产精品99视频| 麻豆传传媒久久久爱| 菠萝蜜视频在线观看一区| 搜索黄色一级片| 欧美三级中文字幕在线观看| 色在线免费视频| 午夜精品久久久久久久白皮肤 | 在线成人小视频| 草碰在线视频| 日本精品久久中文字幕佐佐木| av不卡一区二区| 国产在线拍揄自揄拍无码| 青青草91视频| 鲁丝一区二区三区| 色视频一区二区| 青青草在线免费观看| 91国产美女在线观看| 国产成人精品福利| 欧美激情亚洲天堂| 国产精品一区一区| 久久久久久久久久久久久女过产乱| 欧美久久高跟鞋激| 日本www在线观看| 成人福利免费观看| 国产精品福利在线观看播放| 天天干天天操天天做| 中文字幕乱码亚洲精品一区| 成人一级免费视频| 伊人成人开心激情综合网| 国产一区二区主播在线| 日本中文不卡| 日本不卡高清视频| 久久精品色妇熟妇丰满人妻| 欧美日韩一区二区三区在线看| 成人在线免费公开观看视频| 国产精品久久久久久久久久久久| 精品欧美久久| 国产三级三级看三级| 国产精品亲子乱子伦xxxx裸| 91亚洲精品国偷拍自产在线观看| 日韩中文字幕网址| 国产精品成人**免费视频| 亚洲小视频在线播放| 国产成人在线免费观看| 久久精品女人毛片国产| 亚洲国产精品美女| 美脚恋feet久草欧美| 视频一区二区三区免费观看| 麻豆视频一区二区| 久草综合在线视频| 精品久久久久一区二区国产| 黄色在线免费观看网站| 欧美人与性禽动交精品| 美女爽到高潮91| 99热精品免费| 亚洲国产精品字幕| 激情开心成人网| 中国成人在线视频| 成人久久视频在线观看| 中文字字幕在线中文| 国产一区二区三区在线| 成人国产精品久久| 阿v天堂2017| 国产精品日韩成人| 亚洲AV无码一区二区三区少妇| 2019国产精品自在线拍国产不卡| 久久不卡国产精品一区二区 | 东方欧美亚洲色图在线| 人妻丰满熟妇av无码区| 色偷偷9999www| 国产一级成人av| 超碰在线公开97| 亚洲国产欧美在线人成| 国产福利在线视频| 国产精品久久久久久久久久直播| 久久一区精品| 国产又黄又爽又无遮挡| 亚洲美女精品成人在线视频| 国产日本亚洲| www.四虎成人| 夜夜操天天操亚洲| h视频在线观看免费| 国产伦精品一区二区三毛| 日本欧美一区二区|