|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 - s3 s) l+ L! T. p9 P
第一课 9736697ffdbbb8441a316538543f05f5
. b, |2 O' w( N# r4 C基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.9 B0 F8 h1 W' i ?: S+ |1 W
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.
) _* } \: T, ]0 b j 缓冲区溢出强大在于编写蠕虫,发现0DAY.# f% q- }0 }" w; j* I* ~- c5 B
相关代码在附件里.
( ^6 T% @0 d2 ?* M- ]8 ^. T6 O7 b 教程下载地址 F# m, O1 R9 X* h! C
纳米盘:' _0 H2 `" V+ ?3 b
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
: Z0 O3 _: T' y2 e; {转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619
2 m. Q! Y2 S, c! R r
3 C2 x1 A+ L& m; U! }) o第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b T+ Q3 ~+ D# {3 C+ \6 {2 K
暗组论坛也提供下载
" i/ |/ L8 _/ P C. o" R! x; K教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
( A' r! e+ t6 ~$ H 第2课 开始调试和测试缓冲区溢出程序
! x2 k( }5 y+ O7 O, j 主要内容如下:通过自己构造特定字符来测试溢出点位置。
6 T( {5 O& p& U- ^( K 掌握和定位 函数的内存地址
8 q, h8 L! B- m w4 g 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。& O# d' c* O: @
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902* d; d0 d2 w1 F# d! M* g Z- e' p. N
1 z% u$ a3 }$ O0 c# k4 |& Z
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
3 Y0 x) P! S/ Y$ D
" ~! [5 m s: \4 g9 I; \6 X$ z; B
, O, p- a. m8 R第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d87 g9 Y) J3 Y* }. X, c
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e024 I! n9 k3 O3 l2 D% ~, K1 t4 C
什么是shellcode $ Y1 A& ]* X/ h# C" f/ C
一段可以调出一个shell的机器码形成的字符串
5 F7 G2 z' l2 e Y$ M0 t! W
) \1 U" |3 b B1 V* F9 V$ b如何得到shell的机器码
5 {- C, _: a% o8 B8 \ASM的嵌入编程 ' |. }5 j& x$ u7 G T
一个CMD对话框的shell
: u0 a: d/ T, y5 @3 Z; q6 X' r6 ?8 m6 F( Y6 X1 @
通用的格式:
4 }- j6 p! ]$ G3 rPush ebp
( G- H3 n" a! n4 GMov ebp,esp+ M6 t! m$ V. T: m! ^
Xor eax eax
% j) v n" D# ~8 j, `% qPush eax) U" f, h2 ?4 @+ F
Mov byte ptr[ebp-xh],xx" L% u" w% i/ Q6 V: q4 z! u: d, M
Lea eax,[ebp-xh]
3 g7 I2 y5 @0 _3 `/ c0 }5 b; S5 {Push eax# `" u8 X1 _: P6 l* @6 x3 ]; b
Mov eax,0x函数地址
6 W) z& ~: ?# v: eCall eax
# j( G/ N9 E" q, u( w转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
- N. X4 i! M& R) b$ p+ D
, Y, H0 o' M! |; f1 H( Q暗组缓冲区溢出第四课
: q* y2 A! U2 I4 Q如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。2 B2 r1 C% q- C; e! A$ m
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
6 w: A# u+ D, C6 S
) L; f" f, [; f8 }% A8 `关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode./ I- Q# B. r6 b% X: q7 d
% f% Q L; B: e, z G视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901' o1 x& T6 e0 t3 Z. k M$ T$ q( K
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071
- _1 {/ H5 P: T' D. m: @2 O& n c/ \2 c7 {( I
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|