首页
社区
课程
招聘
[原创]0day一书的学习心得
2008-7-31 18:58 34869

[原创]0day一书的学习心得

2008-7-31 18:58
34869
0day一书的学习心得

写的很乱,凑合着看吧,也许要既看过书又做了Exploit比赛题目同时还是菜鸟的人才会和我有同感,呵呵.

failwest这本书深入浅出,对前沿技术领域总是有自己独特的见解,很让人回味,这使学习的过程变成了一种享受,看完后还有种余犹未尽的感觉,忍不住感叹,要是能再增加一倍的容量就好了.也许不久之后,在漏洞领域failwest这本书就同Win32编程领域的<<Windows程序设计>>一样将成为经典之作.:)

书看完了,例子也做了,我就想着自己怎么样开始实践呢?看到论坛上有去年Explit大赛的专题,于是就把A和B两道题都下载了,决定先不看答案,尝试看自己能不能做出来?

先做A题,发现还是很简单的,加上说明文档里已经说了这是个服务器端程序,所以用IDA打开来一看,很快就看到溢出的地方,典型的栈缓冲区溢出,栈空间是200字节,但却可以拷贝最大512字节的内容,马上联想到了书中所讲的有两种方法:
1) 把Shellcode布置在缓冲区前面,淹没返回地址为缓冲区地址,这样就能跳到Shellcode了;
2) 把Shellcode布置在缓冲区后面,淹没返回地址为jmp esp的地址,这样也能跳到Shellcode;
把代码写出来后在本机上运行,OD调试能够进入Shellcode,但调用到LoadLibrary老是异常,用OD单步跟踪还是莫名奇妙,于是放到虚拟机执行,结果Win2K和XP都能成功运行.后来猜想可能是卡巴斯基的问题,于是放到另外一台机器上运行,果然就成功了;

再做B题,是个Active控件,傻眼了,知道要用ComRaider,但书上没有实战例子,完全不知道怎样才能Fuzz出漏洞来,无奈放弃自己做的想法.于是下载了那些获得了名次的高手们的答案,正所谓开卷有益,果然又看到了很多猛料.:)

一开始我用ComRaider来Fuzz时老是弹出错误框,后来看了netwind写的才知道注册的DLL和打开的DLL必须是同一个路径,原来netwind也犯了和我一样的错误,哈哈.同时看netwind的A题答案还让我知道了A题的第3种方法,谢谢了!
3) 还是把Shellcode布置在缓冲区前面,在函数返回时ESP+4正好指向输入参数,所以淹没返回地址为retn指令的地址,这样还是能跳到Shellcode;这种方法不需要JMP或CALL,我想应该是最通用的办法了.

还有看nop的答案,成名多年的高手真是不同凡响,答案既有详尽的步骤又精炼,非常的专业,写出来的代码也是让人大开眼界,让人钦佩.我想在以后的时间内nop的代码会有很多参考之处.

看完书还有一个感觉就是做漏洞分析需要很广泛的知识,汇编是不用说了,还要懂各种脚本语言,Html,VbScript,Perl,Python,Ruby一样都不能少.还有COM,Active知识也要了解.
我只熟悉C和汇编,原来以为这样就足够了,现在看来,还需要学习再学习.

在MSF的网站上还得到一个MSF的中文手册,有需要的可以下载.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (44)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wanghuok 2008-7-31 21:45
2
0
呵呵,楼主很用心。
雪    币: 249
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
菜的懒猫 2 2008-7-31 21:48
3
0
我也是只熟悉C和汇编,看了你的说明以后发现确实有“黑么多”的东西需要了解

搞这个 感觉 起点高,深入慢,需要耐心和毅力。
雪    币: 197
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
爱上学习 2008-8-1 08:19
4
0
和楼上的有同感!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Liquidworm 2008-8-1 09:19
5
0
LZ提到的第三种利用方式,偶还是不太明白啊。不过你的那本书,看了下目录,貌似很强大,谢谢了。

据说对数据文件结构也要了解下,不过这个可以临时参考的。
雪    币: 2056
活跃值: (13)
能力值: ( LV13,RANK:250 )
在线值:
发帖
回帖
粉丝
vxasm 6 2008-8-4 10:29
6
0
不错,分析溢出涉及到的技术太多了,我目前想做的就是把HTML,JavaScript,Perl,Python,Ruby等语言全部了解一遍.
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nichos 2008-8-7 12:52
7
0
我也觉得netwind用一个retn指令做跳板确实很赞,不知道除了这个和通用的jmp寄存器外,还有没有其他用跳板的技巧?

雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kakabean 2008-8-7 14:19
8
0
同感,刚开始试水,看了大家的一些帖子和心得,水好深呀
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
XPoy 3 2008-8-17 16:50
9
0
回LSS,汇编指令中运行后修改了EIP的都可以
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wjling 2008-8-22 18:04
10
0
谢谢LZ的资料!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wyycrow 2008-8-27 14:31
11
0
好东西,谢稿分享
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ericpeter 2008-9-19 10:23
12
0
溢出涉及到的技术太多了,这本书都翻烂了,刚又去买了一本......
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jackzkm 2008-9-25 08:47
13
0
谢谢楼主啊
学习学习
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
何平安定 2008-9-27 22:02
14
0
楼主是个有心人!
雪    币: 204
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
genpic 2008-10-11 02:15
15
0
我还是初级的初级阶段 。。谢谢楼主分享感受。。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PlutoGhost 2008-10-13 20:19
16
0
不懂,看看,只能搞定简单的
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wangchaoT 2008-10-18 01:10
17
0
感谢楼主分享
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yuyingXK 2008-10-18 21:57
18
0
总结不错。 正在学习
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
yxhxiaoqi 1 2008-11-21 23:15
19
0
不错不错,LZ有心机。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不尽湘江 2008-11-27 17:29
20
0
向楼主学习,呵呵
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rahacker 2008-12-12 18:34
21
0
我就更不用说了,刚开始学汇编。。难啊 。。头快暴了。。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
blacksnow 2008-12-17 16:48
22
0
谢谢楼主的分享··············
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DnDa 2008-12-19 17:10
23
0
。。。。。。。。。。。支持
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
coldpiano 2008-12-26 16:54
24
0
感谢LZ分享,我是个新人,想在这里问一下前辈们的一些关于学习方法的问题,是先要把基础的学完,按部就班的看好呢?还是找本实例比较多的书,遇到不懂的问题在查好呢?
谢谢!
雪    币: 2056
活跃值: (13)
能力值: ( LV13,RANK:250 )
在线值:
发帖
回帖
粉丝
vxasm 6 2008-12-27 11:43
25
0
我觉得这个可根据各人情况来。
方案一:基础扎实,但见效慢;方案二,见效快,有成就感;
如果有时间的话,我建议方案一,有句话叫欲速则不达。
游客
登录 | 注册 方可回帖
返回