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客户端返回欢迎信息的地方
查找引用这个字符串的地方
在输出函数处下断点。
发送消息,进行单步调试

本文介绍了作者作为二进制新手进行溢出攻击的完整体验,从Fuzz测试到Shellcode开发。通过调试工具ImmunityDebugger和IDA,定位EIP并构造payload,最终实现利用jmp esp指令控制流程,并开发简单的Shellcode进行弹窗测试,成功触发溢出攻击。
最低0.47元/天 解锁文章
962

被折叠的 条评论
为什么被折叠?



