Cross site request forgery

762 visualizações

Publicada em

CSRF

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
762
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Cross site request forgery

  1. 1. A5 – Cross Site Request Forgery Tiago Natel de Moura
  2. 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. 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. 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. 5. Exemplo 1: Engenharia Social• http://goo.gl/NtNXR resolve para:• http://bank.com/transfer.do? dest_account=66666&amount=5000.00
  6. 6. 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
  7. 7. Alvos• Internet Banking• Redes Sociais• WebMail• Intranets• outros
  8. 8. 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
  9. 9. SocialEngine 0Day
  10. 10. SocialEngine 0Day
  11. 11. SocialEngine 0Day• SocialEngine é uma aplicação web para criação de redes sociais customizáveis.• Feita em PHP com Zend Framework• Proprietário
  12. 12. 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
  13. 13. 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
  14. 14. 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).
  15. 15. Soluções Já existentesImplementação:• OWASP CSRFGuard Project• ESAPI FrameworkTeste• OWASP CSRFTester Project
  16. 16. Google Groups CSRF• Google Groups Profile Delete CSRF• http://groups.google.com/groups/profile/add photo?Action.Delete=1
  17. 17. Obrigado!

×