Top Banner

of 75

Tcc Flavio Alexandre Micheletti

Jul 07, 2018

Download

Documents

Douglas Sutil
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    1/75

    FLÁVIO ALEXANDRE MICHELETTI

     ANÁLISE DAS PRINCIPAIS VULNERABILIDADES DE APLICAÇÕES WEB

    TENDO COMO BASE A ARQUITETURA LAMP E AS

    TOP 10 VULNERABILIDADES DA OWASP

    SÃO CAETANO DO SUL/SPNOVEMBRO/2011

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    2/75

    FLÁVIO ALEXANDRE MICHELETTI

     ANÁLISE DAS PRINCIPAIS VULNERABILIDADES DE APLICAÇÕES WEB

    TENDO COMO BASE A ARQUITETURA LAMP E AS

    TOP 10 VULNERABILIDADES DA OWASP

    Tr!"#$ %& C$'(")*+$ %& C)r*$,r&*&'-%$ . F()"%%& %& T&('$"$ %&S+$ C&-'$ %$ S)" *$! $r&'-+$ %$Pr$3&**$r M*(4 A""' Cr5"#$ ($6$r&7)*-$ ,r(" ,r $!-&'+$ %$ %,"$6%& 8r%)+$ '$ C)r*$ %& T&('9"$$ &6S&)r' % I'3$r6+$4

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    3/75

    N$6&: MICHELETTI F";5$ A"&>>>>>>>>>>>>>>>>>>>>I'*--)+$: >>>>>>>>>>>>>>>>>>>>>>>> 

    ?)"6&'-$: >>>>>>>>>>>>>>>>>>>>>>>>>A**'-)r: >>>>>>>>>>>>>>>>>>>>>>>> 

    Pr$34 Dr4 $) MS(4 >>>>>>>>>>>>>>>>>>>>>I'*--)+$: >>>>>>>>>>>>>>>>>>>>>>>> 

    ?)"6&'-$: >>>>>>>>>>>>>>>>>>>>>>>>>A**'-)r: >>>>>>>>>>>>>>>>>>>>>>>> 

    Pr$34 Dr4 $) MS(4 >>>>>>>>>>>>>>>>>>>>>I'*--)+$: >>>>>>>>>>>>>>>>>>>>>>>> 

    ?)"6&'-$: >>>>>>>>>>>>>>>>>>>>>>>>>A**'-)r: >>>>>>>>>>>>>>>>>>>>>>>> 

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    4/75

    Dedicatória

    D&%($ &*-& -r!"#$ -$%$* $*6'-&* & &'-)**-* %,r$r6+$ @&!4

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    5/75

    Agradecimentos

     A$ 6&) $r&'-%$r Pr$34 M*(4 A"' H&'r7)& Pr%$ %& Cr5"#$ ,&" ($'3' '(&'-5$,('( & %*,$'!"%%& '3'- &-&r'$ 6&*-r& ()$* &'*'6&'-$* 3$r6 6)-$ "6%$ 6!-$ %&*-& -r!"#$ -$r''%$*& '&*-6;5&* $,$r-)'%%&* %& (r&*(6&'-$'-&"&(-)"4

     A$ Pr$34 M*( L&'%r$ R6$* % S"5 ,&"* *)&*-G&* ")6'%* ' B'( %&7)"3(+$ & ,&"$ ($"#6&'-$ *'(&r$4

      Pr$3&**$r R7)&" S"5 ,&"* *)&*-G&* ")6'%$r* ,&" ,('( & ,$$ &,r'(,"6&'-& ,&" %*,$'!"%%& *&6,r&4

      6'# 7)&r% &*,$* I'r% & 3"# ?$' 8!r&"& ,$r -&r&6 -'-* 5&&* *&) -&6,$

    *)!-r=%$ &6 ($'*&7)'( % 6'# %&%(+$ &*-& -r!"#$4

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    6/75

    Resumo

    D&*&'5$"5&r *$3-@r& "5r& %& 5)"'&r!"%%&* )6 %&*3$ ,r * &7),&* %&

    %&*&'5$"56&'-$4 A* ,"(G&* @&! %&5%$ . *) '-)r& *+$ 6* *)*(&-=5&* -$%$

    -,$ %& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    7/75

    Abstract

    D&5&"$,' *$3-@r& @-#$)- 5)"'&r!"- * (#""&'& 3$r %&5&"$,6&'- -&6*4 T#&

    @&! ,,"(-$'* ! -#&r '-)r& r& 6$r& *)*(&,-!"& -$ "" '%* $3 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    8/75

    Listas de tabelas

    T!&" 01 A';"*& %& r*($444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444442

    T!&" 02 M,&6&'-$ %$ r*($ %& '&+$4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444442

    T!&" 0 M,&6&'-$ %$ r*($ %& XSS4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444

    T!&" 0 C$%3('%$ (r(-&r&*444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444

    T!&" 0 M,&6&'-$ %$ r*($ %& Q)&!r %& A)-&'-(+$444444444444444444444444444444444444444444444444444444444444444441

    T!&" 0 M,&6&'-$ %$ r*($ %& R&3&r'(* I'*&)r*44444444444444444444444444444444444444444444444444444444444444444444

    T!&" 0 M,&6&'-$ %$ r*($ %& CSRF44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444440

    T!&" 0 M,&6&'-$ %$ r*($ %& C$'3)r+$ I'($rr&- %& S&)r'44444444444444444444444444444444444444444444

    T!&" 0 M,&6&'-$ %$ r*($ %& Ar6&'6&'-$ Cr,-$r;3($ I'*&)r$4444444444444444444444444444444444444444440

    T!&" 10 L*- %& "$r=-6$* ,r &r+$ %& #*#444444444444444444444444444444444444444444444444444444444444444444444444444442

    T!&" 11 M,&6&'-$ %$ r*($ %& F"# ' r&*-r+$ %& (&**$ URL44444444444444444444444444444444444444444444444

    T!&" 12 M,&6&'-$ %$ r*($ %& '*)3('( %& ,r$-&+$ % C6% %& Tr'*,$r-&4444444444444444444444

    T!&" 1 M,&6&'-$ %$ r*($ %& R&%r&($'6&'-$ & E'(6'#6&'-$* I'5;"%$*444444444444444444444444441

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    9/75

    Lista de ilustrações

    F)r 01 Ar7)-&-)r ("&'-&*&r5%$r & -&('$"$* )-"%44444444444444444444444444444444444444444444444444444444444444444421

    F)r 02 C6'#$* ,&r($rr%$ ,&"$ -('-&444444444444444444444444444444444444444444444444444444444444444444444444444444444444444442

    F)r 0 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    10/75

    Lista de código fontes

    C9%$ 141 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    11/75

    C9%$ 4 A,"(+$ ($rr% ($'-r 5)"'&r!"%%& R&3&r'(* I'*&)r* Dr&-* O!&-$*44444444

    C9%$ 41 F$r6)";r$ @&! 5)"'&r;5&" CSRF4444444444444444444444444444444444444444444444444444444444444444444444444444444444444441

    C9%$ 42 S(r,- -r'*3&rrF)'%$*4,#, %& 3$r6 5)"'&r;5&"44444444444444444444444444444444444444444444444444444444444444444441

    C9%$ 4 URL 7)& ($'r; $,&r+$ %& -r'*3&r'(444444444444444444444444444444444444444444444444444444444444444444442

    C9%$ 4 URL %)"-&r% (6)3"% &6 )6 6&6 %& !-& &r$44444444444444444444444444444444444444444444444444442

    C9%$ 4 Cr'%$ )6 -$&' ,r )6( 6,$ #%%&'44444444444444444444444444444444444444444444444444444444444444444444444444444

    C9%$ 4 Cr'%$ )6 -$&' ,r )6 URL444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444

    C9%$ 4 S(r,- -r'*3&rrF)'%$*4,#, ($rr%$4444444444444444444444444444444444444444444444444444444444444444444444444444444444444

    C9%$ 41 E)r">$,&'444444444444444444444444444444444444444444

    C9%$ 41 8&r'%$ H*#444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444441

    C9%$ 42 L*-'%$ $* "$r=-6$* ,r &r+$ %$ #*#44444444444444444444444444444444444444444444444444444444444444444444442

    C9%$ 41 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    12/75

    Lista de siglas

     A?AX A*'(#r$'$)* ?5*(r,- '% XML

    CSS C*(%' S-"& S#&&-

    XML E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    13/75

    Sumário

    I'-r$%)+$4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 11 A")'* ($'(&-$* ,r5$*4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444421

    141 A,"(+$ @&! J@&! ,,"(--$'K & -&('$"$* ($rr&"-*444444444444444444444444444444444444444444444444444444444444444421142 Ar7)-&-)r44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 2214 OWASP JO,&' W&! A,,"(-$' S&()r- Pr$&-(K4444444444444444444444444444444444444444444444444444444444444444444444444442

    2 A1 I'&+$JI'&(-$'K44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 2241 C$'(&-$* B;*($*4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 2242 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    14/75

    Introdução

     A-)"6&'-& '+$ 6* ,$**=5&" 6'r6$* )6 $r'+$ *&6 7)&

    6&*6 '+$ )-"& T&('$"$ % I'3$r6+$ JTIK %& 3$r6 &*-r-( &($6,&--54 M)-* 5&&* TI )-"% ($6$ 3&rr6&'- !;*( & %& ,r$5&'-$

    ,r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    15/75

    r&*,&(-56&'-&K R$6&'$ (#6%$ U') -r5* %& )6 -7)& %& '&+$ %&

    SQLJ5%& (,=-)"$ 2K &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    16/75

    3r'($ (r&*(6&'-$ & $3&r- r&"-56&'-& &*(** *$3-@r&* %$* 6* 5r%$*

    3'* *+$ %&*&'5$"5%$* *&6 %&5% ,r&$(),+$ ($6 *&)r'4 S+$ 5;r$* $*

    *&-$r&* 3&-%$* ,&"$ %&*&'5$"56&'-$ '*&)r$ %& *$3-@r& ,r&(*$ )6&'-r

    *&'*!"+$ *$!r& *&)r' %* ,"(G&* @&! &**& $ $!&-5$ %$ ,r$&-$

    T$, 104 A* 5)"'&r!"%%&* & r*($* &*-)%%$* '$ ,r$&-$ T$, 10 '+$ *+$

    5)"'&r!"%%&* $!*()r* & %& %3=(" &'-&'%6&'-$ ' 5&r%%& *+$ &rr$* (r**$*

    ($6&-%$ ,$r &6,r&** & ,r$3**$'* % TI4 S&)'%$ $ OWASP T$, 10J2010K:

    O *$3-@r& '*&)r$ &*-; 6'r '$** *Y%& 3''(&r ;r& % %&3&* % &'&r & $)-r* '3r&*-r)-)r* (r=-(*4 6&%% 7)& '$** '3r&*-r)-)r %-" 3( (% 5& 6*($6,"&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    17/75

    -&r; *&) ,r9,r$ (,=-)"$ '$ 7)" *&r+$ %*()-%$* ($'(&-$* !;*($* r&*,&-$ %

    5)"'&r!"%%& (9%$ 3$'-& %& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    18/75

    5)"'&r!"%%&* 6* ,r&*&'-&* '&*** ,"(G&* !*& %&*-& -r!"#$4 E ,$%&*&

    %&r 7)& &*- ,&*7)* ($'*--) )6 &*-)%$ %& (*$ ,$* '% ,r$,r'%$*& %*

    ,"5r* %& Mr7)&* &- " J200 ,4 K &*-& 6-$%$ ^($'**-& '$ &*-)%$ %&

    %&-&r6'%$* '%5=%)$* ,r$3**G&* ($'%G&* '*--)G&* r),$* $)

    ($6)'%%&* ($6 3'"%%& %& $!-&r &'&r"G&*^4 N$ (*$ %&*- ,&*7)*

    *+$ &*-)%%* * ($'%G&* %& 5)"'&r!"%%& %& ,"(G&* W&!4

    O ,r&*&'-& -r!"#$ &*-; $r'%$ &6 12 (,=-)"$* *&'%$ 7)& 6$r

    ,r-& %&**&* (,=-)"$* *&r; %&%(% ,r&*&'-+$ %* T$, 10 5)"'&r!"%%&* &

    6&%%* 7)& 5*6 6-;"*4

    O (,=-)"$ 1 %& (r;-&r '-r$%)-9r$ & &*-!&"&(& ($'(&-$* '&(&**;r$ ,r

    $ !$6 &'-&'%6&'-$ %&*-& -r!"#$ -r -6!6 '3$r6G&* *$!r& OWASP &

    *$r& r7)-&-)r LAMP4

    O (,=-)"$ 2 -r-r; % I'&+$ %& '*-r)G&* SQLJA1K 6-$%$ ($6 $ 7)" )6

    )*);r$ 6" '-&'($'%$ ,$%& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    19/75

    O (,=-)"$ !$r%r; 5)"'&r!"%%& %& C$'3)r+$ I'($rr&- %&

    S&)r' JAK4 A *&)r' % ,"(+$ %&,&'%& -6!6 % &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    20/75

    1 – Alguns conceitos pr!ios"

    141 A,"(+$ @&! J@&! ,,"(--$'K & -&('$"$* ($rr&"-*4

     A W$r"% W%& W&! JWWWK '($)*& ' %(% %& 10 ($6 ($'*-r)+$

    %& @&!*-&* &*-;-($* #5 6)-$ -&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    21/75

    O 5&=()"$ 7)& %7)r& '3$r6+$ &*-r)-)r 6$'- )6,r&*&'-+$ &6,($-% & &'-r& (#6%$ %&,"(+$ @&!4 Q)'%$ )6 ,"(+$ @&! ($6!'% ($6#r%@r& ("&'-& & *&r5%$r **-&6* $,&r($'* *$3-@r&%& r&%& & '5&%$r&* *)r& )6 sistema baseado na web.(PRESSMAN E LOWE, 2009, p. 2)

    O 3)'($'6&'-$ !;*($ %& )6 ,"(+$ @&! ,$%& *&r ($6,r&&'%%$ %

    *&)'-& 3$r6: $ )*);r$ !r& )6 '5&%$r @&! & (&** )6 &'%&r&$

    &"&-rZ'($ JURLK4 O '5&%$r -r5* % r&%& J7)& ,$%& *&r '-&r' $) ,r9,r

    I'-&r'&-K 3 )6 r&7)*+$ ,r $ *&r5%$r @&! 7)& '-&r,r&- $ (9%$ 3$'-&

    ,r$(&** '3$r6+$ & %&5$"5& (9%$ HTML J* 5&&* 6*-)r%$ ($6 (9%$

    CSS & ?5*(r,-K $ '5&%$r %$ )*);r$4 Pr -r3&r ,&" r&%& $ **-&6

    )-"*& %$ ,r$-$($"$ HTTP4 O (9%$ %$ "%$ %$ *&r5%$r J*&r5&r *(r,-K ,$%& $) '+$

    (&**r )6 S8BD ($6$ ,$r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    22/75

    &'(rr&%$ %& ,r$(&**r r7)5$* PHP4 E"& ,$r *) 5&($' $ '-&r,r&-%$r PHP 7)& ,r$(&** ,;' & &'-r& ; ,r$(&**% $ A,(#& 7)& 3'"6&'-& &'-r&$ ("&'-&4 C*$ *& '&(&**;r$ (&**r )6 !'($ %& %%$*J($6$ '$ (*$ %& )6 39r)6 $) %& )6 &*-$r %& ($'-&Y%$K&'-r &6 +$ $)-r$ 69%)"$ ($6$ $ ,#,6*7" 7)& ,&r6-&$ '-&r,r&-%$r PHP (&**r $ !'($ %& %%$*4

    PHP )6 "')&6 %& ,r$r6+$ ,r @&! %$ -,$ *&r5&r*%&4 Cr%

    ,$r R*6)* L&r%$r3 &6 1 ($6 $ *6,"&* $!&-5$ %& r&*-rr &*--*-(6&'-& $

    (&**$ $ *&) ()rr=()"$ $'"'&4 I'("6&'-& (#6% %& PHP/FI JP&r*$'" H$6&

    P& / F$r6* I'-&r,r&-&rK *&) (9%$ 3$ %*,$'!"%$ ' I'-&r'&- ,r 7)& $)-r$*

    %&*&'5$"5&%$r&* ,)%&**&6 ($'-r!)r4 A-)"6&'-& ' 5&r*+$ )6 !*-'-&

    6%)r & )-"% ' 6$r %$* *-&* & ,r$5&%$r&* %& I'-&r'&-4

    MS7" )6 !'($ %& %%$* JS8BDK ($'*-r)=%$ ,r ,"(G&* @&!4 E6

    -$r'$ %& 1 &6,r&* *)= T(X '($) $ %&*&'5$"56&'-$ %$ M*7" & "'$) $

    ,r$%)-$ )6 '$ %&,$* *$! "(&' $,&' *$)r(&4 A &6,r&* MS7" AB 3)'%% ,&"$

    *&)* (r%$r&* 6'-5&r6 $ ,r$&-$ -5$4 E6 200 S)' M(r$**-&6* ($6,r$)

    MS7" AB & &6 200 Or("& ($6,r$) S)' & -$%$* $* *&)* ,r$%)-$* '(")'%$ $

    MS7" ($6 ,r$6&** %& 6'-"$ *$! "(&' $,&' *$)r(&4

     A,(#& )6 *&r5%$r @&! *) ,r6&r 5&r*+$ 3$ "'% &6 1 & *)

    )-"+$ *& %**&6'$) ,&"$* *&r5%$r&* 6)'%$ 3$r4 A-)"6&'-& &'($'-r*& '

    5&r*+$ 2 JA,(#&2K & ,$%& '+$ ,&'* &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    23/75

    *& %& )6 &'-%%& *&6 3'* ")(r-5$* "5r& %& ,r&**G&* ($6&r(* $ 7)& r'-&

    3$r'&(6&'-$ %& '3$r6+$ %& 3$r6 6,r("4 A OWASP 6'-6 %&&'* %&

    ,r$&-$* '$ 7)" %&*-(6$*:

    • #op 1$  R'' ($6 * 10 6$r&* 5)"'&r!"%%&* @&!4 A 5&r*+$ %$ T$, 10 7)& &*-&-r!"#$ *& ,$ -)"+$ %& 20104 O T$, T&' 3$ "'%$ &6 200 & *$3r&r6,&7)&'* -)"G&* &6 200 & 200 & 6* r&(&'-&6&'-& &6 20104 O ,r$&-$ T$, 10 r&3&r&'(%$ ,$r 6)-* '$r6* "5r$* 3&rr6&'-* & $r'G&* '(")'%$ MITRE PCIDSS DISA FTC & 6)-* $)-r*4 O $!&-5$ %$ ,r$&-$ T$, 10 )6&'-r *&'*!"+$*$!r& *&)r' %* ,"(G&* -r5* % %&'-3(+$ %& ")'* %$* r*($* 6* (r=-($*& ($6)'* 7)& * $r'G&* &'3r&'-64 A'% ($6$ $!&-5$ ,r'(," $ T$, 10 5*&%)(r ,r$r6%$r&* %&*'&r* r7)-&-$* & $r'G&* (&r( %* ($'*&7)'(* %*6* 6,$r-'-&* %&3('(* %& *&)r' &6 ,"(G&* W&!4

    • %SA&I JT#& OWASP E'-&r,r*& S&()r- APIK !!"$-&( %& (9%$ 3$'-& 3r&& & $,&' *$)r(&&*(r- $r'"6&'-& &6 ?54 Pr$5 )6 '-&r3(& %& ,r$r6+$ *&)r ,r *&r($,"%$ $ **-&6 @&!4

    • AS'S  ,r$5 ,%rG&* %& ($'-r$"& %& *&)r' ,r 7)'%$ * 5)"'&r!"%%&* 3$r&6-r-%*4

    • (uide &ro)ect JD&5&"$,6&'- )%&K ) %& %&*&'5$"56&'-$ %& ,"(G&* @&! *&)r*4

     A OWASP (r$) )6 6&-$%$"$ %& ("**3(+$ %& r*($* JR* R-'

    M&-#$%$"$K ,r )%r %&3'r r*($*4 C% $r'+$ & ,"(+$ ,$**) *)

    ,r9,r &*,&(3%%& %$ 6!&'-& $ 7)& -$r' ';"*& %& r*($ ,r-()"r ,r (%

    (*$ $) $r'+$4 A OWASP %&*&'5$"5&) *) 6&-$%$"$ %& ("**3(+$ %&

    r*($* %& 3$r6 &'r( (&'-r'%$*& ' %&'-3(+$ %$* r*($* 6* *r$* ,r

    )6 "&7)& 5r%$ %& $r'G&*4 A -!&" 01 6$*-r $* -&'* 7)& ($6,G&6

    6&-$%$"$:

    T!&" 01 A';"*& %& r*($ *&)'%$ OWASP

    Agente deAmeaça

    T#r&- A&'-

    'ector deAta*ue

     A--( V&(-$r 

    &re!al+ncia da'ulnerabilidade

    W&'&**Pr&5"&'(&

    ,acilidade deDetecção da

    'ulnerabilidadeW&'&**

    D&-&(-!"-

    Impacto#cnico

    T&(#'(" I6,(-

    Impactode -egócio

    B)*'&** I6,(-

    . ,ácil/dioDif0cil

    (eneraliada2omum

    &ouco comum

    ,ácil/dioDif0cil

    Se!ero/oderado

    /enor 

    .

    F$'-&: OWASP T$, 10 J2010K

    O A&'-& %& A6& & $ I6,(-$ %& N&9($ r&3&r&6*& *

    ,r-()"r%%&* %& (% $r'+$4 O 6,(-$ %& '&9($ 6)%r; %& )6

    $r'+$ ,r $)-r & % 6&*6 3$r6 $ A&'-& %& 6& -6!6 ,r-()"r

    2

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    24/75

    %& (% $r'+$4 E6 $)-r* ,"5r* 7)&6 %&3'& 7)" $ 6,(-$ %& '&9($

    & $ &'-& %& 6& ,r9,r $r'+$4 O 5&-$r %& -7)& *

    5)"'&r!"%%&* J,r&5"'( & %&-&(+$K & $ 6,(-$ -('($ *&r5&6 %& !*& $)

    ) ,r 3("-r & -$r'r **&r-5$ %&3'+$ %$ &'-& %& 6& & %$ 6,(-$

    %& '&9($4

    U6 -('-& ,$%&r; ,&r($rr&r (6'#$* %3&r&'-&* -r5* %& )6 ,"(+$

    ,$%&'%$ ()*r %'$* . $r'+$4 E*-&* (6'#$* ,$%&6 *&r 3;(&* $)

    &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    25/75

    3 4A1 In)eção5In)ection6

    241 C$'(&-$* B;*($*

     A I'&+$ (r(-&r*& 7)'%$ $ -('-& '(")'%$ )-"%$r&* '-&r'$* &

    %6'*-r%$r&* ,$%&6 &'5r %%$* '+$ ($'3;5&* $ **-&6 $) *& *&6

    -r-6&'-$ %&7)%$4 E**&* %%$* J' 5&r%%& -r-*& %& *-r'* 7)& 3$r66 )6

    ($'*)"- 7)&r&*K (#&6 - $ **-&6 & -'&6 )6 '-&r,r&-%$r %& ($6'%$*4 A

    '&+$ ,$%& $($rr&r ($6$ ($'*)"-* SQL LDAP $) X,-#4 444&*-& 6-$%$

    ,r-()"r6&'-& ,&r$*$ ,$* ($'**-& ' '*&r+$ %& (9%$ SQL '+$ ,r&5*-$ &

    %& 6$%$ r!-r;r$ ($6,r$6&-& -$% 3)'($'"%%& %$ **-&6 & -6!6 % !*&

    %& %%$*4 JSICA REAL 200 , K

    S&)'%$ $ ,r$&-$ OWASP T$, 10 J2010K ("**3(+$ %$ r*($

    &'7)%r%$ % *&)'-& 3$r6: $ 5&-$r %& -7)& ($'*%&r%$ 3;(" ,$* ,$%& *&r

    ($'*--)=%$ ,$r 7)"7)&r 3$'-& %& %%$*4 A %&-&(+$ ($'*%&r% 6% ,$r7)&

    3;(" &'($'-r;" 7)'%$ *& 3 )6 5&r3(+$ %$ (9%$ 3$'-& % ,"(+$ ,$r6

    6* %3=(" -r5* %& -&*-&*4 S(''&r & F)&r* ,$%&r+$ )%r $* -('-&*

    &'($'-r;"*4 O 6,(-$ ,r $ '&9($ *&5&r$ ,$* ,$%& ,$r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    26/75

    "&6!rr 7)& $ -('-& ,$%& *&r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    27/75

    O (9%$ 7)& '-&r& ($6 $ 3$r6)";r$ % 3)r 02 %&5& r&(&!&r $* %%$*

    5'%$ %$ 3$r6)";r$ ($'&(-r*& ($6 $ !'($ %& %%$* 6$'-r %&("r+$ SQL

    &'5;" ,r $ !'($ %& %%$* J$ '-&r,r&-%$rK & (#&(r *& #$)5&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    28/75

    (r(-&r&* %& &'-r%

     A ,r6&r 3$r6 J($'*)"-* ,r6&-r%*K )-"6*& %& r&()r*$* '-&r'$*

    %$ S8BD ,r ,r&,rr %&("r+$ SQL4 E** !$r%&6 '+$ (r %&("r+$

    SQL %'6(6&'-& r'-'%$ **6 7)& %&("r+$ '+$ *& "-&r%

    '%&5%6&'-&4

    N$ PHP ,$**=5&" ($'-r ($6 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    29/75

    C9%$ 14 Pr&5&''%$ '&+$ ($6 ($'*)"-* ,r6&-r%*

     A *&)'% 3$r6 *-$r&% ,r$(&%)r&* JSPK *+$ ,r$(&%6&'-$* ,r&56&'-&

    r6&'%$* '$ S8BD4 S&) 3)'($'6&'-$ *6"r * 3)'G&* &6 )6 "')&6

    %& ,r$r6+$4 SP ,$%&6 r&(&!&r $) '+$ ,r6&-r$* & ,$%&6 r&-$r'r $) '+$

    ")6 5"$r4 A '($'5&''( %&** !$r%&6 7)& &" -$r' ,"(+$ ,$)($

    ,$r-;5&" ,$* %3&r&'-&* S8BD )-"6 %3&r&'-&* 6,"&6&'-G&* % SP $) *&

    )6 SP 3)'($''%$ &6 M`SQL ,$r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    30/75

    %$ ='%(& $J&r$K4 A "'# 1 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    31/75

    %$ S8BD M*7" 6*7">r&">&*(,&>*-r'JK *& )-"% ,r ($%3(+$ %&

    (r(-&r&*4 O )*$ %&** 3)'+$ 6,"&6&'-% '$ (9%$ 144

    C9%$ 14 Pr&5&''%$ '&+$ ($%3('%$ $* (r(-&r&*

    O!*&r5'%$ $ (9%$ 14 '$-*& 7)& &'-r& "'# 2 & 3&- ($'&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    32/75

    7 4 A3 8SS52ross Site Scripting6

    41 C$'(&-$* B;*($*

     A XSS $($rr& 7)'%$ ,"(+$ '(") %%$* 3$r'&(%$* ,&"$ -('-& ')6

    ,;' &'5% ,r $ '5&%$r *&6 7)& ")6 5"%+$ $) 3"-r&6 -&'# *%$

    3&-4 P$%& *&r -6!6 ($'*%&r%$ ($6$ '*&r+$ HTML4 O -('-& )-"*& %

    "')&6 %$ "%$ %$ ("&'-& J("&'-*%&K ($6$ $ ?5 S(r,- ,$r *&r )6 ,$%&r$*

    3&rr6&'- %& *(r,-' 6* 7)"7)&r "')&6 %& *(r,- *),$r-% ,&"$ '5&%$r

    % 5=-6 )6 "5$ ,$-&'(" ,r &*-& -7)& '(")*5& '-&r,r&-%$r&* ($6$ ,$r

    &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    33/75

    O ,r$(&**$ $($rr& % *&)'-& 3$r6 %& )6 "%$ -&6$* )6 ,;' 7)&

    &'5r; %%$* '+$ ($'3;5&* ,r $ *(r,- ,#, %$ "%$ %$ *&r5%$r &** ,;'

    ,$%&r; ($'-&r %&*%& )6 Y'($ "' ($6$ - )6 3$r6)";r$ @&!4 E**& *(r,- ,$r *)

    5& r&(&!& $* %%$* *&6 5"%;"$* '&6 3"-r;"$* & r&'%&r )6 '$5 ,;' J'$

    (*$ %$ XSS r&3"&-%$K '$56&'-& *&6 5"%r $) 3"-rr $* %%$*4

    I6,$r-'-& 3r*r 7)& $ ?5*(r,- ,&r6-& $ )*$ %$ ,r$-$($"$ X6"H--,R&7)&*-

    7)& ,$r *) 5& ,&r6-& $ )*$ % -&('$"$ A?AX4 O )*$ %$ X6"H--,R&7)&*-

    ,&r6-& &6 ")'* (*$* ($'-$r'r ,$"=-( %$ '5&%$r ($'#&(% ($6$ *6&

    *$)r(& $r'-$' &'(6'#%$ $* %%$* % 5=-6 ,r *-&* #$*-* & (r'%$

    @$r6* ($6,"&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    34/75

    C9%$ 241 A,"(+$ 5)"'&r;5&" . XSS

    I6,$r-'-& '$-r 7)& ,&*r %$ -7)& *&r &3&-)%$ &6 )6 "')&6

    ("&'-*%& $ ,r$!"&6 ($'-') *&'%$ % "')&6 *&r5&r*%& ,$* &" 7)&6

    3 $ -r!"#$ %& r&(&!&r & ,$*-&r$r6&'-& &'5r $* %%$* $ '5&%$r4

    O -7)& XSS *& ($'(r&- 7)'%$ ,"(+$ '+$ -r- $* %%$* 7)'%$

    &*-&* *+$ &'5%$* %$ '5&%$r ,r $ *&r5%$r J'$ *&'-%$ ("&'-& *&r5%$rK &

    '$56&'-& 7)'%$ $* %%$* '+$ -r-%$* ,r-&6 %$ *&r5%$r ,r $ '5&%$r

    J*&'-%$ *&r5%$r ("&'-&K4

    U6 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    35/75

    4 Pr&5&'+$

    S&)'%$ W""6* & M'($ J2011K &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    36/75

    3$'-& '+$ ($'3;5&" & %&,$* &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    37/75

    '+$ ($'3;5&* &6 -r!)-$* %& -a* HTML &*-&6 &"&* %&'-r$ %& *,* %),"*

    *6,"&* $) 6&*6$ *&6 *,*4

    C9%$ 24 Pr&5&''%$ XSS r&r 24

    F$'-&: W""6* & M'($ J2011K

    ] ,$**=5&" '% 3&r )*$ % ESAPI ($6 69%)"$ HTML &'-- &*(,' '%

    )'&*(,' ($'3$r6& %& 6$*'-r%$ '$ (9%$ 24Jr&,r& 7)& $ 6-$%$ (#6%$

    %3&r& %$ 6-$%$ (#6%$ ' )-"+$ % ESAPI ,r R&r 1K4

    C9%$ 24 Pr&5&''%$ XSS )-"'%$*& 3)'+$ &'($%& F$rHTMLA--r!)-&*JESAPIK

    F$'-&: OWASP T$, 10 J2010K

    E*- r&r '% *"&'- 7)& ,r&3&r=5&" )-"r $* -r!)-$* ($6 * *,*

    %),"* %$ 7)& ($6 *&6 * *,* )6 5& 7)& -r!)-$* *&6 *,* ,$%&6 *&r

    3("6&'-& 7)&!r%$* ,$r (r(-&r&* ($6$ J&*,$K f J,$r(&'-&6K g

    J*-&r*($K h J*'" %& *$6K J*'" %& *)!-r+$K J,$'-$ & 5=r)"K c

    J*'" %& 6&'$rK i J*'" %& )"%%&K d J*'" %& 6$rK j J(r()'3"&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    38/75

    )'&*(,' ($'3$r6& %&6$'*-r%$ '$ (9%$ 244

    C9%$ 24 Pr&5&''%$ XSS )-"'%$*& 3)'+$ &'($%& F$rHTML?5*(r,- JESAPIK4

    F$'-&: T$, 10 J2010K

     A r&r %& ')6&r+$ J($%3(r CSS '-&* %& '*&rr %%$* '+$ ($'3;5&*

    &6 5"$r&* %& ,r$,r&%%&* %& &*-"$* %& HTMLK % r&*,&-$ . *-)+$ &6 7)& $

    **-&6 ,r&(* ($"$(r %%$* '+$ ($'3;5&* &6 )6 &*-"$* CSS4 O I6,$r-'-&

    7)& $ **-&6 )*& %%$* '+$ ($'3;5&* *$6&'-& &6 )6 5"$r %& ,r$,r&%%& CSS

    & '+$ &6 $)-r$* ")r&* %& &*-"$4 A r&r r&($6&'% 7)& &*-"$* '+$ %&5&6 *&r

    ($"$(%$* &6 ,r$,r&%%&* ($6,"&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    39/75

    ($'*%&r%$ ' ,"(+$ ($%3('%$*& -$%$* $* %%$* '+$ ($'3;5&*:

    C9%$ 2412 Pr&5&''%$ XSS r&r 4

    F$'-&: W""6* & M'($ J2011K

    Pr &*- r&r ,$%&r; *&r 3&-$ $ )*$ % ESAPI ($6 69%)"$ HTML &'--

    &*(,' '% )'&*(,' ($'3$r6& %&6$'*-r%$ ,&"$ (9%$ 2414

    C9%$ 241 Pr&5&''%$ XSS )-"'%$*& 3)'+$ &'($%& F$rURLJESAPIK

    F$'-&: T$, 10 J2010K

     A r&r '% r&($6&'% 7)& ,r *&r ($6,"&-$ $ -r-6&'-$ % URL %&5&

    ,**r ,$r )6 5"%+$ '-&* ($'3$r6& %&6$*-r%$ '$ (9%$ 241:

    C9%$ 241 V"%+$ 7)& ($6,"&- r&r

    F$'-&: T$, 10 J2010K

     A r&r %& ')6&r+$ % r&*,&-$ % API A'-S6 )6 ,r$&-$ % OWASP

    7)& -&6 ($6$ 3'"%%& r'-r 7)& $ HTML/CSS 3$r'&(%$ ,&"$ )*);r$ &*-; &6

    ($'3$r6%%& ($6 $ **-&6 @&!4 E*- API 3$ &*(r- '("6&'-& ' "')&6

    ?5 & ,$r &** r+$ '+$ *&r; !$r%%$ $ *&) )*$4

     A r&r %& ')6&r+$ -r- %$ XSS !*&%$ '$ DOM4 A ,r'(," %3&r&'

    &'-r& $ XSS !*&%$ '$ DOM & $* $)-r$* %$* 6$%$* Jr&3"&-%$ & r6&'%$K

    7)& $ XSS r&3"&-%$ & r6&'%$ )6 ,r$!"&6 7)& %&5& *&r -r-%$ %$ "%$ %$

    *&r5%$r &'7)'-$ $ XSS !*&%$ '$ DOM )6 ,r$!"&6 7)& %&5& *&r -r-%$ '$

    "%$ %$ ("&'-&4 P$r6 -$%$ $ (9%$ &r%$ '$ *&r5%$r ,$r -'-$ %&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    40/75

    r&*,$'*!"%%& %$* %&*&'5$"5&%$r&* % ,"(+$ @&! -$r'r $ (9%$ *&)r$

    ($'-r -7)&* XSS &6 &r"4

    Pr %&5% ,r&5&'+$ %& XSS !*&%$ '$ DOM ,r&(*$ )-"r ESAPI

    ,$r6 '+$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    41/75

    9 4 A7 :uebra de Autenticação e da (estão de Sessão

    41 C$'(&-$* B;*($*

    E*- 5)"'&r!"%%& &*-; r&"($'% ($6 )-&'-(+$ & $ &r&'(6&'-$

    %& *&**+$ % ,"(+$ @&!4 E*- 5)"'&r!"%%& *& (r(-&r 7)'%$ ,"(+$

    ,r&*&'- 3"#* &6 ;r&* ($6$ *=% %& *&**+$ J"$$)-K &*-+$ %& ,"5r*

    (#5& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    42/75

    42 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    43/75

    4 Pr&5&'+$

    O $!&-5$ % ,r&5&'+$ 5&r3(r *& $ ,"(-5$ )-&'-( ($rr&-6&'-& $*

    )*);r$* & ,r$-&& * %&'-%%&* %* (r&%&'(*4 A r&($6&'%+$ ,r6;r %$

    OWASP T$, 10 J2010K :

    K T$r'r %*,$'=5&" ,r $* ,r$r6%$r&* )6 ($')'-$ Y'($ %& ($'-r$"&*

    %& )-&'-(+$ 3$r-& & %& &*-+$ %& *&**G&*4 E*-& ($'-r$"&* %&5&6 *&r (,&* %&

    -&'%&r -$%$* $* r&7)*-$* ,r )-&'-(+$ & &*-+$ %& *&**G&* %&3'%$* '$

    %$()6&'-$ A,,"(-$' S&()r- V&r3(-$' S-'%rJASVSK &6 ,r-()"r *

    *&G&* V2JA)-&'-(+$K & V J8&*-+$ %& S&**G&*K & -6!6 -&r )6 '-&r3(&

    *6,"&* ,r $* ,r$r6%$r&*4 J($'*%&r& $ )-&'-(%$r % ESAPIK4

    !K 8r'%&* &*3$r$* %&5&6 *&r )"6&'-& r&"%$* ,r &5-r

    $($rr'( % 3"#* XSS 7)& ,$%&6 *&r )-"%* ,r 3)r-$ %& %&'-3(%$r&* %&

    *&**+$ JV& A2K4

    E'7)'-$ 7)& '$ OWASP T$, 10 J200K ,r&(*$ ($'*%&rr '% *

    *&)'-&* r&($6&'%G&*:

    14 U*& *$6&'-& 6&('*6$* ,%r+$ ,r &r&'(6&'-$ %& *&**+$4 N+$ &*(r&5 $) )*&&r&'(%$r&* *&()'%;r$* %& *&**+$ &6 7)"7)&r *-)+$4

    24 N+$ (&-& '$5$* %&'-3(%$r&* %& *&**+$ ,r ($'3)r%$* $) '5;"%$* ' URL $) &6r&7)*G&*4 I*-$ ($'#&(%$ ($6$ -7)& %& *&**+$ 3

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    44/75

    ,$* )*);r$* (!r+$ 3&(#'%$ ! $) '&" $ '5* %& *r ($6 *)(&**$4

    4 U*& ,&r=$%$* %& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    45/75

    ; – A9 Refer+ncias Inseguras Diretas a

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    46/75

    r&(),&r $ ("&'-& % !*& %& %%$* &*-; *&'%$ &'5%$ 5 6-$%$ ,$*- & (#6

    *& %>("&'-&4 A (#5& %& r&*-r$ % -!&" ("&'-&* %$ -,$ ')6r( &

    *&7)&'(" "$$ $ -('-& ,&r(&!& 7)& *& 6)%r $ ,r6&-r$ %& 101 ,r 101

    $ **-&6 r&-$r' $ r&*-r$ %$ ("&'-& %& (#5& 'Y6&r$ 1014 O -('-& ($'-')

    -&*-'%$ $)-r$* 5"$r&* $* 7)& ($'(%r&6 ($6 $* % -!&" ("&'-&* ,"(+$

    6$*-rr; $* r&*-r$ '%&5%6&'-&4 O (9%$ 41 ")*-r ,"(+$ 5)"'&r;5&"4 E"&

    ,&'* )6 -r&(#$ %& (9%$ * %&6* ,r-&* 3$r6 *),r6%* ,r

    *6,"3(+$ %$ &'-&'%6&'-$4 A "'# 02 r&(&!& $* %%$* '$ (*$ (#5& %&

    (% r&*-r$ %& ("&'-&4 A* "'#* & 6$'-6 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    47/75

    C9%$ 42 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    48/75

    ,r5% $!&-$*4

    • V&r3(r )-$r+$ %& -$%$* $* $!&-$* r&3&r&'(%$*4 O 6-$%$ 6* '%(%$ )*r )65"$r %& ='%(& $) )6 6, %& r&3&r'( ,r ,r&5&'r -7)&* %& 6',)"+$ %&,r6&-r$*

    • S& &*)*,&-$4 A "'# ,&'*

    '(" 5r;5&" [%$6>*&)r$4 A L'# )-"*& &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    49/75

    C9%$ 4 A,"(+$ ($rr% ($'-r 5)"'&r!"%%& R&3&r'(* I'*&)r* Dr&-* O!&-$*

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    50/75

    = – A; 2SR,52ross Site Re*uest ,orger>6

    41 C$'(&-$* B;*($*

    O Cr$** R&7)&*- F$r&JCSRFK $($rr& 7)'%$ )6 -('-& ($'*&)& 3$rr

    )6 ,&%%$ HTTP -$r''%$ '%*-')=5&" %$ ,&%%$ $r'"4 N$r6"6&'-& ($6!'

    )-"+$ %& ($$&* %& *&**+$ & &'&'#r *$("4 A,r$5&- ,r'(,"6&'-& %&

    ,"(G&* 7)& ($'36 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    51/75

    #--,://@@@@4,"5($5)"'&r5&"4($64!r/,,/ & (&- ($6$ &'-r% %)* 5r;5&*

    J6$'-'-& & ($'-D&*-'$K 7)& *+$ &'5%* ,&"$ 3$r6)";r$ @&! -r5* %$

    6-$%$ &-4 O $!&-5$ %$ *(r,- -r'*3&rr % ($'- ($rr&'-& % 5=-6 7)& &*-;

    "$% '$ **-&6K $ 5"$r % 5r;5&" 6$'-'-& ,r ($'- r&*-r% ' 5r;5&"

    ($'-D&*-'$4 A 3)r 41 ")*-r $ 3$r6)";r$ $r'" 7)& &'5 $* %%$* ,r $

    *(r,- &'(rr&%$ %& ,"(r +$4 N$-& 7)& $ 3$r6)";r$ )-"*& %$ 6-$%$ &-

    $ 7)& 3("- &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    52/75

    O -('-& ($'#&(&'%$ $* %&-"#&* % ,"(+$ ,$%&r 6$%3(r & &'5r

    )r" '$ ($r,$ %& )6 &6" ,r )6 5=-64 O (9%$ 4 %&6$'*-r ($6$ )r"

    ,$%& *&r "-&r% ,r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    53/75

    C9%$ 4 Cr'%$ )6 -$&' ,r )6 (6,$ #%%&'4

    C*$ *)!6**+$ %$* %%$* -&'# 7& *&r 3&- 5 6-$%$ &- ,$**=5&"

    )-"r*& &'-+$ %& 3)'+$ ESAPI4#--,U-"-&*JK4%%CSRFT$&'JK % *&)'-&

    3$r6:

    C9%$ 4 Cr'%$ )6 -$&' ,r )6 URL4

    F$'-&: OWASP T$, 10 J2010K

    D$ "%$ %$ *&r5%$r $ *(r,- -r'*3&rrF)'%$*4,#, -6!6 %&5& *&r ($rr%$4

     A "'# 2 ($'3&r& *& $ -$&' &'5%$ ,&"$ 3$r6)";r$ $ 6&*6$ 7)& $ &r%$

    '-&r$r6&'-&4 E6 (*$ ,$*-5$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    54/75

    E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    55/75

    ? – A= 2onfiguração Incorreta de Segurança

    41 C$'(&-$* B;*($*

    C$'3)rG&* '($rr&-* %& *&)r' ,$%&6 $($rr&r ' ,"(+$ @&! '$

    *&r5%$r @&! '$ 69%)"$ %$ PHP '$ 3r6&@$r &6 !'($* %& %%$* & &6 -$%$

    ($6,$'&'-& '&(&**;r$ ,r 7)& ,"(+$ 3)'($'& ($rr&-6&'-&4 Q)'%$

    -)"G&* '+$ *+$ '*-"%* 7)'%$ $* *$3-@r&* '+$ *+$ %&5%6&'-&

    ($'3)r%$* 7)'%$ )*);r$* & *&'#* 7)& -56 $ *$3-@r& *+$ 6'-%* -&6$*

    &'-+$ $($rr'( % 5)"'&r!"%%& %& C$'3)r+$ I'($rr&- %& S&)r'4 E"

    %&5& *&r &5-% ($6 $* &*3$r$* ($')'-$* %& ,r$r6%$r&* & %6'*-r%$r&*

    )6 5& 7)& '+$ % r&*,&-$* . ,&'* $ (9%$ 3$'-& % ,"(+$4

     A &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    56/75

    *&r5%$r4

    M* )6 &&rr$rJK4

    C9%$ 41 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    57/75

    ($'3)r+$ %$ 69%)"$ PHP JOWASP D&5&"$,6&'- 8)%&: C#,-&r $' C$'3)r-$'

    2010K4

     A %r&-5 register@globals 5&6 ($6 5"$r ,%r+$ $33 J%&*!"-%$K %&*%&

    5&r*+$ 4244 E" -$r'$)*& $!*$"&- ,r-r % 5&r*+$ 440 & 3$ r&6$5% '

    5&r*+$ 40404 E** %r&-5 7)'%$ #!"-% (r 5r;5&* %& 5;r$* -,$* '(")*5&

    5r;5&* $r)'%* %& 3$r6)";r$* HTML4 I**$ *'3( 7)& ,$**=5&" )*r 5r;5&*

    *&6 *!&r %& $'%& &"* 5&r64 Vr;5&* '-&r'* 7)& *+$ %&3'%* '$ *(r,- *&

    6*-)r6 ($6 %%$* &'5%$* ,&"$* )*);r$*4 S&)'%$ $ 6')" %$ PHP a diretiva em si

    não é insegura, o uso incorreto dela é que é4 C$'3$r6& $ (9%$ 4 ' "'# 02 $

    r&*)"-%$ % 3)'+$ )*)r$>)-&'-(%$JK -&*-%$4 S& 5&r%%&r$ -r!)=%$ -r)& ;

    5r;5&" [)-$r%$4 N "'# 0 -&*-%$ $ 5"$r % 5r;5&" [)-$r%$ *& 5&r%%&r$ $*(r,- *&)& *) &"$!"*

    E*-'%$ $ 5"$r % %r&-5 r&*-&r>"$!"* )" $'J#!"-%K 5r;5&"

    [)-$r%$ *&r 3("6&'-& 6',)"%4 A"-&r'%$ $ 5"$r ,r $33 $ (9%$

    3)'($';r$ ($rr&-6&'-& J*&'-$ % 5)"'&r!"%%&K4 O)-r 3$r6 %& ($'(&r-r $

    (9%$ *&r '("r 5r;5&" '-&* %$ )*$ '&*-& (*$ $ (9%$ 3)'($'r

    '%&,&'%&'-&6&'-& %$ &*-%$ %& r&*-&r>"$!"*4

    O *3&>6$%& )6 ($')'-$ %& r&*-rG&* %& 3)'G&* & ,$%& r&"6&'-&

    )6&'-r *&)r' &6 )6 6!&'-& %& *&r5%$r ($6,r-"#%$4 E" 3$ r&6$5%

    ' 5&r*+$ 4040 ,$r *&r ($'*%&r%$ r7)-&-)r"6&'-& '($rr&-$ r&*$"5&r &**&

    ,r$!"&6 J*&r5%$r&* ($6,r-"#%$*K '$ '=5&" %& 69%)"$ %$ PHP4

     A %r&-5 disable@functions ,&r6-& %&*!"-r 3)'G&* '-&r'* %$ PHP4 E"

    r&(&!& )6 "*- %& '$6&* %& 3)'G&* *&,r%* ,$r 5r)"4 E" '+$ 3&-% ,&"

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    58/75

    %r&-5 *3&>6$%& & %&5& *&r ($'3)r% %r&-6&'-& '$ r7)5$ ,#,4' '+$ *&'%$

    ,$**=5&" &3&-)r ($'3)r+$ '$ r7)5$ #--,%4($'34

     A %r&-5 open@basedir l6- $* r7)5$* 7)& ,$%&6 *&r !&r-$* $ %r&-9r$

    &*,&(3(%$ & *&)* *)!%r&-9r$* '(")'%$ $ r7)5$ &6 *4 E** %r&-5 '+$ 3&-% ,&"$

    &*-%$ %$ 6$%$ *&)r$ *& &*-& #!"-% $) '+$4

     A %r&-5 allo@url@fopen -5 $ %*,$*-5$ URL@r& 3$,&' @r,,&r* 7)&

    ,&r6-& $ (&**$ $!&-$* URL ($6$ r7)5$*4 S& &*- %r&-5 &*-5r #!"-% $

    -('-& ,$%&r; &@errors D&-&r6' *& $* &rr$* *&r+$ $) '+$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    59/75

    &'5%$ 6&%%$ &6 !-&*4 D&5& *&r 6'-%$ $ 5"$r 6='6$4

     A %r&-5 memor>@limit ($'3)r $ -6'#$ 6;

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    60/75

    C – A? Armaenamento 2riptográfico Inseguro

    41 C$'(&-$* B;*($*

    Q)'%$ %%$* *&'*=5&* '+$ *+$ (3r%$*4 Q)'%$ (r,-$r3 )*% %&

    3$r6 '($rr&- *& ,&" 6; ($'3)r+$ $) ,&" &*($"# %& "$r-6$ 3r($4

    Q)'%$ $ r6&'6&'-$ %* (#5&* 3&-$ %& 3$r6 6,r)%&'-&4 Q)'%$ ,r

    ,r$-&&r *&'#* )-"%$ )6 #*# *&6 $ *"-4 T$%$* &**&* 3-$r&* $) )6

    ($6!'+$ %&"&* -$r'6 ,"(+$ 5)"'&r;5&" . Ar6&'6&'-$ Cr,-$r;3($

    I'*&)r$4 I6,$r-'-& '$-r 7)& &*- 5)"'&r!"%%& r&"($'*& 6* ($6 7)&*-G&*

    %& ,"'&6&'-$ '3r&*-r)-)r & ($'3)rG&* %& *&r5%$r&* %$ 7)& ($6

    "')&6 %& ,r$r6+$ &6 *4

     A &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    61/75

    7)& ,&'* ,"(G&* %& !(&'% ,)%&**&6 %&(3rr &**&* %%$* & '+$ *

    ,"(G&* @&! %& 3r$'-&'%4

    4 Pr&5&'+$T$%$* $* ,&r$* %$ )*$ '*&)r$ % (r,-$r3 &*-+$ "6 %$ 6!-$ %$

    &*($,$ %&*-& -r!"#$ & ,$r-'-$ ,r&5&'+$ *& 3r; ,r("6&'-& -r5* %$ )*$

    ($rr&-$ %* 3)'G&* %& &'(r,-+$ %$ PHP & ($6 * r&($6&'%G&* 6='6* %$

    OWASP T$, 10 J2010K:

    • N+$ (r& "$r=-6$* %& (r,-$r34 U*& *$6&'-& "$r-6$* ,r$5%$* ,)!"(6&'-& ($6$ AES Cr,-$r3 %& (#5&* ,)!"(* RSA SHA2 $) *),&r$r ,r #*#4

    N+$ )*& "$r-6$* 3r($* ($6$ MD/SHA14 U-"& "$r-6$* 6* *&)r$* ($6$ SHA2$) *),&r$r&*4

    • Cr& (#5&* $33"'& & r6&'& (#5&* ,r5%* ($6 &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    62/75

    C9%$ 42 L*-'%$ $* "$r=-6$* ,r &r+$ %$ #*#

     A -!&" 10 ")*-r -$%$* $* "$r=-6$* 7)& ,$%&6 *&r )*%$* )'-$* ($6

    3)'+$ #*#JK4 S&r+$ "*-%$* $* "$r-6$* 7)& 3$r6 '*-"%$*4

    Md2

    md

    md!

    sa

    sa22

    sa2!$

    sa%

    sa!2

    rpemd2

    rpemd$(

    rpemd2!$

    rpemd%2(

    )rlpool

    tger2*%

    tger$(*%

    tger+2*%

    tger2*

    tger$(*

    tger+2*

    sne,ru

    sne,ru2!$

    gost

    adler%2

    crc%2

    crc%2-

    salsa(

    salsa2(

    a.al2*%

    a.al$(*%

    a.al+2*%

    a.al22*%

    a.al2!$*%

    a.al2*

    a.al$(*

    a.al+2*

    a.al22*

    a.al2!$*

    a.al2*!

    a.al$(*!

    a.al+2*!

    a.al22*!

    a.al2!$*!

    T!&" 10 L*- %& "$r=-6$* ,r &r+$ %& #*#

    2

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    63/75

    – AC ,alEa na restrição de acesso a FRL

    41 C$'(&-$* B;*($*

    Q)'%$ ,"(+$ @&! ,&r6-& 7)& ,;'* ,r5%* *&6 (&**%* *&6

    %&5% )-&'-(+$ -'-$ ,r )*);r$* 'Z'6$* ($6$ ,r )*);r$

    )-&'-(%$* &'-+$ &" 5)"'&r;5&" . 3"#* ' r&*-rG&* %& (&**$ URL_*4

     A,"(G&* 7)& 5"%6 ,r5"$* ,&'* '$ "%$ ("&'-& -6!6 &*-+$

    )"6&'-& 5)"'&r;5&*4 N$r6"6&'-& $ %&*&'5$"5&%$r ,$r '&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    64/75

    r&5*+$ %$ (9%$ 3$'-& & %$* -&*-& %& *&)r' ,r 5&r3(r $* 6&('*6$* %&

    ($'-r$"&* %& (&**$4 A 5&r3(+$ *& -$r' 6* &3(&'-& *& $ 6&('*6$ 3$r

    %&*&'5$"5%$ %& 3$r6 (&'-r"%4 Q)'%$ $ 6&('*6$ 6,"&6&'-%$ %& 3$r6

    %*-r!)=% 5&r3(+$ ,$%& *& -$r'r %*,&'%$*4

    42 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    65/75

    C9%$ 4 E$'(&JK

    3$,&'JK & r&%3"&JK4

    O)r$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    66/75

    4 Pr&5&'+$

     A ,r&5&'+$ ($'-r &*- 5)"'&r!"%%& r&7)&r *&"&+$ %& )6 !$r%&6

    7)& ,&r6- *$"(-r )-&'-(+$ %&7)% &6 (% ,;' %$ **-&64 O

    OWASP T$, 10 J2010K *)&r& * *&)'-&* r&($6&'%G&*:

    •  A* ,$"=-(* %& )-&'-(+$ & )-$r+$ %&5&6 *&r !*&%* &6 ,,*/,&r3*6'6'%$ %&** 3$r6 &*3$r$* %& 6')-&'+$ %$* 6&*6$4 I6,"&6&'-r ,&r3* %&(&**$ (rr ,,* 7)& ,$%&6 *&r **$(%$* $* )*);r$* %&** 3$r6 ($'3)r+$*& 3 '$ ,&r3" & '+$ &6 (% )*);r$ $ 7)& -$r' $ -r!"#$ %& ,&r6**+$ & r&*-r+$ %&(&**$ 6* ,r&(*$ & 6&'$* ,&'$*$4 C$6$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    67/75

    3$r % r % ,"(+$ @&! J%$()6&'- r$$-K4

    • Pr$-&+$ ,$r $!*()r%%& '+$ *)3(&'-& ,r ,r$-&&r %%$* & 3)'G&* *&'*=5&* '+$*),$'# 7)& * URL_* &*-r+$ 3$r %$ "('(& %$ -('-&4 A**&)r&*& 7)& G&* ($6,r5"$* "-$* & %6'*-r-5$* %&*-&6 ,r$-&%$*4

    • B"$7)&r (&**$ -$%$* $* -,$* %& r7)5$* 7)& '+$ *&6 %$ -,$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    68/75

    1$ – A Insuficiente &roteção da 2amada de #rasporte

    1041 C$'(&-$* B;*($*

    E*- 5)"'&r!"%%& &*-; 6* r&"($'% ($6 * ($'3)rG&* %$ *&r5%$r

    '$ 7)" ,"(+$ @&! &*-; '*-"% %$ 7)& ($6 ,"(+$ &6 *4 S&r5%$r&*

    W&! 7)& '+$ ,r$-&&6 $ -r;3&$ %& r&%& *+$ *)*(&-=5&* &*- 5)"'&r!"%%&4

    S&r5%$r&* 7)& )-"6 $ ,r$-$($"$ SSL JS&()r& S$(&-* L&rK $) $ ,r$-$($"$ TLS

    JTr'*,$r- L&r S&()r-K &6 ,r-&* &*,&(=3(* ($6$ )-&'-(+$ & '+$ $

    )-"6 ,r * %&6* ,r-&* -6!6 &*-+$ )"6&'-& 5)"'&r;5&*4 E"&* &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    69/75

    &3(&'-&*4 Pr "$("r 3"# '* ($'&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    70/75

    104 Pr&5&'+$

     A ,r&5&'+$ ,r6r r&3&r&'-& (6% %& -r'*,$r-& ,$%&r; *&r 3&-

    -r5* %* r&($6&'%G&* %$ OWASP T$, 10 J2010K:

    • S$"(-r SSL ,r -$%* * ,;'* *&'*=5&*4 P&%%$* '+$SSL ,r &*-* ,;'* %&5&r+$*&r r&%r&($'%$* ,r ,;' SSL4

    • C$"$(r $,+$ *&()r& &6 -$%$* $* ($$&* *&'*=5&*4 A 3)'+$ *&-($$& (rr )6 ($$&(*$ '&'#)6 *=% -&'# *%$ &'5% ,r $ '5&%$r4 O 7)'-$ ,r6&-r$ % 3)'+$(&- )6 5"$r !$$"&'$ & ,$r ,%r+$ 3"*&4 Q)'%$ $ 5"$r %&**& ,r6&-r$ 3$r -r)& $,+$ *&()r& *&r; -5% *-$ $ ($$& *9 ,$%&r; *&r -r'*6-%$ *$! )6 ($'&

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    71/75

    11 – A1$ Redirecionamento e %ncaminEamentos In!álidos

    1141 C$'(&-$* B;*($*

    Q)'%$ )6 -('-& ,$r 6&$ %& &'&'#r *$(" ")%& 5=-6

    ($'*&)'%$ 7)& &*- (&**& )6 URL 7)& r&%r&($' '%&5%6&'-& 5=-6

    ,r )6 *-& 6"($*$ ,&r6-'%$ %&** 3$r6 $ -7)& %$ -,$ P#*#' $) -

    6&*6$ 7)& )6 6"@r& *& '*-"%$ '$ ($6,)-%$r % 5=-64 O

    r&%r&($'6&'-$ ,$%& *&r '-&r'$ J%&'-r$ % ,"(+$K ($6$ &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    72/75

    1142 E

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    73/75

    13 4 2onsiderações finais

     A-)"6&'-& * ,"(G&* @&! *+$ )6 r&"%%& ,r 6)-* &6,r&** *&

    ($6$ )6 '$5$ %&*&'5$"56&'-$ %& *$3-@r& $) - 6&*6$ 6r+$ %& )6'- ,"(+$ ,r $ ,r%6 %* ,"(G&* @&!4 ] ,r&(*$ 7)& *&)r'

    *& )6 r&7)*-$ -+$ 6,$r-'-& ($6$ )6 r&7)*-$ %& 3)'($'"%%& ,$*

    %&*&'5$"5&r *$3-@r& J6&*6$ 7)& '+$ *& )6 ,"(+$ @&!K *&6 *& ,r&$(),r

    ($6 *) *&)r' ,$%& -r&r ,r&)=$* '("()";5&* ,r $* &'5$"5%$* J("&'-&*

    )*);r$* *-(#$"%&r* & &-(444K4 T&r ($'*('( %& 7)& '&(&**;r$ %&*&'5$"5&r

    ,"(G&* ($6 *&)r' %&7)% )6 !$6 ($6&$ 6* 6,r&*('%=5&"

    ($'#&(&r & %$6'r $* *,&(-$* %& *&)r' 7)& &'5$"5& )6 ,"(+$4P$%&*& %&r 7)& &*-& -r!"#$ *& )6 ($'-r!)+$ r&"&5'-& ,r &7),&*

    %& %&*&'5$"56&'-$ & ,r$&-*-* %& *$3-@r& 7)& !)*(6 ($6$ $!&-5$ (rr &

    6'-&r )6 **-&6 @&! *&)r$ ($'*-r)=%$ *$! r7)-&-)r LAMP4 E*-& -r!"#$

    -r%)) & &*6)$) $ ,r$&-$ OWASP T$, 10J2010K ,r r&"%%& %& )6

    %&*&'5$"56&'-$ %& ,"(-5$ @&! !*&%$ ' "')&6 PHP %& 3$r6

    ($'-r!)r ($6 $ ,r&'%%$ & %&5%$ )*$ & 6,"&6&'-+$ %&** "')&64

    I6,$r-'-& %&*-(r 7)& $* 10 r*($* '%(%$* ,&"$ T$, 10 '+$ *),r&6 -$%$*

    $* ,r$!"&6* r&"($'%$* . *&)r' % ,"(+$4 ] 6,$r-'-& r "6 ,r9,r

    OWASP r&($6&'% 7)& * $r'G&* &*-!&"&6 )6 !*& *9"% %&

    3$r6+$ '$r6* & 3&rr6&'-* 7)& -$r'&6 ,r$r6+$ *&)r )6 $!&-5$

    ,$**=5&"4 H; (&'-&'* %& 7)&*-G&* 7)& ,$%&6 3&-r %& 3$r6 &r" *&)r'

    %& )6 ,"(+$ @&!4

     A -=-)"$ %& ($'-')%%& %&*- ,&*7)* ,$%&*& *)&rr )6 &*-)%$ 6*

    ,r$3)'%%$ % 5)"'&r!"%%& XSS !*&% '$ DOM & %$* ,r$&-$* ASVS

    JA,,"(-$' S&()r- V&r3(-$' S-'%r%K & D&5&"$,6&'- 8)%& 6!$* %

    OWASP4

    O)-r* ,$**!"%%&* ,$%&6 *&r &

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    74/75

    Refer+ncias

     ALBUQUERQUE R(r%$ RIBEIRO Br)'$4 S&)r' '$ D&*&'5$"56&'-$ %& S$3-@r&4

    R$ %& ?'&r$: C6,)* 20024

    8ILMORE W4 ?*$'4 D$6''%$ PHP & MS7" %$ '('-& $ ,r$3**$'"4 R$ %& ?'&r$: A"- B$$* 2004

    814 Cr6'$*$* r$)!6 US[ 1 6"#G&* &6 3r)%&* %& 'Y'($* $'"'&4 D*,$'=5&" &6:#--,://14"$!$4($6/-&('$"$/'$-(/2011/11/(r6'$*$*r$)!6)*16"#$&*&63r)%&%&')'($*"'&4#-6"4 A(&**$ &6: 2/11/2011

    MANUAL OFICIAL DO MS7"4 D*,$'=5&" &6 #--,://%&546*7"4($6/%$(/4 A(&**$ &6 01 $420114

    MANICO ?64 &-4 "4 DOM !*&% XSS Pr&5&'-$' C#&- S#&&-4 D*,$'=5&" &6:#--,*://@@@4$@*,4$r/'%&!*&%>XSS>Pr&5&'-$'>C#&->S#&&- 4 A(&**$ &6:01/0/20114

    MANUAL OFICIAL DO PHP" D*,$'=5&" &6: #--,://@@@4,#,4'&-/6')"/,->BR/4 A(&**$ &6:01/0/20114

    MARQUES H&-$r R$6&r$ &- "4 M&-$%$"$ % P&*7)* & %$ Tr!"#$ C&'-=3($4 24&%4C6,$ 8r'%&: E%-$r UCDB 2004

    MORIMOTO Cr"$* E%)r%$4 S&r5%$r&* L')

  • 8/18/2019 Tcc Flavio Alexandre Micheletti

    75/75

    Pr&5&'-$' C#&- S#&&-4 D*,$'=5&" &6: #--,*://@@@4$@*,4$r/'%&R&7)&*->F$r&r>JCSRFK>Pr&5&'-$'>C#&->S#&&- A(&**$ &6: 01/0/20114

    PESSOA M;r($4 S&)r' &6 PHP: D&*&'5$"5 ,r$r6* PHP ($6 "-$ '=5&" %&*&)r' & ,r&'% ($6$ 6'-&r $* *&r5%$r&* @&! "5r&* %& 6&*4 S+$ P)"$:N$5-&( 2004

    PRESSMAN R$&r S4 LOWE D5%4 E'&&'#r WEB4 R$ %& ?'&r$: C'(M$%&r'LTC 2004

    RIVERA ?$&4 U*' MSQL S-$r&% Pr$(&%)r&* @-# PHP 6*7"/6*7"/,%$4 D*,$'=5&"&6: #--,://@@@4$&r5&r4($6/200/)*'6*7"*-$r&%,r$(&%)r&*@-#,#,6*7"6*7",%$/ 4 A(&**$ &6 01/0/20114

    SICA Cr"$* REAL P&--&r V""4 Pr$r6+$ S&)r U-"'%$ PHP: F"& L')&6% '-&r'&-4 R$ %& ?'&r$: C'( M$%&r' 2004

    SOFTPEDIA4 Or'& Fr&'(# P$r-" H(&%4 D*,$'=5&" &6:#--,://'&@*4*$3-,&%4($6/'&@*/Or'&Fr&'(#P$r-"H(&%1124*#-6" 4 A(&**$ &6:2/11/2011

    TERENCE A' C";)% F&r''%&* ESCRIVÃO FILHO E%6)'%$4 A!$r%&6 7)'---57)"--5 & )-"+$ % ,&*7)*+$ '$* &*-)%$* $r'($'*4 I': A'* %$ XXVIENE8EP F$r-"& CE Br*" 11 %& O)-)!r$ %& 2004 D*,$'=5&" &6:#--,://@@@4!&,r$4$r4!r/!!"$-&(/ENE8EP200>TR0>014,%34 A(&**$ &6:2/11/20114

    WICHERS D5& MANICO ?64 SQL I'&(-$' Pr&5&'-$' C#&- S#&&-4 D*,$'=5&" &6:#--,*://@@@4$@*,4$r/'%&I'&(-$'>Pr&5&'-$'>C#&->S#&&-4 A(&**$ &6:01/0/20114

    WILLIAMS ?&33 MANICO ?64 XSS JCr$** S-& S(r,-'K Pr&5&'-$' C#&- S#&&-4D*,$'=5&" &6:#--,*://@@@4$@*,4$r/'%&JCr$**>S-&>S(r,-'K>Pr&5&'-$'>C#&->S#&&-4 A(&**$ &6: 01/0/20114