|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 . T- w. Z1 m* o5 N
第一课 9736697ffdbbb8441a316538543f05f5
: R- i+ z8 l; c/ [% o4 Q( ~: a基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
# R- Z9 p% A5 O! \6 k* s 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.
0 s+ r# Q+ A D1 i2 i3 ^ 缓冲区溢出强大在于编写蠕虫,发现0DAY.1 a2 y8 Q9 l7 |" m9 \) S- ]& s
相关代码在附件里.
" l, x7 G, V- ~- ]& @: S& { 教程下载地址
7 J' P6 t8 _" T4 @0 k 纳米盘:
7 Z6 r, d+ S2 K) P$ m http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
5 E2 ?: K9 z( A; b: y% v3 h转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=406193 j. L( x Q( _8 U
s1 [# Y" a9 _; z, @8 X2 j第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b & c1 d8 U. K& ?, B6 ~+ S
暗组论坛也提供下载
- _" }! G- t H8 e' x% P7 H, N/ F教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)& O: H+ n: L S+ o' q
第2课 开始调试和测试缓冲区溢出程序, |5 {3 T T7 C8 {8 o0 c7 g
主要内容如下:通过自己构造特定字符来测试溢出点位置。; C, E/ q5 t7 w* X4 B8 N8 I
掌握和定位 函数的内存地址
/ n- \5 k$ E3 x6 ~! t1 x" H/ ^ 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
+ p6 q4 s! ]( q* S8 B6 y. t. { 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb9026 N) x( j$ f4 W
' [' N% D. [0 C. O7 h7 s
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918+ j! j4 e0 n! C; t0 n! C
& B9 J7 t1 _: _: c% v
5 b! x8 B1 ^; M3 M D4 i第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8; z6 j3 ~4 w9 J3 o! _8 ~- m
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02
: t4 R9 R* J) N; C0 o+ B p什么是shellcode
4 b/ B4 C% `6 F一段可以调出一个shell的机器码形成的字符串
+ M3 E" A# g8 \' F% Y+ W# f, d# O3 P$ a6 F- _
如何得到shell的机器码
, u7 b7 g& K9 x, \% y% ~* KASM的嵌入编程
, D% \2 B* i' T4 U/ b一个CMD对话框的shell
3 v6 w, d* T% j. o0 C: q _
4 ~& d9 b# V2 n" K/ S/ i通用的格式:4 V- I" P7 a% l1 M3 s
Push ebp
?* Y4 g* ` w$ v/ Z2 k8 a9 b( fMov ebp,esp% \9 i1 r/ |0 t" Q* j
Xor eax eax
& h- a+ z H( w4 R9 b5 @0 O0 @Push eax$ T5 q$ v/ X) I4 v. P1 Y
Mov byte ptr[ebp-xh],xx- ?/ j, q/ \" E: @+ P) |, R; Z
Lea eax,[ebp-xh]
, ?1 W1 x/ V5 G: ^Push eax* @( w* `% T0 l
Mov eax,0x函数地址3 `* L6 L- {# k& a/ @
Call eax
3 V! A( k2 L/ s* D* l转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=412894 d; v! L* D9 r# |/ K
4 |- C0 c8 ?! k4 a4 F/ O- u( l
暗组缓冲区溢出第四课# I8 x. b) ]6 k: ~+ a( \
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
7 }( ]& i1 w0 G! U$ |. `3 o所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。, `0 M! b0 U7 e- Z4 A% y. j3 p
' z; d' }8 w' s3 r% w/ `
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
; c! a% f& t! `+ b- G! g& J( n( J b9 J# t7 r9 Z2 s7 i2 V
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901* n+ c9 J6 k' I, W0 S. c( h, k6 b9 W
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071# I2 g4 ^) y& c! R$ T
1 I* R: p# C, F& P6 }* B$ `[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|