作业5:栈溢出和格式化字符串溢出

本文详细解析了实验二中栈溢出与格式化字符串溢出的利用技巧,包括修改ret指针指向retip及利用printf漏洞调整值,通过GDB调试展示了整个过程。

信息安全实践作业5:栈溢出和格式化字符串溢出


1. 实验一

在这里插入图片描述

根据实验一的题目要求,将数组 buffer1 的大小改为 50,将语句 x=1 改为 x=(x+5)*2。如下所示:

在这里插入图片描述
运行结果为:
在这里插入图片描述
然后进行gdb 调试:
在这里插入图片描述
通过 b 5 命令对程序第五行的语句 ret = buffer1 + 12 打断点,然后查看当前 $ebpbuffer1 的地址,不难得出,$ebp-buffer1=0xbffffd48-0xbffffd00=0x48=72,而且retip=$ebp+4。所以 retip=buffer1+76

第一处应该改为:ret = buffer1 + 76。然后继续 gdb 调试,查看 main 函数的汇编:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值