Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
triplexim32

Protecção XSS

Recommended Posts

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?


<

Share this post


Link to post
Share on other 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


<

Share this post


Link to post
Share on other 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:


<

Share this post


Link to post
Share on other 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.


<

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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


<

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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  ;)


<

Share this post


Link to post
Share on other sites
triplexim32

Consegui, funciona perfeitamente nos browsers mais conhecidos (incluindo IE)

Muito obrigado pela ajuda  :thumbsup:


<

Share this post


Link to post
Share on other 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."

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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)....


<

Share this post


Link to post
Share on other 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?


<

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.