|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 & s- `9 y' ^2 y! F
第一课 9736697ffdbbb8441a316538543f05f5 - Z' R) ]( W+ K. B5 Z8 B% @
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
" X9 D+ x* \6 l5 B 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.7 Y$ C7 ]9 B$ D/ Z; e
缓冲区溢出强大在于编写蠕虫,发现0DAY.8 l% c) b& X5 T( z" f
相关代码在附件里.8 k ^" }* u6 \
教程下载地址
" e+ D0 {" A& M! \" L! J/ M 纳米盘:; N; _6 {' x; e( K9 u
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
" T8 ?" u( A& I5 |: ~8 H! [转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619# y1 w0 p7 T" ?0 j0 N# O" a& E
/ t* U/ A1 m0 K0 P' Z, n0 P
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b ' N; F; w4 y/ c" o0 F, }
暗组论坛也提供下载 # v9 L. Z! u$ Y' m) K* M6 a! P
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
- w3 |6 y, B; v+ `9 f- ^5 e 第2课 开始调试和测试缓冲区溢出程序- x- d; r$ n. W' ?# j c. P
主要内容如下:通过自己构造特定字符来测试溢出点位置。
5 j1 a+ X' }# U9 P; M" s) U 掌握和定位 函数的内存地址
5 H3 W1 | M) }. u: |' p) y 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
& M+ m8 w. b/ F9 R5 `. O7 x 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902
3 Z) c8 [' c7 q7 ~5 R& q+ e6 E
$ {, q1 v9 R% J, I转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
# \( o4 E5 v/ w: i* a2 N6 }& z, q y" r E1 d
% c* F& [2 A) e; f6 A! _
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d86 N, [- J! c3 A5 r: ]' ~: @! o; X
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02( r% I9 ]# P0 p- }8 u ]. _
什么是shellcode + ~& I; F+ F. ?0 E; L. c+ S
一段可以调出一个shell的机器码形成的字符串2 ~2 k% x/ y2 ^4 o. I: I, n E
0 ^6 s1 \% u' x1 H8 n3 W
如何得到shell的机器码
. t$ [ q) ~ ~# S5 h9 FASM的嵌入编程 * @( I8 C( V) R4 C
一个CMD对话框的shell& E* n) @* ?3 B, m7 B
% i7 F& S5 g B5 f
通用的格式:+ m- w4 K9 x: F1 R* x2 s8 d
Push ebp
6 r' {4 N' e6 ^/ w% [Mov ebp,esp% C3 Y6 M( c9 A/ r
Xor eax eax
' `# h, W6 w g0 V4 ?Push eax6 U# z4 W" c5 o& Q
Mov byte ptr[ebp-xh],xx: k. r* \) H' u7 B7 p
Lea eax,[ebp-xh]
Q8 @7 I9 z8 r: w$ dPush eax$ `5 X- L) X% _. f- r. Y
Mov eax,0x函数地址2 N) T( d& Z" O9 S3 G4 V( [7 |
Call eax
! C# i; x2 f) m6 l# q4 [/ Y" }转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
, `+ |" C$ W9 w: p5 ?, ~7 e5 ?
! a2 u% Y% T" k9 @+ \暗组缓冲区溢出第四课
0 B( ^ K' a4 P8 X; h如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
u9 I& }6 t! C4 a1 W所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
8 B& D* g, m. } B, a8 F4 ], a+ h% E! U3 a: K3 m
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.: O3 E3 g0 s' e6 @9 W, o
* R$ Z5 d i( h; J视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
. r: t2 A0 F! D* p% ]: d转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071" y, F, @7 Z) c7 K0 D
: d/ v2 O7 i" ]# {$ Y$ G
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|