|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 # w6 O+ o! X, T+ B0 s
第一课 9736697ffdbbb8441a316538543f05f5 * N- y5 S8 V e+ E \
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢./ @; @ D& i. s' A6 X2 Y
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.% y8 x W6 |3 v
缓冲区溢出强大在于编写蠕虫,发现0DAY.
1 @+ c% ^6 P8 Z$ A- c" Q! Q o7 e 相关代码在附件里.* n e0 K. \2 g& z! O* k7 A9 M
教程下载地址" Z/ Z6 H* g+ A0 u9 `7 p. @+ H
纳米盘:
8 l$ v# R! m4 i7 j5 S http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02 X. ~* N. w2 r6 r( D
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=406194 q* k) g' j& \: G
5 x6 u1 l4 O2 O7 J
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b
) S' R/ d5 {: t& P暗组论坛也提供下载 j, E& o3 y f2 _2 c" B6 h: a& n
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)& v/ C0 d3 Y; d4 t8 Z* P E. x! C
第2课 开始调试和测试缓冲区溢出程序. V8 q* ^# y" c. z5 H: `
主要内容如下:通过自己构造特定字符来测试溢出点位置。
: y& G2 g# C( X. K% D 掌握和定位 函数的内存地址
7 V% F7 E! K8 r. }; | 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。& \( o# h; ~- u7 ]5 o5 F5 E
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902
& V2 N" i$ Q# M- S2 y1 A
7 R1 l' m* W/ Y: P$ s& N1 u6 q/ F转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
& p' ?% @ Y' ^1 F0 k
3 m$ ~( d7 Q, x, a$ o+ t: F2 a, F& U
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d89 H( Z0 e1 F1 h# p3 c1 ~" K3 V( V
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02
% x" K6 C* u. f) b什么是shellcode + D; y( B. j2 ~6 x3 J$ d/ ]% ~$ n
一段可以调出一个shell的机器码形成的字符串: h3 x# w' B5 X
2 L% r8 j3 k' i7 a如何得到shell的机器码. p: `( `9 j, R4 s, \1 q
ASM的嵌入编程 6 _$ \, n3 |. H( y8 H: X/ {
一个CMD对话框的shell
* B1 @5 j- I6 i$ Y' X
; y4 m6 a0 H# Y( G通用的格式:$ A! o$ n, ?, v: f9 b+ }6 \
Push ebp8 [2 g/ N9 u# Q0 p: C4 @
Mov ebp,esp
' V; m; I7 F, f: Q6 e4 KXor eax eax% F! o" o. P6 D: y3 @3 R' @
Push eax. D f- w5 r$ W9 n9 ~
Mov byte ptr[ebp-xh],xx
1 T7 k4 W) M$ G9 a1 `Lea eax,[ebp-xh]2 G6 |. v \2 o" N3 G
Push eax/ I6 [1 Z, P# q0 D8 R" \. _0 q
Mov eax,0x函数地址
" e) ~; v8 i$ d4 ?4 P m$ xCall eax
: C( \) M7 Y2 w' l# N" U: n/ v转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
' |. N( T# c$ X4 i( F- c `2 v$ I& }6 _* u2 W$ X& o
暗组缓冲区溢出第四课
0 b( s- T" B" `% \/ K8 U- Y如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
$ F. A9 ^2 z$ _8 ]所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
" u/ B3 }$ b4 G j- }
+ K0 p4 `5 Q+ J$ f关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.9 j6 e2 O; B/ c9 x* f
& h8 X Q, c# F% o
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
# S6 i9 z$ x1 {% p; T5 [转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071: k( N+ ~& s: W( L" f: s& E+ Q5 Y0 L
, O+ x- p) v3 a
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|