2019.11.6 unctf 的pwn题——简单绕过pie

本文详细介绍了如何在UNCTF的Pwn题目中,针对PIE(Position Independent Executable)保护进行后门布置,通过GDB分析函数返回地址和栈布局,利用函数间的空间差异来规避安全机制。关键在于理解地址的特定部分在PIE中不变,从而确定需要爆破的地址位。

这篇安全客关于pie和bapass绕过写的蛮好的!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到函数最后返回到v1(),而且上一个函数的开辟的空间比后一个函数开辟的函数大,我们想到可以在前一个函数中提早将后门函数布置好,因为弹栈并不会是栈中的数据变化,除非往栈中写数据。
我们现在就通过gdb我们需要往栈的拿个位置写后门函数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看见第一个数组的位置和后面 的v2()之间隔了0xc个字节。还有需要注意的是程序是将一个函数右移16位(也就是右移2个字节,我们能接收前两个字节,后面的两个字节,有3位是确定的)然后转为10进制打印出来。所以我们在接收后要将其逆过去。
在pie中地址的后三位是绝对不会改变的,所以我们需要爆破倒数第4位。
EXP:
在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值