|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 * ^/ x& G2 S8 `6 ~# ?7 X! }; e9 ~
第一课 9736697ffdbbb8441a316538543f05f5
' i" H# m5 m+ G3 A) j基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
( S7 T x9 ^) X2 j" L 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶. [$ Z! r+ l: Z. i/ f- O
缓冲区溢出强大在于编写蠕虫,发现0DAY.
# k% v+ i4 p/ y* v, f S) J1 [" B 相关代码在附件里.9 }. j7 x0 a: z% G& }; q
教程下载地址
4 {: t% S; @. \$ {) Z 纳米盘:
+ F% m6 H- O$ f* h$ B http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
! U4 ~1 T5 J+ W2 {转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619
B% Y5 F, j7 p! y( t: y& O H" l2 c. ]2 Q0 P
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b : q. r9 h: K/ |
暗组论坛也提供下载 % y7 m3 Z3 t; h8 f
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)* w9 Y. K* S$ ^
第2课 开始调试和测试缓冲区溢出程序
. I0 S2 P6 { B) l& I5 V: w2 j7 h 主要内容如下:通过自己构造特定字符来测试溢出点位置。( N& w% ~# s- r, B( H/ t7 Q4 n
掌握和定位 函数的内存地址3 n0 n l1 m* ^9 `1 D, y/ @
口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
7 c2 V1 H% d' I4 d" L. X2 ^ 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902; z; ^! V. J' W+ [ P
" B9 p6 S4 o2 Q6 r
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
t. m+ G# I' E" d1 V8 V$ q( h7 g5 P) K: V$ c+ k; K6 c2 n% k
' i- o' H1 n; E* k* t第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8$ B/ n) _* Q4 l7 b* Q
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e022 a/ n- h: r/ P" \8 s" i# |4 k! e
什么是shellcode 9 p& V, m: @5 o* R3 s% f& w
一段可以调出一个shell的机器码形成的字符串4 l* L/ @; h, f( U2 ~5 b
# X7 \6 g0 h' s; M0 ]# M如何得到shell的机器码
) {7 Q- U. V. W. oASM的嵌入编程
2 l" x. H5 u3 _4 {$ x一个CMD对话框的shell. Q$ X$ _. y/ m+ F
, D9 S% Y7 I2 Q N& u2 g! z
通用的格式:! g! h1 a$ D- |9 a7 I3 @' {4 F
Push ebp8 ~2 U; m! E/ v8 B- A4 S) E- t
Mov ebp,esp; g( j4 I I! }9 F
Xor eax eax7 \7 r8 @0 {( X' K
Push eax
: r' Y& U$ x9 R8 H3 o8 e) L& l# ^Mov byte ptr[ebp-xh],xx
7 f# P1 j( Z4 |Lea eax,[ebp-xh]* h0 {, }0 Q, r% y7 G
Push eax: B) `0 c! o5 ]+ `; l; x% x8 b; T
Mov eax,0x函数地址
1 Q1 r; L( F& p9 Y! h9 `Call eax
A! R8 ]* k* F X! w转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=412891 F* R5 M6 d- c7 }
0 {9 ^5 x& {- Q- V. M* k! N. Q" w暗组缓冲区溢出第四课
" V4 p4 N1 [. Z0 K, F) f K* b如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。4 r' b- c9 _4 |2 I1 k' {; R4 C
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。, T4 R+ B' v$ B& x
6 z; R9 x' L) p- X: O* U关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.8 f. i' H+ d6 @! ?! e8 X* p
/ h7 f2 u1 {8 N- D4 {& `视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901" V5 Q. c( h9 b4 \3 R9 X
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071
" H* r' i U+ s# s' Z7 j
5 |$ W, y6 m: z) L. U[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|