一次溢出攻击的体验

本文介绍了作者作为二进制新手进行溢出攻击的完整体验,从Fuzz测试到Shellcode开发。通过调试工具ImmunityDebugger和IDA,定位EIP并构造payload,最终实现利用jmp esp指令控制流程,并开发简单的Shellcode进行弹窗测试,成功触发溢出攻击。
摘要由CSDN通过智能技术生成

Author:tony

前言

二进制新手,练手体验,大牛可以忽略。

先看个main函数中调用函数func_A函数的栈结构图,帮助理解。红色部分是main栈帧,绿色部分是func_A栈帧。

环境

靶机:Xp sp3

攻击机:kali 2.0

调试工具:ImmunityDebugger、IDA

插件:mona

Ctf工具包:pwntools

开发IDE:VC6.0

漏洞软件:freefloatftpserver1.0

Fuzz工具:Infigo FTPStressFuzzer v1.0(ftpfuzz)

Fuzz测试

使用ImmunityDebugger加载漏洞软件freefloatftpserver1.0,开启fuzz工具ftpfuzz。

可以看出,溢出成功。函数返回地址被覆盖了。

调试

客户端攻击代码如下:

下断点:

找到程序入口:我们选ftp serve给ftp客户端返回欢迎信息的地方

查找引用这个字符串的地方

在输出函数处下断点。

发送消息,进行单步调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值