Javascript 未知脚本在html正文关闭标记前加前缀
从今天早上开始,我发现一些未知脚本就在“body”close标记之前,这些脚本是:Javascript 未知脚本在html正文关闭标记前加前缀,javascript,malware,Javascript,Malware,从今天早上开始,我发现一些未知脚本就在“body”close标记之前,这些脚本是: <script> var addthis_config = {"pubid":"ra-554ac5c71847b3c2"}; </script><script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-554ac5c71847b3c2"></script&g
<script> var addthis_config = {"pubid":"ra-554ac5c71847b3c2"}; </script><script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-554ac5c71847b3c2"></script>
<script> if (addthis && addthis.layers) { addthis.layers({'share':{'mobile':false}});}</script>
var addthis_config={“pubid”:“ra-554ac5c71847b3c2”};
if(addthis&&addthis.layers){addthis.layers({'share':{'mobile':false}});}
我没有把这段代码添加到网站上。我在寻找这一切的根本原因。但直到现在,我还找不到删除此脚本的解决方案。到目前为止我所做的/观察到的:
删除了“正文”结束标记:无脚本
尝试添加一个html文件(带有基本标记)index.html文件:发现脚本在正文关闭之前被注入
脚本只能在主页上看到。
使用不同域上载到不同主机的文件:无脚本
web服务器为Apache,.htaccess的内容如下图所示:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)mywebsite\.ae [NC]
RewriteRule ^(.*)$ http://www.mywebsite.org/$1 [R,L]
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
选项-多视图
重新启动发动机
重新启动发动机
重写cond%{HTTP_HOST}^(.*)我的网站\.ae[NC]
重写规则^(.*)$http://www.mywebsite.org/$1[R,L]
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
该网站由Amazon Web服务托管。以前有人有过这样的经历吗?
您正在查看的页面正在使用addThis,或者第三方脚本正在添加它
如果这是您的页面,并且您想知道哪个页面正在添加它,请将此代码放在页面顶部
document.createElement = (function () {
var _realCE = document.createElement;
return function (name,options) {
if (name.toLowerCase() === 'script') {
try {
throw "script added to page";
}
catch(e) {
console.warn(e.message);
console.warn(e.stack);
}
}
return _realCE.apply(document,arguments);
}
})();
每当脚本创建另一个脚本标记时,它就会抛出堆栈跟踪。这应该足以让您了解哪个脚本正在对您执行此操作。当您在注释中写入时: 是的,仅在特定域中,我尝试将相同的文件上载到 与另一个域关联的另一个主机&脚本不可用 显示在那里 将此脚本添加到网站的目的是什么? 您的主机希望获得更多的访问者,因此在您的网页中添加此插件 这个插件在做什么? 此插件正在创建指向社交网站和其他链接的链接。。。所以,如果你在谷歌上搜索你的网站,你可以在你的页面上搜索更多的内容,比如社交链接,等等。你可以阅读 如何防止这种情况发生?
您可以在查看或下载脚本。如果您正在使用任何免费托管,这通常是为什么您的网站上有此“广告”,否则,如果您有正常的付费托管,请尝试联系支持人员,询问您为什么在网站上有此脚本或尝试在网站管理中停用此脚本。最终我找到了根本原因!! 实际上,该页面是通过不同的IP而不是真正的托管IP提供的(可能是DNS攻击?)。我在检查开发人员工具->响应标题下的标题时发现: via:Stark 1.0(类似于此)
然后,我尝试了AWS主机的公共IP&该脚本根本没有出现。但是,如果我尝试通过域名加载该网站,则会设置该Via头。因此,我将此问题告知了域名注册商,不知道他们是如何解决此问题的。您的浏览器中是否有AddThis扩展名?(firefox/chrome)?@Dekel,没有。我可以在页面源代码中看到这个脚本,我使用的是laravel 4.2它是否只在你的域中发生?您是否尝试从您的电脑获取url?(try)@GillesC,如果源代码中存在该代码(而且不应该存在),则该代码直接来自服务器。如果服务器中的文件是干净的(并且在服务器上仍然是干净的),这意味着有人干扰了请求的输出),因此它与DOM更改没有真正的关系。是否有机会获得到域的链接?(只是为了快速检查,您可以稍后删除该注释)我建议使用@PatrickDenny方法来过滤正在加载的内容。我用这段代码测试了输出,发现更多脚本附加到DOM中,我相信服务器受到了感染。。请在此处查看日志、原始文件和修改的DOM->>我会检查一些事情,以确保不会自动加载任何其他内容。1.)清除Web浏览器缓存并从时间开始删除所有内容。2.)将有问题的文件移到不同的文件夹中,并验证是否有相同的结果。3.)断开internet连接并在本地主机上加载,以验证相同的结果。我很想知道这一步的结果#3。4.)如果问题仍然存在,请在HTML文件中的打开和关闭脚本之间设置一个断点,并使用firebug进入断点以获取线索。@Shan-add这是一个社交共享插件,绝不是恶意软件。它的存在是因为在那个网站工作的人想要它(或者当他们把它放在那里的时候不知道他们在做什么)。你可以放心,没有什么是“感染”的哈哈…@Iwrestledabearonce。我完全同意你关于添加这个插件的看法。但是,相同的文件上传到不同的主机,没有这些问题(我在我的问题中写了这个)!,我怀疑有什么东西被感染了,因为在返回到Laravel视图之前,我刚刚将DOM内容写入了一个文件&我发现DOM是干净的,没有这些脚本