|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验
& ?3 q2 E- O: n第一课 9736697ffdbbb8441a316538543f05f5
1 w* W; p; C3 C6 C' R( Q6 @1 i基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.5 o" {5 V. @( ~( r: Q' w: z* j
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.
9 G" S3 g- z }: F. s* v 缓冲区溢出强大在于编写蠕虫,发现0DAY.
$ @$ j2 V v: o% A# @: i; ^# z 相关代码在附件里.
0 h9 N* t* [' ~( K& T/ a( B/ J1 m0 x 教程下载地址9 U8 d# S7 v/ I
纳米盘:
9 y; B- L6 P q; z S http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab025 ~5 H. ]% Y% k
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=406197 _! b6 Q4 |# G* I# U
% {% M5 c% X# E5 A第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b r Q" Z" B8 S/ i0 }
暗组论坛也提供下载
# @7 R3 G. Q1 j' X' D6 J教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)* z% X: {5 ~; w
第2课 开始调试和测试缓冲区溢出程序
c2 |# ~# q+ S# ^) s* y3 T 主要内容如下:通过自己构造特定字符来测试溢出点位置。
; X4 z3 d+ w" R) b& q4 {$ B% a 掌握和定位 函数的内存地址
?" _0 e# S5 H: O& s* a 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。4 X! J# e! n: V. c, i0 T& n1 k2 r: Z
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902( z9 h& H4 ` @
0 w2 {6 k: A, i/ u! |* J' E+ z
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918" L a' y/ U% G, a% K. V
$ ^$ X7 S$ A- i+ o" Z5 M0 E. E b
3 O- G' l$ ]4 o. D/ q第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d87 b' x3 g. `4 g8 o; p
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02) y, L1 q! I0 S. m. o0 r0 p
什么是shellcode ) }% B9 k! P! u
一段可以调出一个shell的机器码形成的字符串# g7 N+ s* L. \( a' Q! z
) K4 v) d. R! B7 t6 P如何得到shell的机器码
; K4 l6 U* a7 n* F/ Q( s% ~ASM的嵌入编程
5 _- }' y" x# M; G0 Y- Y m0 E一个CMD对话框的shell
) V* n& z0 G' T) l- M! N! G; p& F8 s; D
通用的格式:
# U4 t; k- J# \) b h- O; L/ u7 }Push ebp
! _4 ]( E: Q3 v: ]/ l8 d( J* P! WMov ebp,esp9 @# N8 m# X3 L0 ~! ]/ E7 `( c
Xor eax eax2 \' v7 m4 c& I* m! h3 w1 n
Push eax
4 Y! h4 `$ S- {( |; l1 Z/ jMov byte ptr[ebp-xh],xx+ j# T" h5 u# e3 f7 S
Lea eax,[ebp-xh]; X- h' s1 A; y
Push eax% [' b. g% X4 b8 x& F
Mov eax,0x函数地址
0 O( s3 i. t" v. q" kCall eax& B+ C9 [" ]% E5 C4 W; t
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289) b/ D% ]+ h7 V% T1 X# |
2 V1 A- f% M# T, q/ X; x暗组缓冲区溢出第四课0 {1 w) V8 v5 t, A0 t7 V
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。: q4 V7 `% O$ E0 J3 O
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
9 a) D1 X/ o, P) S; K# Y' b( U" t6 {) q0 w( x0 e& L9 @3 S. ^+ \% q
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
4 U: x2 J" p) f; c. w7 B6 R
) i3 H( |. T G( H" e7 B1 `视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901, l- t7 L) Z! a \- E/ J. E- E
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071- ~0 b# h* e0 g. Z' T
4 E$ v, h' G' Z, {$ J& w4 A[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|