O HTML servido do localhost está sendo modificado pelo ISP [closed]

2

Eu levei meu laptop para um restaurante local ontem para trabalhar na configuração de um novo aplicativo da web. Eu coloco o servidor no lugar e criei uma página HTML simples:

<html>
    <body>Hello, world.</body>
</html>

Eu inicio o servidor (Jersey) e, em seguida, emita o seguinte comando para garantir que tudo esteja funcionando corretamente:

curl http://localhost:8080/assets/index.html

Imagine minha surpresa quando, em vez do meu documento simples, vejo o seguinte retornar:

<html lang="en" xml:lang="en"><!PAGEREF 1>
<head><title>Eguide</title>
<script type="text/javascript" src="/all/rootscript.js"></script>
<script type="text/javascript" src="/cobrandscript.js"></script>

</head>
<!--
/yp/home.htm
<a href="http://webmailtest.bellsouth.net" target=_top>Webmail test</a>
v. 2.8b srv24
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="0;URL=http://home.bellsouth.net">
</head>
<body>
</body>
</html>
<html>
    <body>Hello, world.</body>
</html>

Meu documento está lá na parte inferior, mas antes disso há uma confusão de código que foi de alguma forma injetada. Meu primeiro pensamento foi para grep meu sistema para algumas das seqüências de caracteres contidas no HTML resultante (por exemplo, grep -ri cobrandscript executado a partir do diretório raiz). Não havia arquivos no meu sistema que eram suspeitos. Então, eu desligo meu wifi e emito o mesmo comando curl. Desta vez, meu documento HTML de 3 linhas é retornado, sem nenhuma das adições.

Parece que o ISP está injetando HTML em um documento HTML que está sendo exibido a partir do host local.

Minha pergunta é: como isso é possível? Este é o conteúdo que está sendo atendido pelo localhost ; isso implica que uma requisição para localhost está de fato acertando a rede externa, pelo menos quando conectada, e esse comportamento parece grosseiramente incorreto para mim.

    
por jchilders 01.08.2014 / 18:47

1 resposta

3

Parece que você está usando um servidor proxy. Mesmo se você estiver acessando o host local, se você não tiver configurado suas configurações de proxy para ignorar o host local, ele será roteado através do proxy. Você pode não ter configurado qualquer proxy, pode ser apenas uma parte da configuração de rede distribuída pela rede que você está se conectando.

use curl --noproxy localhost, http://localhost:8080/assets/index.html

    
por 01.08.2014 / 20:57