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

triplexim32

Protecção XSS

Mensagens Recomendadas

triplexim32

Tenho visto que a maioria de alguns sites protege determinados cookies de serem mostrados no comando

document.cookie (do javascript)

Como posso fazer isso?


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

protege como? o que aparece se tentares fazer isso?

Tens conta no mail da sapo?

Se tiveres vai aqui: http://mail.sapo.pt/

Limpa os cookies dessa pagina depois loga-te.

No fim de te logares (nao clickes e mais nada), mete isto no url da pagina:

javascript:alert(document.cookie);

Copia o que lá diz e cola num TXT, da um paragrafo em cada um apos o ";" (para os separar individualmente).

Depois (ainda com a pagina aberta) ve os cookies dessa pagina e vais reparar no seguinte:

No TXT (para onde colaste os teus cookies) tens 4 cookies, mas no browser tens 5


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Não percebi nada, mas pronto ..de qualquer modo, é impossível esconder cookies, ponto.

Não é, se fosse impossível vários sites não o faziam  :thumbsup:


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Entende uma coisa : cookies são ficheiros no teu pc. Não serás tu que não lhes consegues aceder? Experimenta instalar o firefox + firebug a ver se não tens acesso a tudo.

Com o Firefox consigo ver os cookies com a linha de Javascript não os consigo apanhar todos.

Testa o que te disse acima e vais ver que o que digo é possivel.


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Já viste se não é restrição de domínio/subdomínios? Se por exemplo, estiveres em mail.sapo.pt, e se um dos cookies estiver em login.sapo.pt, não o vais conseguir obter, porque é restrição de segurança dos browsers: embora estejam no mesmo domínio (sapo.pt), eles estão em subdomínios diferentes (mail e login).


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Noup, estão todos no mesmo dominio.

Estive a ver na sapo e estava a ver mal, mas a minha teoria mantém-se

Vejam por exemplo numa board Vbulletin -> h**p://forum.zwame.pt/index.php (peço desculpa pela publicidade mas não encontro mais nenhum site  :thumbsup:)

Se apagarem os cookies todos e deixarem apenas o cookie "bbsessionhash" e depois mandarem javascript para o url para o browser javascript:alert(document.cookie); aparece uma mensagem vazia.

Se deixarem os outros cookies vao ver que esse cookie (bbsessionhash) nunca aparece na mensagem do javascript


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Experimentei agora no website da Zwame, e efectivamente não aparece listado na caixa de alerta. No entanto, ele aparece nas opções do Firefox, e na extensão Webdeveloper.

Pesquisei um pouco, e acho que encontrei a resposta. Se definires um parâmetro na criação do cookie chamado 'httponly', ele não é acessível pelo Javascript:

http://stackoverflow.com/questions/1022112/why-document-cookie-hasnt-show-all-the-cookie-in-the-site

Pelo que também dizem aí, não é uma opção padrão, e pode não estar implementada em todos os browsers. Pelos vistos, o Firefox implementa isso. Sinceramente, desconhecia tal opção.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

Eu conhecia isso do httponly, não a referi porque nem é suportado por todos os browsers nem representa uma real forma de segurança. Além disso, quem quiser proteger os cookies não é no javascript que o deve fazer (podem ser alterados sem ser por javascript), mas sim no código a nível do servidor, a validação do mesmo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Vai ao google, se não aceitas as respostas que te dão aqui.

Eu não disse isso por mal, apenas quis mostrar que o que disse acontece, não me interpretem mal :thumbsup:

Experimentei agora no website da Zwame, e efectivamente não aparece listado na caixa de alerta. No entanto, ele aparece nas opções do Firefox, e na extensão Webdeveloper.

Pesquisei um pouco, e acho que encontrei a resposta. Se definires um parâmetro na criação do cookie chamado 'httponly', ele não é acessível pelo Javascript:

http://stackoverflow.com/questions/1022112/why-document-cookie-hasnt-show-all-the-cookie-in-the-site

Pelo que também dizem aí, não é uma opção padrão, e pode não estar implementada em todos os browsers. Pelos vistos, o Firefox implementa isso. Sinceramente, desconhecia tal opção.

Vou analisar, obrigado pelo feedback  ;)


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

http://old.nabble.com/Bugzilla-cookies-HTTP-only-td27160344.html

Security my a**

http://www.gnucitizen.org/blog/why-httponly-wont-protect-you/

Resumindo :

"The HttpOnly protection mechanism is useful only in case where the attacker is not skillful enough to undertake other means for attacking the remote application and subsequently the user."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

O que dizem no primeiro link é que a protecção só funciona ao nivel do dominio onde a página é apresentada, e que se utilizarem o xmlHTTPRequest para aceder à página da qual querem roubar as sessões já funciona?

Se for assim como interpretei, realmente é uma segurança que deixa muito a desejar, por isto, e por não ser uma padrão, o que significa dependência do browser.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

É pseudo-segurança. Claro que dificulta um bocado o trabalho a quem quiser desafiar a segurança de um sistema, mas sendo nós francos, quem se dá realmente a esse trabalho sabe bem dar a volta a uma coisa tão simples como um cookie com esses parâmetros.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

http://old.nabble.com/Bugzilla-cookies-HTTP-only-td27160344.html

Security my a**

http://www.gnucitizen.org/blog/why-httponly-wont-protect-you/

Resumindo :

"The HttpOnly protection mechanism is useful only in case where the attacker is not skillful enough to undertake other means for attacking the remote application and subsequently the user."

Pah já é bom não apanharem os cookies, a maioria não é skillful para fazer coisas para alem dos cookies (como ai diz)....


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

lol, nem assim ... o que aí diz é que quem realmente quer hackar alguma coisa, ultrapassa bem essa pseudo-barreira.

Uma pergunta estupida  :-[

O que podes fazer com javascript sem teres cookies?


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

A principal motivação maliciosa de incluir Javscript numa página, a meu ver, é de redireccionar ou adicionar conteúdos a páginas que tu julgues ser de confiança.

Por exemplo, supõe que alguém consegue hackar o banco XPTO (assumimos também que ele não usa certificados e encriptação por SSL, o que não é admissível para um banco hoje em dia, isto para simplificar o exemplo) e acrescenta-lhe um javascript que modifica o conteúdo da página (por exemplo, cria uma iframe por cima de todos os conteúdos com um website de phishing, em tudo idêntico). Essa página pede-te uma "actualização de dados": tu olhas para o endereço onde estás, supostamente de confiança, e a crença de que ainda estás a contactar com a entidade bancária mantém-se. Na verdade, os teus dados podem ser redireccionados para outro lugar qualquer, sem que te apercebas disso.

Quem diz isto, diz mais formas, e possivelmente ainda mais difíceis de detectar. É por estas razões que não se deve confiar muito em scripts externos, porque podem ser hackados, e isso num serviço popular, era o caos. Costuma acontecer com algumas empresas de publicidade na internet.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

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.