“Mesma política de origem” e scripts carregados do Google - uma solução vulnerável?
-
21-09-2019 - |
Pergunta
Eu li a pergunta aqui em então "JQuery Linking vs. Download"E eu de alguma forma não entendi.
O que acontece se você hospeda uma página em http://yourserver.com
, mas carregue a biblioteca jQuery de http://ajax.googleapis.com
e depois usar as funções definidas no script jQuery?
"A mesma política de origem" não conta neste caso? Quero dizer, você pode fazer chamadas de Ajax de volta para http://yourserver.com
?
O JavaScript está sendo executado considerado como vindo de yourserver.com
?
Meu argumento aqui é que você não sabe o que o usuário baixou de algum servidor de terceiros (desculpe, Google), e ainda assim o código em seu computador é tão bom quanto o que ele baixaria do seu servidor?
EDIT: Isso significa que, se eu usar um balcão de estatísticas da Web de uma terceira festa, não sei muito bem, eles podem "injetar" algum código e ligar para meus serviços da web como se o código deles fosse parte meu?
Solução
O proprietário do site http://yourserver.com/ deve confiar no conteúdo que ele faz referência de outros servidores (neste caso, o Google's). A mesma política de origem não se aplica às tags "script".
Obviamente, os scripts dos servidores estrangeiros (uma vez carregados) têm acesso a todo o DOM: portanto, se o conteúdo estrangeiro estiver comprometido, poderá haver exposições de segurança.
Como em muitas coisas no mundo da web, tudo se resume a Confiar em e gerenciamento contínuo.
Editar:
Isso significa que, se eu usar um contador de estatísticas da Web de uma terceira parte, não sei muito bem, eles podem "injetar" algum código e chamar meus serviços da web como se o código deles fosse parte meu?
Sim.
Outras dicas
Respondendo ao comentário Editar: Sim. A menos que o contador tenha sido embrulhado em uma tag iframe, é como se fizesse parte do seu site e possa ligar para seus serviços da web, acessar seus cookies etc.
Sim, a política não se aplica a <script>
Tag.
Se alguém pudesse invadir a loja de scripts do Google, isso afetaria todas as páginas servidas de todos os domínios, que usa o Google.com como host para scripts.