|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 ! S: G1 [1 i g: `0 q" a3 I. y Q
第一课 9736697ffdbbb8441a316538543f05f5
- b0 E7 t+ ? @4 s* l" C) }6 T基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.( E9 N; H0 D8 R+ S
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.$ P# k0 c6 p0 }( ]- g. h, R6 B3 ?9 @: V5 M
缓冲区溢出强大在于编写蠕虫,发现0DAY.
u( q0 d7 F$ j2 J1 N 相关代码在附件里.
9 S( R$ M5 _' O! m 教程下载地址3 u9 v2 b: f& F; x1 d
纳米盘:! M# a+ Y# x& `0 Y% l+ ?+ ] X) L: w
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02
/ R) ?! Z& [* B7 _9 J转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619
" y0 g4 [/ E4 R- q7 [6 U8 K9 N0 S4 z; e% g4 {4 [$ ]+ d1 b: Q! D5 v
第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b
, J* Q. p- o8 ]; ]9 w- }" R- H' J暗组论坛也提供下载
: d' G& N. L- F; n4 A6 ]教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)5 V( x N, B) ^! ~5 z; w8 W
第2课 开始调试和测试缓冲区溢出程序
$ c# [7 ^" r7 C8 m; I( h 主要内容如下:通过自己构造特定字符来测试溢出点位置。1 {& S3 G" ^4 c9 Z
掌握和定位 函数的内存地址
% R% {+ F2 l, Z% W4 @+ _6 a4 n 口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
6 {: A1 L( q. P5 x( w# A: I" m 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb902! w- u8 s# V7 Z# W0 T9 V
6 u& r; t% ~( _转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=409186 A5 W7 Z7 e& }) V2 l$ v1 e# B
6 T. f/ f2 V+ S6 E/ I. v2 d2 A
# W9 C C/ q! ^0 O' e第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d8
& @8 ^" `3 `+ @) K1 e" m' { Q课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02/ t0 s' H- S, @9 p5 c
什么是shellcode
! k% f& b% }& T$ t6 T( P1 ^7 x' B一段可以调出一个shell的机器码形成的字符串
7 T$ P( B. ~+ y8 g' F9 C7 p# ~2 ]4 w8 y) r( ~: x6 K5 o+ R
如何得到shell的机器码9 e Q3 Y) i- x8 M2 t
ASM的嵌入编程
* u& {1 k q! ^1 D! H9 W一个CMD对话框的shell
/ ]6 @% h# @- n& Z. Z1 ^. e+ u: {9 {# Z
通用的格式:. W5 ~" }: F1 K
Push ebp* U- r) {! q0 k
Mov ebp,esp
9 V+ F z$ N! Z+ H6 c/ h# GXor eax eax1 ]* P: Z& h: [ J) u8 I
Push eax/ e& J* e, i- i% z
Mov byte ptr[ebp-xh],xx1 J5 x+ o7 o% v& }$ ~2 [' O
Lea eax,[ebp-xh]1 f, z# I* D& I a3 {
Push eax
% `/ l+ ~0 d; t# f/ |. ]Mov eax,0x函数地址
4 V0 d5 C3 L% u2 Q6 ZCall eax
) D1 |, ?/ ?+ B7 A4 h7 }0 `转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
. ?, ]' o; }* V/ E* {+ y3 _2 E( Z3 ]# A+ w( J9 @4 _
暗组缓冲区溢出第四课1 _! [: B) ~3 }' |; S
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
8 C8 {8 o/ h7 l/ _: A6 n, Z所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
! W( ^+ E( F0 [. K- O, m
- o' ?& V+ W C7 z+ o# n2 ]关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
5 L' ~0 a) h9 F N3 X2 Y5 g1 ], w5 C& J# m4 M: V# \
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd9016 O+ r$ E+ v2 m0 s4 v) ^
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=440715 C; q; e) T( N7 r. ^& I' o
9 u/ v- c% G7 a% G$ q: I4 P[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|