|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 $ r+ B+ e8 e3 M
第一课 9736697ffdbbb8441a316538543f05f5 % W# }$ l2 t1 C* q; G! s
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.# C. p. W' P6 Z
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.# p/ v( L; n# ~- g: T+ `" L
缓冲区溢出强大在于编写蠕虫,发现0DAY.2 [0 S! ^, w9 U7 [
相关代码在附件里. P9 g! ]% ~. [4 c
教程下载地址
. q3 w7 q$ u5 P 纳米盘:
' v5 z% V. n8 s2 j! g+ N. j, r2 Q' o2 l: Y http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab021 q* V+ x$ h' o" u( ?3 ]8 J8 [
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619
) L6 c9 M/ _0 d" K" }; P
/ z- v f# R6 ]/ L) x1 d. |& W第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b
% b, p* d, c4 o' d( D2 k暗组论坛也提供下载 # s' j. I1 b8 H- R' L' k! h
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)4 P( k6 h3 L! F- T& M- a; M
第2课 开始调试和测试缓冲区溢出程序
# J* ^) w0 d# L: j 主要内容如下:通过自己构造特定字符来测试溢出点位置。
2 }6 r0 b- ~) ^, j 掌握和定位 函数的内存地址- C4 B( i+ O) @6 K% d" ]: `
口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。' i0 J# [* A7 O6 v
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb9025 ]9 e7 K% n# l$ Y' T7 z$ B, p% \
5 ?8 N4 x7 d/ c( C( L" C: i0 u( s转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918! k/ K8 P/ a7 T S7 T2 B
_( m1 }4 V* G% h8 @1 ~
: I1 d" ^9 Y, C4 ^3 P2 a/ O
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8
, H: d7 z+ J. I课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e024 h# y4 r5 H9 N% m5 H# E
什么是shellcode
. {" H2 k P$ T9 p4 K. ]一段可以调出一个shell的机器码形成的字符串
& X7 X0 k7 P, P8 b& s; x: N5 w1 e- q$ `- [/ A! \2 K/ |. ~- n" `
如何得到shell的机器码9 S3 ] u, ~- A) X; I
ASM的嵌入编程
, i+ o1 K# k: R一个CMD对话框的shell- {3 n6 C5 G( h# x1 [$ p+ J
5 p* p( \9 u* m, |6 e, h, j通用的格式:0 n0 I, [' W0 G- Q
Push ebp
; ?3 R' P: s$ [$ u8 b; @# B3 J0 G( fMov ebp,esp) m' Y% B/ M4 E3 F3 d0 n
Xor eax eax
: n" {2 T+ `5 X, X% d5 {Push eax
% k Q1 [: \* t0 o1 a) n# WMov byte ptr[ebp-xh],xx6 E+ I+ Q2 ^2 w% D% y3 S2 D1 \' s' J
Lea eax,[ebp-xh]9 O* ?6 \' q* ?5 h. L
Push eax
1 R3 S( G1 a6 f1 {+ t& p7 iMov eax,0x函数地址2 W* w' x7 \8 D' R/ L
Call eax
_3 g* B$ r. s4 k2 I9 u转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289" r, r1 ?9 X0 v/ f( O8 K% w
5 F9 X( i( Z7 W) i$ s1 k. o
暗组缓冲区溢出第四课3 f/ \, d- y0 g5 a8 |) m
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
$ C/ s _# ~- v- o所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。 P5 j) }' O5 E! {2 |) x
6 ?9 B( U$ a L. M: {# c9 t
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
1 R& A& |' x5 X: k
+ ^, a" e7 K' X- L视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd9014 t9 p5 p3 ?4 I
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071
. R! R% Q3 \) p: o( j4 |! d) Q0 r- I
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|