|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 # X* L! \0 ?0 |
第一课 9736697ffdbbb8441a316538543f05f5
5 M2 x' T2 R4 [/ c6 B$ U Z基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
3 s& @% ~4 l: D# e! w 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.: ?4 e z% ~7 {7 k4 j/ T0 s; [
缓冲区溢出强大在于编写蠕虫,发现0DAY.
" p: V0 x. k% h- h ~, m 相关代码在附件里.
2 |% n5 Z, G( p$ J% o/ [2 y: | 教程下载地址% ]4 v- a8 w+ j7 D: A5 Z4 h0 G
纳米盘:
+ h$ c3 ^) ?0 d0 T) }4 G% Z% ^# h9 h http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
8 s; b; G7 t# d' D/ P) D+ e& `转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=406192 n) c" n& W6 O
) j& n: j( r N. J0 D) L
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b
5 |+ m' L# i. W' I; o, S! R; ~暗组论坛也提供下载 0 I3 ]- J- _1 y+ I
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)! `" |9 t7 f0 ?) R
第2课 开始调试和测试缓冲区溢出程序
& w l1 m6 i0 M7 e- w! {' D J* R8 x 主要内容如下:通过自己构造特定字符来测试溢出点位置。
4 m7 n W8 h v! [( ^: b2 l2 o8 N; U 掌握和定位 函数的内存地址
* W9 @* R# }4 [9 \7 l 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
2 ^7 o4 P3 U6 h$ [ 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902
( _, r0 [$ p' O
/ O% W2 Y; g2 j# p转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918% O& z8 |: F. C# _
2 l& K! c# l7 W; x, Q
- e, V, J3 E0 M# e3 {第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8
5 k" ?! Z; P1 `* O; W5 D课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02- v% b2 i3 M8 h: K7 s! k
什么是shellcode 4 O6 q/ Y8 O. h8 ?" r# W. p
一段可以调出一个shell的机器码形成的字符串
1 N) c1 ?+ b$ c9 A
4 U: n0 V# N0 B# F& k/ H$ i如何得到shell的机器码
/ g$ e q; d4 n* q, GASM的嵌入编程
# n: Z+ y0 p w s一个CMD对话框的shell }6 A8 a* O) a% p: k+ c9 J, |6 z
* p6 T: U/ e% H通用的格式:
5 q. R6 j- J+ F$ x9 G3 X* IPush ebp
. x. y+ z+ A8 B0 S! lMov ebp,esp* A4 N$ V: d" k
Xor eax eax! L! z: R% s- o; S5 e4 m+ N
Push eax
5 H( X' @% ^) q$ WMov byte ptr[ebp-xh],xx
1 V+ r8 R( f$ ?5 r; g2 W+ ZLea eax,[ebp-xh]" g+ n3 V! c3 R+ |* K0 ^
Push eax `/ Z0 w. }: n* m
Mov eax,0x函数地址
+ C0 |9 r" x* R- _ H8 I' U& Z. pCall eax
' V. {5 _' e2 G6 l0 a( O. M6 J转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=412897 l6 ^ T/ s% F9 m1 A# q
2 `6 E, Z& e, D9 S/ v暗组缓冲区溢出第四课
7 H/ a/ ]0 o# n: }- T- z/ W如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。+ q$ y" y8 t+ x2 q+ x
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
2 g, D, Q6 s6 c1 V0 F/ G" u+ Q
Y: V6 s% F& V' u; s, \关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.( j4 K9 S" d& g- k4 q
, l' {$ m2 C1 e" U
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
! b, D/ h( t2 x7 f; F# e% Y3 ]转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071% G. T7 ?; k7 x: X
" f |) P6 X" }1 x* m[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|