pwn学习:pwnable.kr flag

Day 4: Study pwn via pwnable.kr——collision


写在前面: 记录自己的学习过程,从零开始。。。第 100b 天!!!

首先分析文件

在这里插入图片描述

在这里呢我们发现文件是ELF格式的,依次可以判断文件是被压缩的了。这里使用upx -d指定对文件进行解压,之后进行调试。

使用gdb调试程序

在这里插入图片描述
在这里插入图片描述

这里我们可以看出在main + 13的这条指令使用了一个puts命令,我们可以先运行到这一行查看程序到底打印了什么有用信息。

在这里插入图片描述

我们使用next 3,到达偏移为3的指令所在行。可以看出这里打印了一条信息。依据信息可以推断出flag将会存储在程序中,由malloc方法进行分配内存。之后flag将会被拷贝到到该内存处。

在这里插入图片描述

接着,查看汇编代码,定位malloc和copy函数。可以看出程序使用了两次call指令,第二条就是copy指令。由传递的参数可以推断出rsi中存储的就是flag对应的字符串地址。

在这里插入图片描述
在这里插入图片描述

运行到此处,然后查看内存。得到flag

mark!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值