|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 # p2 l% j ~8 S s; [, A
第一课 9736697ffdbbb8441a316538543f05f5
0 \& F1 `) [+ R1 o A基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
5 n2 H4 p# f" W [9 | 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.7 } j; I" S4 Q0 S1 [
缓冲区溢出强大在于编写蠕虫,发现0DAY.6 A4 v& v; F1 G& z
相关代码在附件里.
* y4 O/ H! J; b 教程下载地址
" Q& C, o; B9 A ?% u( T 纳米盘:2 n/ d1 i8 Q) g; H+ j) s
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
+ j0 U: m' P$ }0 q7 o, F. x8 B转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619! |5 P6 l+ Q7 d4 D5 j
: h; h2 J: J$ D/ D
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b ; x3 x/ B+ @9 S- m. u+ Q
暗组论坛也提供下载
6 V% l- f" a4 s3 R3 s6 r( r, H8 v教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
' M" t% \5 `" T. [ 第2课 开始调试和测试缓冲区溢出程序: f* R0 L- F/ x% z: I
主要内容如下:通过自己构造特定字符来测试溢出点位置。
4 R6 v* E% X* \+ l3 `2 \- u" X 掌握和定位 函数的内存地址
! M2 L8 L/ T( ~ T# W. N 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。- x9 W& c' D0 m% y$ {
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902
- C" _# E5 u6 A$ R2 W6 w9 j# r$ {, P) Y( E% _ g+ I
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
" ?. S4 m+ C& L7 ~7 D, Z/ z* w' _! z
. f8 M" Y: ^ g/ L- }第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8* a& |3 K6 J4 ?5 Y
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02- t6 n% Z, F' i' ^; f+ d
什么是shellcode 5 B2 F: f1 m& [9 y9 f( x2 j* z
一段可以调出一个shell的机器码形成的字符串: z3 N2 p; _1 P- H0 T
/ X7 x p+ ]9 O# l3 m" ] m
如何得到shell的机器码
) j r2 Y( l6 r( Y. H1 n' f3 Z4 yASM的嵌入编程
8 |( [6 d# U# _ p& J一个CMD对话框的shell2 [) L5 h- G2 J) v% Z1 \' Q
$ T+ }: Z% O) d$ M; w2 d, o+ S通用的格式:% a" Q1 {3 }# Z. U9 c7 O* r1 v
Push ebp$ c7 \+ b# d. h, H; W5 d- [; x0 d
Mov ebp,esp( N! u& D9 E# R, T. Z
Xor eax eax
6 g" V+ i- T, e2 p* D- B2 NPush eax) y1 e$ d& ~8 E1 J. V
Mov byte ptr[ebp-xh],xx
! e) P' p2 |+ S6 jLea eax,[ebp-xh]
7 O: g* W3 ~$ `" lPush eax
$ x' R: T9 k. d5 h) y! m. fMov eax,0x函数地址
& F4 ?$ @, u, T- `! MCall eax% M& D9 ]% K, V
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
2 T8 A+ O/ g) R* ]8 F
0 q+ P! O! v* M1 v$ w# H; i- `暗组缓冲区溢出第四课
}5 l7 l1 t8 K2 z如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。$ m. N$ d1 F! A2 ]
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。- a! h+ G6 T/ V3 j9 \4 H6 k
3 z1 @, \) v2 |" q
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
7 g- N5 i5 x% C( `" J' N9 C3 {. E/ ]
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901# B$ P& y4 |- d, I; L9 K
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071$ p) x/ Y7 L% B9 _
. N' r4 W( \/ B/ V3 q/ ] |( ?
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|