SlideShare une entreprise Scribd logo
1  sur  18
A5 – Cross Site Request Forgery



           Tiago Natel de Moura
About Me



• Tiago Natel de Moura aka i4k
• Co-Fundador do BugSec Security Team
     • http://bugsec.googlecode.com/
• Co-Fundador do OWASP Florianópolis.
• Consultor de Segurança na SEC+
     • www.secplus.com.br
O que é CSRF?



• Cross Site Request Forgery é um ataque que
  força um usuário a executar ações arbitrárias
  numa aplicação web que ele esteja
  autenticado.
• Usando diversas técnicas como engenharia
  social, XSS, URL encurtadas, etc, um atacante
  pode induzer usuários de uma aplicação web a
  executar ações de sua escolha.
Exemplo 1: Engenharia Social


• http://bank.com/ é vulnerável a CSRF
• Usuário Alice tem conta em Bank e recebe um
  spam com o link encurtado:
  http://goo.gl/NtNXR
• Se ela clicar no link e coincidir de estar logada
  na conta do seu banco ela irá transferir $
  5000.00 para a conta do cracker.
Exemplo 1: Engenharia Social


• http://goo.gl/NtNXR resolve para:
• http://bank.com/transfer.do?
  dest_account=66666&amount=5000.00
Exemplo 2: XSS



• http://bank.com/ é vulnerável a CSRF.
• Alice tem conta em Bank e também visita o
  blog de Bob que é vulnerável a XSS.
• Atacante posta um comentário no blog de Bob
  com uma imagem invisível <img
  src=”http://bank.com/transfer.do?
  dest_acc=6666&amount=5000” width="1"
  height="1" border="0" />
• Quando Alice visitar o blog de Bob seu
  navegador irá tentar requisitar a imagem na
Alvos



•   Internet Banking
•   Redes Sociais
•   WebMail
•   Intranets
•   outros
SocialEngine 4.2.2 0Day


•   Product: Social Engine v4.2.2
•   Vendor-URL: http://www.socialengine.net/
•   Discovered by: Tiago Natel de Moura aka "i4k"
•   Discovered at: 10/04/2012
•   CVE Notified: 10/04/2012
•   CVE Number: CVE-2012-2216
•   Vendor Notified at: 11/04/2012
•   CVE published: None
SocialEngine 0Day
SocialEngine 0Day
SocialEngine 0Day




• SocialEngine é uma aplicação web para
  criação de redes sociais customizáveis.
• Feita em PHP com Zend Framework
• Proprietário
Falhas Encontradas



•   Persistent XSS: music upload
•   Persistent XSS: create events
•   Reflected XSS: search form of events
•   CSRF:
    – Events: Abrir/Fechar/Observar eventos
    – Forum: Abrir/Fechar tópicos
    – Classified: Abrir/Fechar
CSRF



• Fechar um evento:
  – GET /index.php/events/topic/close/close/1/event_id/2/topic_id/2

• Abrir um evento:
  – GET /index.php/events/topic/close/close/0/event_id/2/topic_id/2

• Fechar um tópico do fórum:
  – GET /index.php/forums/topic/4/example-topic/close/close/1

• Abrir um tópico do fórum:
  – GET /index.php/forums/topic/4/example-topic/close/close/0
Contra-Medidas e Proteções



• Para áreas críticas:
  – Envie um token único em cada requisição.
     • Esse token deve identificar a sessão atual do usuário.
       Usando a Session do servidor web e opcionalmente em
       conjunto com outras informações (UserAgent, Referer,
       etc).
  – Valide o Referer
  – Impossibilite XSS nessas áreas (não reflita inputs
    do usuário nem apresente informações
    persistidas).
Soluções Já existentes



Implementação:
• OWASP CSRFGuard Project
• ESAPI Framework

Teste
• OWASP CSRFTester Project
Google Groups CSRF



• Google Groups Profile Delete CSRF
• http://groups.google.com/groups/profile/add
  photo?Action.Delete=1
Obrigado!

Contenu connexe

Similaire à Cross site request forgery

ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 
Introducao WAF Tchelinux 2012
Introducao WAF Tchelinux 2012Introducao WAF Tchelinux 2012
Introducao WAF Tchelinux 2012Jeronimo Zucco
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications FirewallsJeronimo Zucco
 
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaInternet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaW. Gabriel de Oliveira
 
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Tchelinux
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyJeronimo Zucco
 
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
 
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 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
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012Marcio Cunha
 
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
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Internet, Wikis, blogues e redes sociais
Internet, Wikis, blogues e redes sociaisInternet, Wikis, blogues e redes sociais
Internet, Wikis, blogues e redes sociaisLuis Borges Gouveia
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da InformaçãoVinicius Marangoni
 
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
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on RailsJulio Monteiro
 

Similaire à Cross site request forgery (20)

ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
Introducao WAF Tchelinux 2012
Introducao WAF Tchelinux 2012Introducao WAF Tchelinux 2012
Introducao WAF Tchelinux 2012
 
Ransomware
RansomwareRansomware
Ransomware
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications Firewalls
 
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurançaInternet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
Internet e Segurança - Direito e Tecnologia da Informação - Dicas de segurança
 
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
 
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
 
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
 
"Hacking+PHP"
"Hacking+PHP""Hacking+PHP"
"Hacking+PHP"
 
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
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
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
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Internet, Wikis, blogues e redes sociais
Internet, Wikis, blogues e redes sociaisInternet, Wikis, blogues e redes sociais
Internet, Wikis, blogues e redes sociais
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
 
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?
 
Meteor - TechParty 2015
Meteor - TechParty 2015Meteor - TechParty 2015
Meteor - TechParty 2015
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on Rails
 

Cross site request forgery

  • 1. A5 – Cross Site Request Forgery Tiago Natel de Moura
  • 2. About Me • Tiago Natel de Moura aka i4k • Co-Fundador do BugSec Security Team • http://bugsec.googlecode.com/ • Co-Fundador do OWASP Florianópolis. • Consultor de Segurança na SEC+ • www.secplus.com.br
  • 3. O que é CSRF? • Cross Site Request Forgery é um ataque que força um usuário a executar ações arbitrárias numa aplicação web que ele esteja autenticado. • Usando diversas técnicas como engenharia social, XSS, URL encurtadas, etc, um atacante pode induzer usuários de uma aplicação web a executar ações de sua escolha.
  • 4. Exemplo 1: Engenharia Social • http://bank.com/ é vulnerável a CSRF • Usuário Alice tem conta em Bank e recebe um spam com o link encurtado: http://goo.gl/NtNXR • Se ela clicar no link e coincidir de estar logada na conta do seu banco ela irá transferir $ 5000.00 para a conta do cracker.
  • 5. Exemplo 1: Engenharia Social • http://goo.gl/NtNXR resolve para: • http://bank.com/transfer.do? dest_account=66666&amount=5000.00
  • 6.
  • 7. Exemplo 2: XSS • http://bank.com/ é vulnerável a CSRF. • Alice tem conta em Bank e também visita o blog de Bob que é vulnerável a XSS. • Atacante posta um comentário no blog de Bob com uma imagem invisível <img src=”http://bank.com/transfer.do? dest_acc=6666&amount=5000” width="1" height="1" border="0" /> • Quando Alice visitar o blog de Bob seu navegador irá tentar requisitar a imagem na
  • 8. Alvos • Internet Banking • Redes Sociais • WebMail • Intranets • outros
  • 9. SocialEngine 4.2.2 0Day • Product: Social Engine v4.2.2 • Vendor-URL: http://www.socialengine.net/ • Discovered by: Tiago Natel de Moura aka "i4k" • Discovered at: 10/04/2012 • CVE Notified: 10/04/2012 • CVE Number: CVE-2012-2216 • Vendor Notified at: 11/04/2012 • CVE published: None
  • 12. SocialEngine 0Day • SocialEngine é uma aplicação web para criação de redes sociais customizáveis. • Feita em PHP com Zend Framework • Proprietário
  • 13. Falhas Encontradas • Persistent XSS: music upload • Persistent XSS: create events • Reflected XSS: search form of events • CSRF: – Events: Abrir/Fechar/Observar eventos – Forum: Abrir/Fechar tópicos – Classified: Abrir/Fechar
  • 14. CSRF • Fechar um evento: – GET /index.php/events/topic/close/close/1/event_id/2/topic_id/2 • Abrir um evento: – GET /index.php/events/topic/close/close/0/event_id/2/topic_id/2 • Fechar um tópico do fórum: – GET /index.php/forums/topic/4/example-topic/close/close/1 • Abrir um tópico do fórum: – GET /index.php/forums/topic/4/example-topic/close/close/0
  • 15. Contra-Medidas e Proteções • Para áreas críticas: – Envie um token único em cada requisição. • Esse token deve identificar a sessão atual do usuário. Usando a Session do servidor web e opcionalmente em conjunto com outras informações (UserAgent, Referer, etc). – Valide o Referer – Impossibilite XSS nessas áreas (não reflita inputs do usuário nem apresente informações persistidas).
  • 16. Soluções Já existentes Implementação: • OWASP CSRFGuard Project • ESAPI Framework Teste • OWASP CSRFTester Project
  • 17. Google Groups CSRF • Google Groups Profile Delete CSRF • http://groups.google.com/groups/profile/add photo?Action.Delete=1