Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) PHP inject


== Douplus ==

Pergunta

Bom dia a todos,

Estava fazendo um site munido de PHP para definir a página do site que deve ser mostrada. Para isso uso uma variável passada pela URL (ex.:"http://...display.php?page=...") e o conteúdo dessa variável representa o nome de um arquivo que é agregado na página com um include<. Isso é perigoso? O servidor que o hospeda bloqueia a inclusão de arquivos de outros sites, mesmo assim essa técnica é pergisa?

Grato pela atenção.

Editado por == Douplus ==
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

humm, entendi, acredito que não, pois teria que ser:

display.php?page=http://...

só nisso já daria erro, eu ACHO...

Mais tente o seguinte, coloque na frente da variavel get o endereço do seu site, por exemplo:

$arquivo = "http://www.meusite.com.br/" . $_GET['page'];

e manda abrir o $arquivo, assim se alguém por algum outro arquivo, de outro site, por exemplo, http://www.virus.com.br/script.php ficaria:

echo $arquivo;

http://www.meusite.com.br/http://www.virus.com.br/script.php

E obviamente ele não ia encontrar, e se fosse um arquivo valido, ficaria:

http://www.meusite.com.br/abc.txt

Onde no caso o endereço seria ?page=abc.txt

Deu pra entender? Eu não sou um mestre em php, deve haver outras soluções, mais essa concerteza pode dar certo...

Qualquer coisa fala ai

Link para o comentário
Compartilhar em outros sites

  • 0

Tem várias opções:

1 - Usa switch;

2 - Coloca todos os arquivos válidos em um array e usa in_array para verificar se o que foi solicitado é válido;

3 - if/elseif/else...

Nunca faça esse include direto:

include $_GET['page'];

Isso é pedir pra ter problemas...

Link para o comentário
Compartilhar em outros sites

  • 0
http://www.suapagina.com/?page=/etc/passwd

Obviamente é provável que você não vá ter permissões com este arquivo, mas vai que o host não é muito confiável?

Eu utilizaria alguma das idéias do Edgar. No caso, quando faço isto utilizo a segunda.

Abraços.

Eu também acho isso, mais acho que, ele deve estar trabalhando de uma forma que "cria" os arquivos de forma automatica, então não deve existir os pré definidos...

Mais pensando bem, se assim for, ele pode adicionar os nomes num banco de dados, depois de criar o arquivo, e assim, quando for abrir, verificar se tal arquivo existe na tabela, e se existir, abrir...

Link para o comentário
Compartilhar em outros sites

  • 0
http://www.suapagina.com/?page=/etc/passwd

Obviamente é provável que você não vá ter permissões com este arquivo, mas vai que o host não é muito confiável?

Eu utilizaria alguma das idéias do Edgar. No caso, quando faço isto utilizo a segunda.

Abraços.

Eu também acho isso, mais acho que, ele deve estar trabalhando de uma forma que "cria" os arquivos de forma automatica, então não deve existir os pré definidos...

Mais pensando bem, se assim for, ele pode adicionar os nomes num banco de dados, depois de criar o arquivo, e assim, quando for abrir, verificar se tal arquivo existe na tabela, e se existir, abrir...

faça um filtro que impeça http:// e outros caracteres que sejam diferentes dos que vocE UTILIZA,

HOJE EM DIA SERIA MAIS FACIL SOFRE SQL INJECTION DO PHP INJECTION ATÉ MAIS

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...