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-Fundad...
O que é CSRF?• Cross Site Request Forgery é um ataque que  força um usuário a executar ações arbitrárias  numa aplicação w...
Exemplo 1: Engenharia Social• http://bank.com/ é vulnerável a CSRF• Usuário Alice tem conta em Bank e recebe um  spam com ...
Exemplo 1: Engenharia Social• http://goo.gl/NtNXR resolve para:• http://bank.com/transfer.do?  dest_account=66666&amount=5...
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...
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: Tia...
SocialEngine 0Day
SocialEngine 0Day
SocialEngine 0Day• SocialEngine é uma aplicação web para  criação de redes sociais customizáveis.• Feita em PHP com Zend F...
Falhas Encontradas•   Persistent XSS: music upload•   Persistent XSS: create events•   Reflected XSS: search form of event...
CSRF• Fechar um evento:  – GET /index.php/events/topic/close/close/1/event_id/2/topic_id/2• Abrir um evento:  – GET /index...
Contra-Medidas e Proteções• Para áreas críticas:  – Envie um token único em cada requisição.     • Esse token deve identif...
Soluções Já existentesImplementação:• OWASP CSRFGuard Project• ESAPI FrameworkTeste• OWASP CSRFTester Project
Google Groups CSRF• Google Groups Profile Delete CSRF• http://groups.google.com/groups/profile/add  photo?Action.Delete=1
Obrigado!
Cross site request forgery
Upcoming SlideShare
Loading in...5
×

Cross site request forgery

604
-1

Published on

CSRF

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
604
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for 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!
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×