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