缓冲区溢出实验

缓冲区溢出实验

0x00 实验要求

1.请对stackoverflow.exe和CCProxy.rar的溢出点(即输入数据长度为多少时,程序会发生溢出)进行定位。
说明:stackoverflow的用法为:stackoverflow.exe+参数
CCProxy的用法为:设CCProxy的IP地址为ip,则在(远程主机)命令行下用:ping ip +参数;
2.根据你定位的溢出点,思考:如果你的Shellcode长度为500字节,那么在两种情况下,Shellcode放在参数的什么位置比较有利用执行?
3.在以上基础上完成一次shellcode的植入与运行。
要求(1):Shellcode功能不限,可以是开端口、运行计算器(记事本)、添加帐号等 均可。
(2)Shellcode要求能够以参数的方式植入并覆盖栈空间。
(3)返回地址的EIP处只能填写jmp esp指令地址,不得填写shellcode的地址硬编码。

0x01 stackoverflow

溢出点的分析

首先打开是一个需要输入字符的界面,为了简便分析,使用OllyDbg进行分析,尝试输入一些字符

这里写图片描述

进行单步调试,查看一下输入的字符在什么地方显示作用

这里写图片描述

因此,在刚刚的地方0x401130设置一个断点,然后进去仔细查看

这里写图片描述

发现刚刚输入的字符11111111,之后调试时发现被压入地址中,并且在后面会压一个结束00

这里写图片描述

并且发现下面有一个return0x401135这正好是第一次调试时显示完字符后的地址,通过分析,如果将输入的字符覆盖此时的0x401135,那样的话,返回地址将会被改变
先尝试一下16个1的情况1111111111111111,发现地址被改变成原本进入函数的先前地方

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值