格式化字符串任意地址写入、函数指针执行shellcode——攻防世界string复现及知识点简述

本文复现了攻防世界string挑战,解析漏洞利用过程。通过分析发现,程序为64位且未开启PIE,利用点在于格式化字符串任意地址写入,以及利用函数指针执行shellcode。攻击者需动态调试确定参数位置,并构造特定格式字符串,最终成功执行shellcode。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



原题复现——攻防世界string

漏洞分析

题目去除了符号表,简单分析即可还原函数功能,用ida改名即可

  1. 先进行基础检查,是64位程序,未开启PIE
    在这里插入图片描述

  2. main函数中会给出v3[0]和v3[1]的地址
    在这里插入图片描述

  3. 游戏开始需要输入角色名称,无利用点
    在这里插入图片描述

  4. go_east函数,没有可以利用的地方,必须输east才能继续游戏
    在这里插入图片描述

  5. 许愿函数,读入用户输入地址以及format,可以结合main函数给我们的地址进行任意地址写利用
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值