我昨天把笔记本电脑带到当地的一家餐馆做了一些设置新的networking应用的工作。 我得到了服务器,并创build了一个简单的HTML页面:
<html> <body>Hello, world.</body> </html>
我启动服务器(泽西岛),然后发出以下命令以确保一切正常工作:
curl http://localhost:8080/assets/index.html
想象一下,当我看到下面这个简单的文档而不是简单的文档时,我感到惊讶:
<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>
我的文档在底部,但在此之前,有一些代码已经被注入。 我的第一个想法是grep我的系统中包含的结果HTML中的一些string(例如grep -ri cobrandscript从根目录运行)。 我的系统上没有可疑的文件。 所以,我关掉我的无线networking,并发出相同的curl命令。 这一次,我的3行HTML文件被返回,没有任何添加。
看来,ISP正在将HTML注入到从本地主机提供的HTML文档中。
我的问题是:这怎么可能? 这是由localhost服务的内容; 这意味着对本地主机的请求实际上正在触及外部networking,至less在连接时,这种行为似乎严重不正确。
这听起来像你正在使用代理服务器。 即使你正在访问本地主机,如果你没有configuration你的代理设置忽略本地主机,它将通过代理路由。 您可能没有configuration任何代理,它可能只是您连接到的任何networking所分配的networkingconfiguration的一部分。
使用curl --noproxy localhost, http://localhost:8080/assets/index.html