|
|
为了避免教程被人捆马 首先公布下MD5码 请大家自行效验 1 }# ]6 e6 ^4 ]) X2 L
第一课 9736697ffdbbb8441a316538543f05f5 + h+ o, n( m0 P9 y n
基本上市面上没有什么关于缓冲区堆栈溢出的教程,黑防的7剑要好几千.闲来无事.做一个试讲篇.希望暗组的朋友喜欢.1 X% \- j' q7 |! L: v3 S: P
缓冲区溢出一直是很多人追求的目标.市面上关于缓冲区溢出的书非常的少,最重要一点,代码不通用.给新手学缓冲区溢出造成很大的困饶.# O" T4 {& \- B! N6 r- m5 J' F7 @
缓冲区溢出强大在于编写蠕虫,发现0DAY.2 ^8 W2 T5 z1 j4 `
相关代码在附件里.
8 r6 C$ p/ u( W+ l$ X' M0 d 教程下载地址
( i& z+ A# k, o; N' N) A$ b, K% a) h 纳米盘:: f @" Q3 u" n4 T/ G
http://www.namipan.com/d/a8e60a9 ... 82e8591a2ee5e43ab02+ q4 ~7 O" z! H) Y8 N3 b
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40619; p6 b" q( U( [$ P+ p
" A3 s. C U8 h- u第二课 MD5效验码 1dfba3d54e667cb1632fffc0b6210a3b ' z4 R7 T, j) x1 t. M/ n4 C- S
暗组论坛也提供下载 . r3 z9 _ y9 Y5 Y8 b
教程说明:由于我的ASP空间大小有限(只有100MB)只能删一课,再放一课。还有课程的更新情况 每周基本上保证1-2课的速度。如果时间宽裕的话,我争取更新3课。关于课程不明白的请跟帖提问。只要我知道的,一定解答。(本人不收徒弟,要0DAY以及蠕虫 免开尊口)
6 r. V- t& u* O/ V+ m1 r. k 第2课 开始调试和测试缓冲区溢出程序
$ _' k* A% D' Q; i1 J 主要内容如下:通过自己构造特定字符来测试溢出点位置。& I( ^" K9 v/ @7 s; K
掌握和定位 函数的内存地址" |( y9 G( ^& x& v0 P) l- k# v! ?
口错:教程中将26个字母 好几次说成24个字母,请大家谅解。主要代码在附件中。
7 p6 |) s% Y9 B( }* T+ R) u/ q 课程下载连接:http://www.namipan.com/d/5c1db95 ... 68b64811144a31fb9028 [3 X7 @" b: |6 E D
?0 h4 f v! ~, P/ K' @$ F7 @
转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=40918
" m5 M6 l: G& O D* z& L, ^0 h8 @1 G* m. ~
. _9 h9 O6 I% F# A
第3课动画MD5效验码 d41d8ccd1668ceda673bf7473efa65d88 U( D1 J: A# R: j+ Y. D" g: H
课程下载地址(纳米盘) http://www.namipan.com/d/1af97d4 ... 03c5cf7c504d63c0e02
5 F. c+ S8 ^) p4 A什么是shellcode
6 C& |5 o! q% X! I8 e+ f" }! {一段可以调出一个shell的机器码形成的字符串
' d2 K& q4 }: g+ D* e8 V. }8 d1 ?7 {2 P9 C6 z" B O$ `" T
如何得到shell的机器码
0 V5 x0 R0 j. ^9 N. P( R9 {7 U5 @ASM的嵌入编程 * r7 u2 ?: { V1 V" U
一个CMD对话框的shell# y J' B6 ?. q
: I$ ~+ I& p" p5 D {8 p K通用的格式:% C# K( m, T0 u2 ~; A+ N
Push ebp
! }) o/ \% _0 rMov ebp,esp
/ M! p% @' e# {: VXor eax eax$ j. T) d, Q/ ]+ m( ~5 U7 x& K
Push eax* B7 ^$ u, t5 J
Mov byte ptr[ebp-xh],xx: P0 U2 n1 H& }
Lea eax,[ebp-xh]
, M! U8 J+ i# v. b2 x! vPush eax
( e& }5 g* n( I0 X% aMov eax,0x函数地址
8 ?, c" Z N2 Y0 ^9 d2 K$ _Call eax
& d* l1 s% A" s2 o4 M转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=41289
3 F) i1 e. Z7 g5 g$ V8 ^ M R5 w5 d6 _
暗组缓冲区溢出第四课. ~9 n% M7 |$ H& Y! M9 r* |+ s( {& [
如果把Exploit比喻成一枚火箭的话,我们都知道如果要设计火箭,那么就要考虑导弹的飞行路线,攻击目标,这些因素。而Exploit就是如何定位漏洞的位置,以及如何保证SHELLCODE被加载运行的。
5 @. ^8 [8 n4 r- ~所以Exploit+Shellcode就构成了一个完整的缓冲区溢出攻击程序。那么Exploit与shelllcode的关系就是运载火箭与弹头的关系。合在一起那就是计算机中的“巡航导弹”。
, b5 V+ E3 b! _! ]5 n; S' v- L+ v5 w! I1 A. u- i; h$ r
关于shellcode,他既可以是一个开玩笑式的“礼花弹”,他也可以是夺取计算机控制权的“高爆弹”更可以是毁灭整个计算机系统的“核弹”。处于研究目的,今天我们还是来研究一个稍微有点破坏力的shellcode.
0 G" e3 q6 s+ P7 x8 t! _* B7 o6 O8 q5 v1 j ^% [6 H& B* T
视频下载地址http://www.namipan.com/d/lesson4 ... 8ca07809e09d91cd901
8 r2 P! T& G! E7 x" [9 z' F转载请注明出自暗组信息安全论坛 http://forum.darkst.com/,本贴地址:http://forum.darkst.com/viewthread.php?tid=44071' G) d/ D4 R" X0 V% D) i) \
: {& M9 {: u2 Q4 L- ~2 T
[ 本帖最后由 a673803 于 2009-6-16 00:35 编辑 ] |
|