2014-12-05 137 views
-1

我发现this code在黑客Drupal安装,我想知道代码能够做什么。我试过各种工具去混淆它,但我一直没有成功。我被$ r76变量绊倒了。我无法弄清楚它是如何编码的。翻译或建议?混淆恶意PHP

<?php $r76="F[<PAlDf|]}[email protected]~79/O8Kx\rH6r&-c5k\n3X,YzhQ> Cp\\wUu2jGoB;0i_SN\tn%Vg)ZI^sTRyvL{\$:=1*mE+JW(q4.t'`a!\"#edb?"; 
+0

这是一个密码密钥。通过代码的其余部分使用数组访问来访问字符串的位和字母,并且可以从中构建一个完全不同的字符串。 – sjagr 2014-12-05 15:15:45

+0

本身,你发布的东西只不过是一个字符串。因为您可以通过索引访问字符串的字符,所以pastebin中的部分引用它为'$ r76 [24]'。它基本上是一大堆字符,其余的混淆来自于构建其他变量和字符串。如:'$ string ='abcde'; echo $ string [2];' - >打印'c' – 2014-12-05 15:15:59

+0

最重要的是将此Drupal站点脱机并从备份恢复它,而不必担心恶意代码正在做什么。 – 2014-12-05 15:17:58

回答

2

$r76是密码密钥。通过代码的其余部分使用数组访问来访问字符串的位和字母,并且可以从中构造完全不同的字符串(如函数名称,变量等)。

以下是对在脚本顶部定义的全局变量的评估。用它们来找出脚本的其余部分...如果你喜欢浪费任何更多的时间在这方面比我做的事:

[vtton6] => error_reporting 
[jlxru64] => ini_set 
[vajox38] => define 
[qobdl72] => hvcug13 
[yhrfr40] => xyhxn92 
[quzii24] => md5 
[tlyiy12] => count 
[kyioa8] => time 
[glyac65] => constant 
[nhnww15] => npufi61 
[igajs32] => potcc11 
[cpukq94] => omauf87 
[bdonk12] => hwgbo88 
[aurku4] => ioxgo29 
[yqqkt30] => function_exists 
[tnmsd36] => mail 
[chqql44] => armtx32 
[cvtxr40] => ecyws30 
[eavur97] => usleep 
[ptlaz26] => urvfu78 
[xcnkh30] => xllez0 
[wnlxd28] => trim 
[laepm94] => preg_replace 
[nxseo15] => gethostbyname 
[cyzbs96] => preg_match 
[yoejz48] => rzekg39 
[lzjpr73] => wdtjf68 
[osnjl91] => rxrmp70 
[zhjzv93] => prcux47 
[brkww19] => strlen 
[yhcum29] => oyysg80 
[ibere91] => foftg27 
[vszxc90] => array_keys 
[qtgcq90] => socket_select 
[bwpvf88] => ucfirst 
[bdvxl14] => str_replace 
[xizmx47] => ini_get 
[stkuy98] => vkaqq98 
[duiid33] => date 
[grxdw62] => getmxrr 
[nvuxa92] => ybewy88 
[ysmvf63] => min 
[vbhwy58] => Array 
    (
    ) 

[wdbfr89] => fewfx40 
[vxogc32] => preg_split 
[inenw32] => xwses24 
[xyxdn38] => chr 
[rtdlc97] => ord 
[cnrfe78] => urldecode 
[wzekj92] => stripslashes 
[yrqxp89] => array_flip 
[xavtv19] => preg_match_all 
[zjheh80] => base64_encode 
[gisxn89] => socket_create 
[oqikt29] => socket_last_error 
[tvxvt28] => socket_strerror 
[fmlld76] => socket_set_option 
[zwafy86] => socket_set_nonblock 
[uocvp26] => socket_connect 
[xvxof76] => fsockopen 
[vzqix48] => stream_set_blocking 
[sltum36] => stream_set_timeout 
[clkxn20] => stream_socket_client 
[unkvq75] => socket_close 
[yoxhh65] => fclose 
[dskbo69] => socket_read 
[jhtbn88] => feof 
[zflfl64] => fread 
[uwnpx27] => socket_write 
[stdvp96] => fwrite 
[ocmvf65] => rand 
[bkenc7] => explode 
[llpxl21] => pack 
[efljc33] => unpack 
[zndda55] => cgzhg7 
[lzlla40] => array_merge 
[axqrn63] => long2ip 

如果我猜的mail提的模糊变量只是手段这是一个恶意的邮件脚本,旨在将你的PHP服务器变成一个垃圾邮件服务器 - 或者它可能是一个“电话之家”功能,用于更恶劣的目的。

+0

Re:先前的评论“进取/鲁莽/':-P YOLO,我想。 – 2014-12-05 15:44:41

+1

@MichaelBerkowski Nah,我将'GLOBALS \ ['([^'] +?'''']正则表达并替换为局部变量,然后对所有内容进行评估,直到“@ $ vtton6”(函数调用的第一次尝试或脚本执行。)然后'print_r(get_defined_vars())'和瞧。 – sjagr 2014-12-05 15:46:41

+0

呃,'GLOBALS \ ['([^'] +?''']'(忘记逃脱一个角色 - [_wheeeeee-taptaptap-eeee!_](http://xkcd.com/208/)) – sjagr 2014-12-05 15:53:28