|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验
* U( N& L1 R2 z第一课 9736697ffdbbb8441a316538543f05f5 7 o5 x2 M8 d, F" O% j1 C6 |0 g
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
/ s+ H3 X" y+ q3 B' L$ ` 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.
6 H4 N# @- d" j+ r4 x 缓冲区溢出强大在于编写蠕虫,发现0DAY.' u" S! t9 K; d: b2 S- }1 G+ O
相关代码在附件里.) u2 [; w9 d" t, v
教程下载地址
/ M7 E5 q4 m8 K 纳米盘:0 t; E4 y; p7 P( t! o
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
$ d4 [7 q! V$ D- r; |转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619! D: H2 O% r" F
- X5 c( O) @" B# i" F4 m第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b ' |2 L9 F% V+ W4 j% t6 W
暗组论坛也提供下载 $ o3 H0 N% T" d- W
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
9 f5 e. q- c" U* f: A 第2课 开始调试和测试缓冲区溢出程序
3 s7 s" g5 b9 b1 `9 C( x9 F. v8 H 主要内容如下:通过自己构造特定字符来测试溢出点位置。
/ U8 H) z* T7 f3 m# d3 I 掌握和定位 函数的内存地址
( | ?* z7 X& ~2 s1 D, g 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。6 I( w* u2 Q. X' `, |
课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902 P& r) ?# I. ^' a: E0 {3 I! d
' Q0 w1 l8 T, r5 x转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918, Z3 V% r; M1 y- r, W; ]% m
/ \$ Y8 _' k1 `/ j, X% ]$ e: M8 ?& c: G$ ~5 @( a! j% i1 H
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8) S( `' e2 y2 A h; U
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02
7 y& t$ _( O2 O8 r/ v' I" v) C什么是shellcode ( H; N; l3 c; v+ |" M
一段可以调出一个shell的机器码形成的字符串
) U: U/ X* s+ m& e9 L9 H2 g8 P# @( o0 R9 ?( o0 y
如何得到shell的机器码- T) L0 L8 J9 Z, s6 a5 Q% c* ~
ASM的嵌入编程 " P& x7 u& V, B4 B
一个CMD对话框的shell p- K$ { J6 b' v7 M. m4 s
4 g ]6 q0 Y H; Z% U- [通用的格式:& F2 Y0 h, T7 ]$ }- W3 o+ g
Push ebp0 E( n; w! ?- i3 z. x+ W
Mov ebp,esp
) \8 T7 A* _- HXor eax eax
, h- N. j7 S8 M4 CPush eax
- {6 Y( J3 a9 E1 QMov byte ptr[ebp-xh],xx
) }5 N3 `1 o# u7 e' b+ G1 RLea eax,[ebp-xh]
: y# `' [6 S2 E6 B' wPush eax; w; @! o! Y2 f
Mov eax,0x函数地址
+ ^ \- a0 k0 T# S5 l$ y' u BCall eax
- \ W5 U" Y, x5 b2 b) s# X转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
* ~. c, u5 y* S/ o2 T9 j
! b* m9 U8 R" y* R# g" L" l! k! t: p暗组缓冲区溢出第四课4 j* E( f) b( b" T0 |! L
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。3 x* ?% r1 \) c2 \: ~
所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。4 u% ]0 k2 d# h: q1 x
; L7 }8 S: _( Y& @- y! Y0 M关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
2 ~4 S* X( _, [' o
& S/ i6 i# q- Q3 t视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
8 v) z. N3 o: y转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071# C( }# t: p! {! [& P0 M
+ M' u" J8 k% y2 e! o
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|