|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 * [0 q @: e1 U( p
第一课 9736697ffdbbb8441a316538543f05f5 $ e. w: ?% @+ f1 t2 j/ P
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.
9 S$ z5 `+ ?6 \! i% f 缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.) A' d$ W) P0 F' u6 H) z3 }
缓冲区溢出强大在于编写蠕虫,发现0DAY.- d$ X8 p8 }) `! r2 ^
相关代码在附件里.3 B, q, {' r; n; o9 L# e
教程下载地址, ~; x% i" I* m
纳米盘:9 J* j: [8 M% I z8 [
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
3 _5 q: V$ o$ `' A6 r; M/ L转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619
' Y8 N. l' ?) [* r% K# ?2 @; o! O8 i0 h
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b
! O' ?5 ^# _ T6 m( z( ~暗组论坛也提供下载 0 e$ T; z* E$ R; ~: A
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
- V4 j3 _7 @& L8 g+ G$ f 第2课 开始调试和测试缓冲区溢出程序7 M0 b q$ ?$ H" n% R5 A" P' `$ r
主要内容如下:通过自己构造特定字符来测试溢出点位置。2 ^& V0 n3 C+ r! [: [
掌握和定位 函数的内存地址0 N; o, H- g, L& N
口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
6 p$ h; q1 V' O8 r3 { 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902
7 n# C. ~# g+ V% E& W3 j$ T
. r! F4 B, x3 i- q" K转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
! N! Q1 j8 \+ T/ Q; T$ h: _
; R, x7 k- A2 k- n7 k) e) }9 l) V5 K: `1 c7 l( k4 s0 J/ g3 N
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8
+ ~/ ?$ w }4 B, n( i' B, E课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02
/ D" C# [; `* N8 r什么是shellcode 5 A# P1 Z c+ P3 E/ \3 a2 r
一段可以调出一个shell的机器码形成的字符串& e) X8 H. t) `( [
- \8 I' @3 D) g8 J8 H
如何得到shell的机器码
: e7 k3 s9 J8 v1 D* Q& o: x5 ? ]0 U' nASM的嵌入编程
* S2 \. w' m; K" `1 A" K0 {一个CMD对话框的shell
! O8 Q6 k' U+ c7 I6 a/ O2 L4 o/ c
- z6 {: g& W9 ~* P2 p; S通用的格式:
# j# y* ^* _" I; h" H, J; JPush ebp
# ?" d( t3 Y( U1 K, e4 }, aMov ebp,esp4 J- u' G( _- t. y
Xor eax eax- }$ {4 \) c& e( |3 k
Push eax
/ X) T" ]; H4 ?( h) kMov byte ptr[ebp-xh],xx: I+ _ ^0 G) j' s+ P. g
Lea eax,[ebp-xh]
( T" r4 K* [0 f" X8 z {+ [Push eax* o5 T: }& }: |
Mov eax,0x函数地址
9 F: M; U, D9 [1 b. VCall eax. _: T5 k% h3 k1 Z6 y) V
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
4 Q: r7 U* i# G4 x7 V6 w5 d2 @& i$ f' ]* c9 k& \! {& |
暗组缓冲区溢出第四课
% u- e6 S( o. r, K/ l( y* n0 `如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
$ e4 a3 A8 Z# l+ I+ F: Z* q' ~所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。8 |4 o- F7 j8 r* o+ O
3 U1 [6 H* o3 ^7 d; v! K8 @关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.4 n/ I! _/ C1 H" i
7 a9 w% ~( R- n$ Y, h+ ?2 ?视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
- H1 B$ p/ X/ u/ q7 `% @+ e! P" U转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071! x& b4 K+ Y( W6 \
a. U$ H6 t$ \* Q4 k) }
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|