Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

herakty

The Cross-Site Request Forgery (CSRF/XSRF) FAQ

Mensagens Recomendadas

herakty

Já que se abordou este tema no forum e em muitos casos pode ser um vector interessante e apenas para terem uma ideia do que é e de como funciona vai aqui um bom FAQ com excelentes exemplos desta técnica que é CSRF/XCSRF

claro que é preciso injectar código num site ou fazer com que alguém aceda a um site vosso

um problema mais comum é a cena dos avatars e de se poder colocar imagens em sites Web2 (sociais e afins)

IMG SRC
  <img src="http://host/?command">

isto permite que num local onde é permitida a tag image se execute um comando.. claro que os alguns developers sabem disto e defendem de diversas formas

About

This paper serves as a living document for Cross-Site Request Forgery issues. This document will serve as a repository of information from existing papers, talks, and mailing list postings and will be updated as new information is discovered.

What is Cross Site Request Forgery?

Cross Site Request Forgery (also known as XSRF, CSRF, and Cross Site Reference Forgery) works by exploiting the trust that a site has for the user. Site tasks are usually linked to specific urls (Example: http://site/stocks?buy=100&stock=ebay) allowing specific actions to be performed when requested. If a user is logged into the site and an attacker tricks their browser into making a request to one of these task urls, then the task is performed and logged as the logged in user. Typically an attacker will embed malicious HTML or JavaScript code into an email or website to request a specific 'task url' which executes without the users knowledge, either directly or by utilizing a Cross-site Scripting Flaw. Injection via light markup languages such as BBCode is also entirely possible. These sorts of attacks are fairly difficult to detect potentially leaving a user debating with the website/company as to whether or not the stocks bought the day before was initiated by the user after the price plummeted.

http://www.cgisecurity.com/csrf-faq.html

teckV

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
skin

É uma técnica que já conheço e já desenvolvi coisas interessantes há algum tempo e continua na moda e a ter muitas vulnerabilidades.


Our lives begin to end the day we become silent about things that matter - Martin Luther King

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
herakty

pode ser uma técnica muito poderosa... depende de como o alvo está programado, mas mesmo com proteções consegue-se coisas interessantes...

e se conseguires o código fonte (um problema do open-source) podes analisar ao detalhe todos os inputs e manipula-los... se não for open-source podes sempre fazer um mirror... há várias técnicas e para muitos sites basta

wget -m www.site.pt

e ficas com uma réplica do site... se for bem desenvolvido, mas aqui estou a falar de cenas muito trabalhosas e que a maioria dos sites não implementa (os produtos open-source free tipo phpnuke, dotnetnuke, etc protegem-se disto de uma forma muito eficaz)... dizia, os sites normais feitos à medida por pequenas empresas de sites não são desenvolvidos com preocupações de segurança (por acaso tb já trabalhei numa fabrica de sites [como chamo estas empresas ;) ]e a principal preocupação é a rapidez de desenvolvimento, lixando a segurança. (mais de 15 anos de carreira fizeram com que eu percorresse quase todas as áreas de TI, algo que fiz de propósito para ficar a conhecer melhor todas as áreas das TI). nada como trabalhar internamente nas empresas dos vários ramos para melhor conhecer as vulnerabilidades

é algo que está a vir muito à baila hoje as técnicas do vector 80 ou vector aplicacional...  como foi designado numa conferencia, pois passa pelo porto 80 e a maioria das empresas pode fechar tudo, mas precisam sempre de ter um site ou um webservice, ou qualquer coisa no vector web, HTTP, porto 80... e como tal todas estas técnicas estão a ganhar importância.

eu estive numa conferencia onde se dizia que ia acabar o exploitation tradicional, devido a certas protecções de memoria e não só (win server 2003 e 2008 e tb no linux) e melhores técnicas de programação, devido ao conhecimento das técnicas de ataque [conhecer o ataque permite evita-lo melhor. UM GRANDE ARGUMENTO CONTRA QUEM ACHA QUE NÃO SE DEVE FALAR DESTAS COISAS ;)... e pior. se nós não falarmos este conhecimento fica só no underground, tornando as empresas e profissionais mais vulneráveis, já dizia o 1º manual de guerra que o maior perigo é o que não se conhece] e como tal nessa conferencia houve uma grande discussão sobre o futuro do cracking e que vectores ficariam então disponíveis...

e vi uma excelente apresentação sobre o futuro (agora já não é futuro, mas passado, presente e futuro ;)) que é o vector web, ou aplicacional, ou  como lhe queiram chamar, seria uma nova porta aberta tão importante como a anterior e que se continuaria na linha da frente, quer dizer, o cracking à frente das defesas em nível de evolução, probabilidades e técnicas

pois as empresas quase sempre precisam ter essa porta aberta para apresentarem o seu site ou serviços... bem e agora com o Software as a service (SaaS) ainda mais coisas surgem neste vector... aliás, o ppl está já a especializar-se nos web services e já há grandes tools vocacionadas para explorar os web services ou remote services

resumo... apesar de as tecnologias de defesa terem evoluído com excelente firewalls, IPS, IDS, e tudo o mais, precisam ter uma abertura para fora que é agora o principal vector...

o vector aplicacional, que acho ser a melhor forma de o designar... e a web2 ainda mais aumenta isto

esta conversa não tinha fim... hh3hh3h3h3h3h... mas apenas queria reforçar a importancia das técnicas sobre HTTP / vector aplicacional exposto para fora, tendo em conta que a técnica deste tópico em uma que explora esse vector  ;) :smoke:

teckV

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
skin

Por acaso dos ataques Web esta é a que considero ter menos protecção. É que o normal (quando há protecção...) é filtrar o user input, mas disto, esquecem-se quase sempre.


Our lives begin to end the day we become silent about things that matter - Martin Luther King

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
herakty

e se tiveres acesso ao codigo... é fatal... é algo que está a bombar e faz parte de qualquer análise de vulnerabilidades para testes de intrusão

teckV

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
apocsantos

    Isto ganha mais gravidade quanta mais for a ignorancia de quem programa, face às tecnicas de ataque. Segundo eu aprendi, uma pessoa para se poder defender, tem de saber atacar, para conseguir antever ataques.

    Um problema identico surgiu nos inicios da internet, com o serviço de Telnet. Mais tarde resolvido com o SSH.

    Acima de tudo protege-se contra mirroring, (existe toneladas de formas de se proteger contra um mirror.

    Ainda assim este vector está cada vez mais vulnerável, cada vez existem menos pessoas com conhecimentos de segurança, e as que existem calam-se muito caladinhas, para não serem incomodadas por quem ainda menos sabe e acha saber tudo.

Cordiais cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.