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

通過(guò)nginx配置文件抵御攻擊

安全 黑客攻防
本文要介紹的是直接通過(guò)nginx的普通模塊和配置文件的組合來(lái)達(dá)到一定的防御效果。

前言

大家好,我們是OpenCDN團(tuán)隊(duì)的Twwy。這次我們來(lái)講講如何通過(guò)簡(jiǎn)單的配置文件來(lái)實(shí)現(xiàn)nginx防御攻擊的效果。

[[114027]]

其實(shí)很多時(shí)候,各種防攻擊的思路我們都明白,比如限制IP啊,過(guò)濾攻擊字符串啊,識(shí)別攻擊指紋啦。可是要如何去實(shí)現(xiàn)它呢?用守護(hù)腳本嗎?用PHP在外面包一層過(guò)濾?還是直接加防火墻嗎?這些都是防御手段。不過(guò)本文將要介紹的是直接通過(guò)nginx的普通模塊和配置文件的組合來(lái)達(dá)到一定的防御效果。

驗(yàn)證瀏覽器行為

簡(jiǎn)易版

我們先來(lái)做個(gè)比喻。

社區(qū)在搞福利,在廣場(chǎng)上給大家派發(fā)紅包。而壞人派了一批人形的機(jī)器人(沒(méi)有語(yǔ)言模塊)來(lái)冒領(lǐng)紅包,聰明工作人員需要想出辦法來(lái)防止紅包被冒領(lǐng)。

于是工作人員在發(fā)紅包之前,會(huì)給領(lǐng)取者一張紙,上面寫著“紅包拿來(lái)”,如果那人能念出紙上的字,那么就是人,給紅包,如果你不能念出來(lái),那么請(qǐng)自覺(jué)。于是機(jī)器人便被識(shí)破,灰溜溜地回來(lái)了。

是的,在這個(gè)比喻中,人就是瀏覽器,機(jī)器人就是攻擊器,我們可以通過(guò)鑒別cookie功能(念紙上的字)的方式來(lái)鑒別他們。下面就是nginx的配置文件寫法。

  1. if ($cookie_say != "hbnl"){  
  2.     add_header Set-Cookie "say=hbnl";  
  3.     rewrite .* "$scheme://$host$uri" redirect;  

讓我們看下這幾行的意思,當(dāng)cookie中say為空時(shí),給一個(gè)設(shè)置cookie say為hbnl的302重定向包,如果訪問(wèn)者能夠在第二個(gè)包中攜帶上cookie值,那么就能正常訪問(wèn)網(wǎng)站了,如果不能的話,那他永遠(yuǎn)活在了302中。 你也可以測(cè)試一下,用CC攻擊器或者webbench或者直接curl發(fā)包做測(cè)試,他們都活在了302世界中。

當(dāng)然,這么簡(jiǎn)單就能防住了?當(dāng)然沒(méi)有那么簡(jiǎn)單。

增強(qiáng)版

仔細(xì)的你一定會(huì)發(fā)現(xiàn)配置文件這樣寫還是有缺陷。如果攻擊者設(shè)置cookie為say=hbnl(CC攻擊器上就可以這么設(shè)置),那么這個(gè)防御就形同虛設(shè)了。我們繼續(xù)拿剛剛那個(gè)比喻來(lái)說(shuō)明問(wèn)題。

壞人發(fā)現(xiàn)這個(gè)規(guī)律后,給每個(gè)機(jī)器人安上了揚(yáng)聲器,一直重復(fù)著“紅包拿來(lái),紅包拿來(lái)”,浩浩蕩蕩地又來(lái)領(lǐng)紅包了。

這時(shí),工作人員的對(duì)策是這樣的,要求領(lǐng)取者出示有自己名字的戶口本,并且念出自己的名字,“我是xxx,紅包拿來(lái)”。于是一群只會(huì)嗡嗡叫著“紅包拿來(lái)”的機(jī)器人又被攆回去了。

當(dāng)然,為了配合說(shuō)明問(wèn)題,每個(gè)機(jī)器人是有戶口本的,被趕回去的原因是不會(huì)念自己的名字,雖然這個(gè)有點(diǎn)荒誕,唉。

然后,我們來(lái)看下這種方式的配置文件寫法

  1. if ($cookie_say != "hbnl$remote_addr"){  
  2. add_header Set-Cookie "say=hbnl$remote_addr";  
  3. rewrite .* "$scheme://$host$uri" redirect;  

這樣的寫法和前面的區(qū)別是,不同IP的請(qǐng)求cookie值是不一樣的,比如IP是1.2.3.4,那么需要設(shè)置的cookie是 say=hbnl1.2.3.4。于是攻擊者便無(wú)法通過(guò)設(shè)置一樣的cookie(比如CC攻擊器)來(lái)繞過(guò)這種限制。你可以繼續(xù)用CC攻擊器來(lái)測(cè)試下,你會(huì) 發(fā)現(xiàn)CC攻擊器打出的流量已經(jīng)全部進(jìn)入302世界中。

不過(guò)大家也能感覺(jué)到,這似乎也不是一個(gè)萬(wàn)全之計(jì),因?yàn)楣粽呷绻芯苛司W(wǎng)站的機(jī)制之后,總有辦法測(cè)出并預(yù)先偽造cookie值的設(shè)置方法。因?yàn)?我們做差異化的數(shù)據(jù)源正是他們本身的一些信息(IP、user agent等)。攻擊者花點(diǎn)時(shí)間也是可以做出專門針對(duì)網(wǎng)站的攻擊腳本的。

完美版

那么要如何根據(jù)他們自身的信息得出他們又得出他們算不出的數(shù)值?

我想,聰明的你一定已經(jīng)猜到了,用salt加散列。比如md5(“opencdn$remote_addr”),雖然攻擊者知道可以自己IP, 但是他無(wú)法得知如何用他的IP來(lái)計(jì)算出這個(gè)散列,因?yàn)樗悄娌怀鲞@個(gè)散列的。當(dāng)然,如果你不放心的話,怕cmd5.com萬(wàn)一能查出來(lái)的話,可以加一些特 殊字符,然后多散幾次。

很可惜,nginx默認(rèn)是無(wú)法進(jìn)行字符串散列的,于是我們借助nginx_lua模塊來(lái)進(jìn)行實(shí)現(xiàn)。

  1. rewrite_by_lua '  
  2.     local say = ngx.md5("opencdn" .. ngx.var.remote_addr)  
  3.     if (ngx.var.cookie_say ~= say) then  
  4.         ngx.header["Set-Cookie"] = "say=" .. say  
  5.         return ngx.redirect(ngx.var.scheme .. "://" .. ngx.var.host .. ngx.var.uri)  
  6.     end  
  7. '; 

通過(guò)這樣的配置,攻擊者便無(wú)法事先計(jì)算這個(gè)cookie中的say值,于是攻擊流量(代理型CC和低級(jí)發(fā)包型CC)便在302地獄無(wú)法自拔了。

大家可以看到,除了借用了md5這個(gè)函數(shù)外,其他的邏輯和上面的寫法是一模一樣的。因此如果可以的話,你完全可以安裝一個(gè)nginx的計(jì)算散列的第三方模塊來(lái)完成,可能效率會(huì)更高一些。

這段配置是可以被放在任意的location里面,如果你的網(wǎng)站有對(duì)外提供API功能的話,建議API一定不能加入這段,因?yàn)锳PI的調(diào)用也是沒(méi)有瀏覽器行為的,會(huì)被當(dāng)做攻擊流量處理。并且,有些弱一點(diǎn)爬蟲也會(huì)陷在302之中,這個(gè)需要注意。

同時(shí),如果你覺(jué)得set-cookie這個(gè)動(dòng)作似乎攻擊者也有可能通過(guò)解析字符串模擬出來(lái)的話,你可以把上述的通過(guò)header來(lái)設(shè)置cookie的操作,變成通過(guò)高端大氣的js完成,發(fā)回一個(gè)含有doument.cookie=…的文本即可。

那么,攻擊是不是完全被擋住了呢?只能說(shuō)那些低級(jí)的攻擊已經(jīng)被擋住而來(lái),如果攻擊者必須花很大代價(jià)給每個(gè)攻擊器加上webkit模塊來(lái)解析js 和執(zhí)行set-cookie才行,那么他也是可以逃脫302地獄的,在nginx看來(lái),確實(shí)攻擊流量和普通瀏覽流量是一樣的。那么如何防御呢?下節(jié)會(huì)告訴你答案。#p#

請(qǐng)求頻率限制

不得不說(shuō),很多防CC的措施是直接在請(qǐng)求頻率上做限制來(lái)實(shí)現(xiàn)的,但是,很多都存在著一定的問(wèn)題。

那么是哪些問(wèn)題呢?

首先,如果通過(guò)IP來(lái)限制請(qǐng)求頻率,容易導(dǎo)致一些誤殺,比如我一個(gè)地方出口IP就那么幾個(gè),而訪問(wèn)者一多的話,請(qǐng)求頻率很容易到上限,那么那個(gè)地方的用戶就都訪問(wèn)不了你的網(wǎng)站了。

于是你會(huì)說(shuō),我用SESSION來(lái)限制就有這個(gè)問(wèn)題了。嗯,你的SESSION為攻擊者敞開(kāi)了一道大門。為什么呢?看了上文的你可能已經(jīng)大致知 道了,因?yàn)榫拖衲莻€(gè)“紅包拿來(lái)”的揚(yáng)聲器一樣,很多語(yǔ)言或者框架中的SESSION是能夠偽造的。以PHP為例,你可以在瀏覽器中的cookie看到 PHPSESSIONID,這個(gè)ID不同的話,session也就不同了,然后如果你杜撰一個(gè)PHPSESSIONID過(guò)去的話,你會(huì)發(fā)現(xiàn),服務(wù)器也認(rèn)可 了這個(gè)ID,為這個(gè)ID初始化了一個(gè)會(huì)話。那么,攻擊者只需要每次發(fā)完包就構(gòu)造一個(gè)新的SESSIONID就可以很輕松地躲過(guò)這種在session上的請(qǐng) 求次數(shù)限制。

那么我們要如何來(lái)做這個(gè)請(qǐng)求頻率的限制呢?

首先,我們先要一個(gè)攻擊者無(wú)法杜撰的sessionID,一種方式是用個(gè)池子記錄下每次給出的ID,然后在請(qǐng)求來(lái)的時(shí)候進(jìn)行查詢,如果沒(méi)有的 話,就拒絕請(qǐng)求。這種方式我們不推薦,首先一個(gè)網(wǎng)站已經(jīng)有了session池,這樣再做個(gè)無(wú)疑有些浪費(fèi),而且還需要進(jìn)行池中的遍歷比較查詢,太消耗性能。 我們希望的是一種可以無(wú)狀態(tài)性的sessionID,可以嗎?可以的。

  1. rewrite_by_lua '  
  2. local random = ngx.var.cookie_random  
  3. if(random == nil) then  
  4. random = math.random(999999)  
  5. end  
  6. local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random)  
  7. if (ngx.var.cookie_token ~= token) then  
  8. ngx.header["Set-Cookie"] = {"token=" .. token, "random=" .. random}  
  9. return ngx.redirect(ngx.var.scheme .. "://" .. ngx.var.host .. ngx.var.uri)  
  10. end  
  11. 11  
  12. '; 

大家是不是覺(jué)得好像有些眼熟?是的,這個(gè)就是上節(jié)的完美版的配置再加個(gè)隨機(jī)數(shù),為的是讓同一個(gè)IP的用戶也能有不同的token。同樣的,只要有nginx的第三方模塊提供散列和隨機(jī)數(shù)功能,這個(gè)配置也可以不用lua直接用純配置文件完成。

有了這個(gè)token之后,相當(dāng)于每個(gè)訪客有一個(gè)無(wú)法偽造的并且獨(dú)一無(wú)二的token,這種情況下,進(jìn)行請(qǐng)求限制才有意義。

由于有了token做鋪墊,我們可以不做什么白名單、黑名單,直接通過(guò)limit模塊來(lái)完成。

  1. http{  
  2. ...  
  3. limit_req_zone $cookie_token zone=session_limit:3m rate=1r/s;  

然后我們只需要在上面的token配置后面中加入

  1. limit_req zone=session_limit burst=5

于是,又是兩行配置便讓nginx在session層解決了請(qǐng)求頻率的限制。不過(guò)似乎還是有缺陷,因?yàn)楣粽呖梢酝ㄟ^(guò)一直獲取token來(lái)突破 請(qǐng)求頻率限制,如果能限制一個(gè)IP獲取token的頻率就更完美了。可以做到嗎?可以。同時(shí),我們也要感謝一下Tengine,Tengine的 limit模塊可以支持多個(gè)變量。本文的所有的實(shí)驗(yàn)均在Tengine下完成。

  1. http{  
  2. ...  
  3. limit_req_zone $cookie_token zone=session_limit:3m rate=1r/s;  
  4. limit_req_zone $binary_remote_addr $uri zone=auth_limit:3m rate=1r/m;  
  5. }  
  6. location /{  
  7. limit_req zone=session_limit burst=5;  
  8. rewrite_by_lua '  
  9. local random = ngx.var.cookie_random  
  10. if (random == nil) then  
  11. return ngx.redirect("/auth?url=" .. ngx.var.request_uri)  
  12. end  
  13. local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random)  
  14. if (ngx.var.cookie_token ~= token) then  
  15. return ngx.redirect("/auth?url=".. ngx.var.request_uri)  
  16. end  
  17. ';  
  18. }  
  19. location /auth {  
  20. limit_req zone=auth_limit burst=1;  
  21. if ($arg_url = "") {  
  22. return 403;  
  23. }  
  24. access_by_lua '  
  25. local random = math.random(9999)  
  26. local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random)  
  27. if (ngx.var.cookie_token ~= token) then  
  28. ngx.header["Set-Cookie"] = {"token=" .. token, "random=" .. random}  
  29. return ngx.redirect(ngx.var.arg_url)  
  30. end  
  31. ';  

我想大家也應(yīng)該已經(jīng)猜到,這段配置文件的原理就是:把本來(lái)的發(fā)token的功能分離到一個(gè)auth頁(yè)面,然后用limit對(duì)這個(gè)auth頁(yè)面進(jìn)行頻率限制即可。這邊的頻率是1個(gè)IP每分鐘授權(quán)1個(gè)token。當(dāng)然,這個(gè)數(shù)量可以根據(jù)業(yè)務(wù)需要進(jìn)行調(diào)整。

需要注意的是,這個(gè)auth部分我lua采用的是access_by_lua,原因在于limit模塊是在rewrite階段后執(zhí)行的,如果在 rewrite階段302的話,limit將會(huì)失效。因此,這段lua配置我不能保證可以用原生的配置文件實(shí)現(xiàn),因?yàn)椴恢廊绾斡门渲梦募?rewrite階段后進(jìn)行302跳轉(zhuǎn),也求大牛能夠指點(diǎn)一下啊。

當(dāng)然,你如果還不滿足于這種限制的話,想要做到某個(gè)IP如果一天到達(dá)上限超過(guò)幾次之后就直接封IP的話,也是可以的,你可以用類似的思路再做個(gè) 錯(cuò)誤頁(yè)面,然后到達(dá)上限之后不返回503而是跳轉(zhuǎn)到那個(gè)錯(cuò)誤頁(yè)面,然后錯(cuò)誤頁(yè)面也做個(gè)請(qǐng)求次數(shù)限制,比如每天只能訪問(wèn)100次,那么當(dāng)超過(guò)報(bào)錯(cuò)超過(guò)100 次(請(qǐng)求錯(cuò)誤頁(yè)面100次)之后,那天這個(gè)IP就不能再訪問(wèn)這個(gè)網(wǎng)站了。

于是,通過(guò)這些配置我們便實(shí)現(xiàn)了一個(gè)網(wǎng)站訪問(wèn)頻率限制。不過(guò),這樣的配置也不是說(shuō)可以完全防止了攻擊,只能說(shuō)讓攻擊者的成本變高,讓網(wǎng)站的扛攻 擊能力變強(qiáng),當(dāng)然,前提是nginx能夠扛得住這些流量,然后帶寬不被堵死。如果你家門被堵了,你還想開(kāi)門營(yíng)業(yè),那真心沒(méi)有辦法了。

然后,做完流量上的防護(hù),讓我們來(lái)看看對(duì)于掃描器之類的攻擊的防御。

防掃描

ngx_lua_waf模塊 https://github.com/loveshell/ngx_lua_waf

這個(gè)是一個(gè)不錯(cuò)的waf模塊,這塊我們也無(wú)需重復(fù)造輪子。可以直接用這個(gè)模塊來(lái)做防護(hù),當(dāng)然也完全可以再配合limit模塊,用上文的思路來(lái)做到一個(gè)封IP或者封session的效果。

總結(jié)

本文旨在達(dá)到拋磚引玉的作用,我們并不希望你直接單純的復(fù)制我們的這些例子中的配置,而是希望根據(jù)你的自身業(yè)務(wù)需要,寫出適合自身站點(diǎn)的配置文件。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 網(wǎng)絡(luò)安全攻防實(shí)驗(yàn)室
相關(guān)推薦

2018-06-10 15:30:36

2015-05-27 11:28:31

2018-02-27 11:08:11

2010-09-08 12:49:23

2010-10-08 10:27:43

2010-03-25 18:31:03

Nginx配置文件

2017-01-17 16:21:41

2022-07-25 12:01:28

勒索軟件防御意識(shí)

2010-09-17 11:04:00

2020-04-09 13:23:29

Nginx配置文件模板

2010-03-25 17:46:27

nginx配置文件

2010-03-29 09:23:00

2010-03-30 18:04:45

Nginx http服

2010-03-25 18:09:23

Nginx配置文件

2023-08-31 14:35:02

2015-12-03 11:12:30

2017-09-15 10:09:07

2019-02-15 15:24:07

2022-07-28 16:50:54

安全DevOpsAPI

2010-02-06 14:00:05

Linux Nginx
點(diǎn)贊
收藏

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

亚洲高清在线视频| 亚洲综合丁香| 日韩手机在线导航| av动漫在线播放| 国产精品成人久久久| 欧美日韩在线观看视频小说| 欧美亚洲国产一区二区三区| 亚洲人成77777| 成人ww免费完整版在线观看| 欧美xxxxx视频| 91精品国产综合久久精品app| 在线观看视频黄色| 日日夜夜精品免费| 免费视频久久| 国产精品久久久久毛片大屁完整版 | 性欧美videos高清hd4k| 狠狠色综合播放一区二区| 欧美放荡办公室videos4k| 日本japanese极品少妇| 精品69视频一区二区三区| 又紧又大又爽精品一区二区| 久久久水蜜桃| 99热这里只有精品99| 亚洲九九在线| 亚洲欧美综合区自拍另类| www.久久久久久久久久久| 七七久久电影网| 91蝌蚪porny九色| 成人国产精品一区| 国产无码精品在线观看| 欧美最新另类人妖| 精品国产电影一区二区| 欧美美女一级片| 亚洲欧美国产精品va在线观看| 欧美色图色综合| 亚洲区欧洲区| 亚洲视频一区在线| 色综合久久久久久久久五月| 日本韩国一区| 99视频有精品| 精品国产一区二区三区麻豆小说 | 国产精品成人国产| 色哟哟国产精品免费观看| av网站手机在线观看| 香蕉久久aⅴ一区二区三区| 中文字幕一区二区三中文字幕| 日韩欧美一区二区视频在线播放| 欧美成人综合在线| 26uuu另类欧美| 久久亚洲国产精品日日av夜夜| 高清一区二区三区四区| 丁香五精品蜜臀久久久久99网站| 69堂成人精品视频免费| 国产日韩在线观看一区| 国产一区二区网址| 亚洲最大福利视频| 性色av蜜臀av| 不卡的av电影在线观看| 精品国产综合久久| 色哟哟在线观看| 久久蜜桃一区二区| 欧美精品七区| 在线看黄色av| 亚洲日本在线看| 国产成人一区二区三区别| 136福利第一导航国产在线| 亚洲尤物视频在线| 免费av手机在线观看| 最近高清中文在线字幕在线观看1| 色呦呦国产精品| 中文字幕第38页| 国产精品久一| 亚洲第一福利在线观看| 精品少妇一区二区三区免费观| 国产成人三级| 久久精品99久久久香蕉| 久久精品99国产精| 国产精品一页| 国产在线视频91| 国产18精品乱码免费看| 国产亚洲va综合人人澡精品| 中文字幕色一区二区| av在线资源| 91精品办公室少妇高潮对白| 在线能看的av网站| www.豆豆成人网.com| 亚洲欧美日韩直播| 黄色录像二级片| 日韩一区二区久久| 国产精品久久久久久五月尺| 亚洲国产成人精品一区二区三区| 91麻豆免费观看| 午夜在线视频免费观看| 午夜伦理福利在线| 91精品在线观看入口| 中文字幕一区二区三区乱码不卡| 欧美先锋资源| 91国内揄拍国内精品对白| 在线视频精品免费| 成人综合在线观看| 亚洲成人18| 特级西西444www大精品视频| 极品白浆推特女神在线观看 | 18视频在线观看娇喘| 中国色在线日|韩| 91精品国产免费| 久久久久久国产精品无码| 欧美日韩网站| 国产精品亚洲自拍| 欧美日韩激情视频一区二区三区| 亚洲欧美一区二区三区极速播放| 免费黄色特级片| 97久久综合精品久久久综合| 色偷偷av亚洲男人的天堂| 国产成人在线免费观看视频| 国产一区二区福利| 亚洲精蜜桃久在线| 精品国产免费人成网站| 欧美刺激脚交jootjob| 亚洲一区 欧美| 国产精品入口| 成人av中文| 在线观看麻豆蜜桃| 色婷婷久久综合| 国产一级免费片| 欧美精品18| 国产综合久久久久| 国产免费av高清在线| 懂色av中文一区二区三区天美| 人妻换人妻仑乱| 午夜精品一区二区三区国产| 国产欧美日韩免费| 殴美一级特黄aaaaaa| 亚洲一区二区三区四区在线| 亚洲精品在线网址| 国产精品毛片久久| 国产日本欧美在线观看| www.亚洲免费| 欧美视频一区二| 亚洲日本精品视频| 日韩在线卡一卡二| 日韩高清在线播放| 成人看片网页| 日韩在线视频播放| 中文字幕人妻一区二区在线视频 | 草民电影神马电影一区二区| 亚洲新声在线观看| 免费在线观看av的网站| 国产欧美va欧美不卡在线| 久久久久国产精品熟女影院| 伊人久久大香线蕉| 国产激情综合五月久久| 成人性生交大片免费看午夜| 欧美色中文字幕| 国产精品视频看看| 国产剧情在线观看一区二区| 男女激情免费视频| 日韩精品福利一区二区三区| 国产成人一区三区| 日本激情视频在线观看| 日韩一区二区影院| 久久精品亚洲无码| wwwwww.欧美系列| 九一精品在线观看| 91精品精品| 国产精品污www一区二区三区| 国产在线美女| 亚洲一区二区精品| 99精品久久久久久中文字幕| 亚洲午夜一区二区| 欧美熟妇精品黑人巨大一二三区| 奇米一区二区三区av| 最新黄色av网站| 久久狠狠久久| 国产精品久久久久久久久久三级| 午夜免费视频在线国产| 日韩欧美资源站| 日韩免费视频一区二区视频在线观看| 国产午夜精品一区二区| 国产黑丝在线视频| 亚洲国产网站| 日本一区二区三区视频免费看| 亚洲日本中文| 国外成人在线直播| √天堂资源地址在线官网| 欧美一卡二卡在线| 中文字幕一区在线播放| 亚洲欧洲一区二区在线播放| 无码成人精品区在线观看| 日本成人超碰在线观看| 欧美一区二区激情| 日韩欧美一区二区三区在线视频 | www.17c.com喷水少妇| 日韩电影在线观看电影| bt天堂新版中文在线地址| 影视先锋久久| 成人高清在线观看| 亚洲天堂1区| 色综合久久久网| 婷婷精品国产一区二区三区日韩| 精品国产一区二区三区性色av| 日本亚洲欧洲色| 日韩伦理电影网站| 在线成人激情黄色| 全国男人的天堂网| 欧美久久婷婷综合色| 狠狠人妻久久久久久| 一区二区三区视频在线观看| 超碰人人人人人人人| 91原创在线视频| 日本黄色三级网站| 蜜臀久久99精品久久久久宅男 | 成人自拍视频网| 欧美亚洲免费电影| 污的网站在线观看| 日韩视频在线免费| 国产98在线| 日韩美女av在线| 天堂中文在线观看视频| 日韩一区二区在线看| 97人妻一区二区精品免费视频| 日本道色综合久久| 日本中文字幕久久| 欧美丝袜一区二区| 中文字幕在线字幕中文| 亚洲国产美女搞黄色| 69av视频在线| 亚洲色图欧洲色图婷婷| 亚洲熟女毛茸茸| 中文字幕+乱码+中文字幕一区| 国产精品成人一区二区三区电影毛片| 成人免费不卡视频| 最好看的中文字幕| 国产剧情在线观看一区二区| 国产女同无遮挡互慰高潮91| 麻豆成人久久精品二区三区红| av五月天在线| 人人精品人人爱| 一区二区三区 日韩| 免费成人性网站| 色一情一区二区三区| 奇米一区二区三区| 天天爽夜夜爽一区二区三区| 日本不卡123| 一道本在线免费视频| 麻豆国产精品官网| 中文字幕第22页| 国产久卡久卡久卡久卡视频精品| 中文字幕一二三| 粉嫩av一区二区三区| 污污免费在线观看| 波多野结衣中文一区| 亚洲 欧美 日韩在线| 久久综合丝袜日本网| 男人舔女人下部高潮全视频 | 欧美日韩精品一区二区三区视频播放 | 精品99在线观看| 亚洲一区二区精品3399| 日韩成人av毛片| 一本久久a久久免费精品不卡| jizz国产在线观看| 欧美日韩在线综合| 精品久久久久久亚洲综合网站 | 在线观看亚洲成人| 在线免费av片| 精品久久久久av影院| 天天操天天舔天天干| 亚洲日韩第一页| 亚洲欧美视频一区二区| 久色乳综合思思在线视频| 国产又色又爽又黄刺激在线视频| 97精品在线观看| 成人免费黄色| 风间由美久久久| 色综合综合网| 米仓穗香在线观看| 午夜在线一区| 红桃视频 国产| 成人爱爱电影网址| 五月天精品视频| 日韩理论片中文av| 国产成人精品片| 69p69国产精品| 天天操天天干天天插| 视频直播国产精品| free性欧美| 国产欧美韩国高清| 免费福利视频一区| 中文字幕在线观看一区二区三区| 最新国产乱人伦偷精品免费网站| 天天爱天天操天天干| 成人av电影免费在线播放| 超碰人人人人人人人| 婷婷国产在线综合| 97人妻精品一区二区三区| 精品一区二区三区三区| 99自拍视频在线观看| 国产精品极品美女粉嫩高清在线| h视频久久久| 一区二区视频在线播放| 久久不射中文字幕| 国产sm在线观看| 中文字幕一区二区三区蜜月| 日韩在线视频不卡| 日韩精品一区二区三区三区免费| 国产三级在线观看| 午夜精品在线视频| 国内精品视频| 色一情一乱一伦一区二区三区| 99精品免费| 亚洲欧洲日韩综合| 欧美国产欧美综合| 国产毛片aaa| 欧美成人精品二区三区99精品| av网在线观看| 日韩av电影免费观看高清| 丁香综合av| 青青草视频国产| 国内精品视频666| 制服丨自拍丨欧美丨动漫丨| 色国产精品一区在线观看| 欧美 中文字幕| 久久久久久久久久婷婷| 亚洲成av人片在线观看www| 亚洲视频欧美在线| 日本系列欧美系列| 国产又粗又猛又爽视频| 日韩欧美福利视频| 三区在线视频| 欧美怡春院一区二区三区| 老牛影视av一区二区在线观看| 台湾无码一区二区| 国产精品18久久久久久vr| 国产成人综合在线视频| 69久久夜色精品国产69蝌蚪网 | 欧美一级bbbbb性bbbb喷潮片| 极品国产人妖chinesets亚洲人妖| 波多野结衣与黑人| 国产福利不卡视频| 精品少妇爆乳无码av无码专区| 欧美成人vps| 嗯啊主人调教在线播放视频| 国产精品日韩高清| 亚洲精品影视| 国产ts丝袜人妖系列视频| 欧美日韩一区二区在线播放| 日本不卡视频一区二区| 国产精品福利在线观看网址| 日韩免费看片| 国产免费中文字幕| 亚洲人精品午夜| 亚洲第九十九页| 国内免费精品永久在线视频| 麻豆国产欧美一区二区三区r| 国产成人无码精品久久久性色| 久久综合久久99| 最近中文字幕免费在线观看| 久久激情视频免费观看| 日韩在线成人| 免费黄色福利视频| 国产欧美精品国产国产专区| 国产精品人妻一区二区三区| 欧美高清在线观看| 女人抽搐喷水高潮国产精品| 国产精品天天av精麻传媒| 中文字幕一区二区不卡| www.亚洲欧美| 欧美诱惑福利视频| 久久伦理在线| 在线播放第一页| 色综合中文字幕| 成年人黄视频在线观看| 国产综合 伊人色| 日本不卡高清视频| 欧美精品xxxxx| 亚洲欧美激情在线视频| 亚洲男男av| 国产 日韩 欧美在线| 国产日韩欧美亚洲| wwwav在线播放| 国产成人黄色av| 最新国产精品久久久| 久久福利小视频| 欧美日韩精品综合在线| 国产乱妇乱子在线播视频播放网站| 欧洲亚洲一区二区三区四区五区| 激情文学综合插| 欧美h在线观看| 欧美成人精品激情在线观看 | 日韩在线观看中文字幕| 少妇人妻互换不带套| 一区二区三区产品免费精品久久75| 欧美套图亚洲一区| 91天堂在线观看| 久久一区国产| 黄色小视频在线免费看| 日韩午夜在线视频| 一本色道久久综合狠狠躁的番外| 人妻巨大乳一二三区| 欧美中文字幕不卡|