Minacce
Transcript
Minacce
1 !"## $% &' ()! *+ !" ! $% , -./#$- - $- - ## 0'"'%$- - 2 ■ ■ ■ ! "#$ %&$ '()* +,$ '-- ./$ 0'#./1 2 (345 ■ 064 789:33 33 3 ;<= ■ 8! 79) 3/59 << 3 339<= (345 ■ > 5?5 05 03 - -3 9 @ ■ !! 5! 3' 0* ;A @ ■ B*' !@53)C ! """#$ % & ! '()!** @ ■ B*'D +$$&,,"- "% ,.% ,.% #"+/0 + 1/+ %+ 2.% $ $3"$.+45672389! /: +$$&,,"- "% ,.% ,.% #"+/ 1%$.##;<%$:.$42-=- # #$ )+;%>?39!1,%$: ■ A!!! 3 E!4 3FE > GA: ■ H 34' I J ! ■ ' 8 ■ 2' > >%K I@: ■ 0! I I3A: ■ ■ @:F ! 3' 2-IG-I -!A! IC !A: ■ @3 A:!3 ' -! 2!C >%K ■ ■ 34 0?0LL< )C ) !! @>->)< ! !?! ■ CI@:!!! F' <:) 3 <)!!!3 !!! <3)3!!! C!)C! 3 J)3 E >!<)<)< ■ B6 7= !!< CI LJ;!!' "$%> 4$%>%A 9 """ ■ >!!' "+ @ 3 @C C ") 4<).#. ). A.AA$9 "$ 4<).#. ).A.AA$9 "$@$ 4% % #9 0 >%K CD ■ @C >%KF "%K3 7=' ■ F E G F (F A>D)AMD)A0D)A-D A ' AM '3 A' A-' HI ( ( (F F F F F ' B A ' A2@>H' F B B B ' ' (' (' B' B' 6 6 0! 0>%K ■ ■ @!0N>39! ! ! ' OO0!- < 0 70>@@=C!!< AM AM A AM 4!F AM < ! A>D< 0! 0>%K OO AC AM ) 6!< AC OO @C!4F F34 < OO @!OOF 3PA>DA-D AA-)6+%K3 A #?% %4% <A 55%%.9 … int result; … result = sum(4,5); … B.%+$$$$ ..JA %.. $%> < .A 0x80401000 … 0x8040200A 0x8040200F 0x80402015 0x8040201A 0x8040201F … B.%+$< %.JA $$. A =%+ %.. $%>.AA $ result: DW 1 PUSH PUSH CALL ADD MOV 0x5 0x4 _sum ESP, 0x8 result, EAX $ ..JA =. %+$ <.. $%> $$ B.%+$..$$ . #$ F A K?% %4% <A 55%%.9 int __cdecl sum(int a, int b) { int c; c = a+b; return c; } .A PUSH MOV SUB MOV ADD MOV MOV POP RET EBP EBP, ESP ESP, 0X4 [EBP-4], [EBP+8] [EBP-4], [EBP+12] EAX, [EBP-4] ESP, EBP EBP .<.% $$ ('= AA('.$$ . J $4% $$ '9 <.. $%>. A .<).. %.% JJ$$. A % J$ 4)% < .. $%>9.#$ (' .<..$$ F $ ('' $ .%+$ A %?% ' E@K4)9 E@K4)9 E@L49 E@L49 (' ' I#?R ■ 6C!' !3!3 46< 343< ))< ■ 4!' @C3!) )7 !=!! 6< ■ 8' 7=3P7=!! C< IK?R ■ ■ ■ B3!?F!! 3 !! < 0 3?933 !! F< ' @!!F7 = !! 3!! 336 I%?R ■ 0! ' ! ) 3 !< ■ A ■ @! !!< I,?R ■ ■ ■ A! < E@HDG @C C' #/M9 ,39AM ,39 C!! ■ C C!! < M '$A BAA $ $$ (' (((( )JJ7HE8 E@NE I.?R ■ 0!C' -I C!!7=F! 3! 7=< 0<@C C!< ' 0'7=!! !<6)F 3< 8@30' !! 30< I+?R ■ ■ B 6 C 3 ! <33 !! """ " """ I&?R #$ "$@$ """ ■ E@EGEL(DG """ ■ E@EGELLCD ■ ■ """ E@EGELDHI """ @C3 ! S #)F! C! !!! @ F !"#$%'!'( I"?R ■ )'' validate * ( * *(( ! + !,'(! % $.AA valid_code.. $A BB" B..$$ % %+ %$$ $)." $ <$%%+ . % $. %$$4"$J)+9" . ( + .(/!0* .(! * valid_code:/:/"/,-,%K !"#$!"%!"&%!"&' AA OJ $ % )-$ < & .%+$$$BCDOJ$$ IR?R ■ 1* 2"3#$( 4!! !! void vulnerable() { … char src[10]; char dest[10]; … gets(src); … strcpy(dest, src); … } ■ BAA $ vulnerable """ % """ $ """ <J. BAA $ strcpy 6)src) 4 strcpydest) 4C!!strcpy vulnerable IG0#?% ■ 0 '#' ' ! 5 ! '! ' ! ' + # + +! ■ !% (! !"6( ' ##6 # ' (!!% + # * + 7 ! #$ !! # ! + 8( % ' + '( ! )% ' !'# *32*9: ; # ! IG0K?% ■< ' ;== 8( '# '( ( ! > !' ( ! ■ ? F3I?-@: #$# !( ## ! + #$## ( ( ## --param ssp-buffer-size= '(! !+ '! ##@ ( A ! ( + ( '# 6 * IG0%?% M ■ '$A ■ BAA $ ■ $$ (' Q).. %. ■ ■ + ' # ? 2 +! . 1*!! (' # * ( 4 /!0 1' # '' ! ' 1* # !% ' (!! 8( 4!! ' !+ *32 #?. ■ ■ F)3PF < 0C' 0 !! ■ ■ @C3FC ) 3< 3F!!3 < K?. ■ B !!C! 9:/) F' B$-$%..< %%$#$ (F= F=F=B=B". $ % .% $ O.<. E" !" #!" $% B.#$ F< $ % .$J%$< % ..-$%.." . $ % @$H #$$...E@GE 4%+% .#$ ..-$%..@9 %?. ■ -39 ' < ! < ' (JJ'# ■ ('# +..% 3 F3C!! C!!4! < ,?. ■ ?C!! ' < !! @CE 3 6@: ■ !E 7I =I ' I F6!I !39 < AC 8A>6I ' (JJ'# ('# '. +..% .?. ■ )!'( ' +% 8*!'( ( '? %&'() %&*() +, '' ', -, ) ! ! '*% ! . + ( ' @ ! 7 ( ! + ' B!6((!! 6!!!(! *( U05 )*!'( (! ( 4+ @ !'? (&O. G)$ #J%$< .#$ F +&'()&'( %*.) +, /-' ' -, ?>@8 ■ BC! FC>@8'>@98! * ( CI 2 ! * ( !+' '(+ (!! A !' !!!+ (!!! !(! C @ !'*' ( ! !! ( ■ 1 # %##(+! .DE 3!F ?D ■ ■ ■ B!' ! (!! 7 !+ ' +!"%# + A3 * # CJ; CI (' '(! #+ !! (+ '' 8#+6!! '(!*326 !(+ ( 4!!!+ ' '' @ !# ' D-3D -33%! !( (!! F ! ! 322 ! '('# !#$6' 4 ! ++ ?D ■ ■ 8# FA@?>- %K3 1 ! ((+ !"!+ ( " F( FGF (ED+! . 1! F> ( 4!# # !! ! ! (!!FGF ■ B* + %;VD !' (+ '!+ 6+ (+ ''!+ D32 ;3 '' 3## ! '++ !( E56 ' @ (' !+ (+ ! @:F!A: >34 ■ 8AK@M0?8AKW0>@@ I!) D) !30)95 << ■ 2 ! ■ JI 34 30C! ■ 8I 36!7=3 6! 34 8#?K ■ H ! E< ■ ■ 3CF ! 8 8K?K ■ > *)!9 3 X 9 96 !* @39@ !3 8G! ■ C3 C @!!FC! S 6 F 33C !CI< A ! 8') 3 (3 I<3!<!F !! ■ > H 0' *)F S C H I A<J !3 I <- H !!! - 9 "A "% / DER"HRH"HII"LG <S H".$"$ )< DER"HRH"HII"LG - 8 "A "% / ( DER"HRH"HII"LG <S H".$"$ )< DER"HRH"HII"LG %%> # < )<S %%> - 3-Y ' ) $ $ $$%> )$ $$%> < H"$$<$# =% < .$ - 3-Y ' ) $ $ $$%> )$ $$%> < D".#% $ %$ H"$$<$# =% < .$ - 3-Y ' ) $ $ $$%> )$ $$%> < C". %$= . J.$. $= #. - 3-Y ' ) $ $ $$%> )$ $$%> < L" # .A T#$...$$%%$ 05 ■ ■ J 36 Z H !!CB8@ H 36 J U' <%++.%+< <$A V )<S %%> J U' <%++.%+< <$A V )<S %%> J U' <%++.%+< <$A V )<S %%> 03 3Y 0 0> > @ J @@< 0 !3F 4 ! 4 6 ICB8@ 820%,R/?#?K'- ' '??<[\#/&K]9<? I3!! *D !0> > ■ E4!!<<< H 4 H 4 H !! ■ Z H H 9 ■ A 64) 9I F !! !! >! >! 0!!! ( ! >3) 33 J* ( )MH >4 >^ B' ' 88'5 - 3 -'63334 3 < B'W3[ , U,@1/H"*?'J..# T2-9& =>"P(>J.(>JJ(>J+ >JJJ.#;*-;"-J;.>JJ \2T2 8J.#;*-;"-$;.>J+ T2\>JJ. 2( //: A8W T2( [ T2282 >J+>J-( //: $-(222 ?& &>>;;>#$."4".%#+N$4P#%#*--4%; &>>;;>>4"*>"*4>4"*44; /2V 7& B (T2 & 12 V = & +I A @44>@44 G & 71/J+."&= 8 71/J+.J&, 8 9+>* 71/J+.*&, 8 9+>* 71/J+.#& 8 2 /B 3 = B 7 8 7 ! "##$% "#"&$% ' ( # )!! *+), -+ #.), /+#,0 2 =8= ( 89 , 8 32= =I= I @@88 =I 6.AA=#$$= % $%<). '%%+$$ I<# $$%$ #. I..$A .<# %$% < .A ..$#$T $ . = I GB B3 8 @ $A .%%+$$ $ $ . @88 @ 72 #- #- " -- ,- ) -1-, 1 ,- )- , , - 1 , - 2 -- )1-, - 1 ,2 , /2 8= /2 8= /2 8= /2 8= / ?>? E E E E/>( B23 ]2] ? (;H; @&H'