File Download Vulnerabilidade Visão geral:
Muitos sites oferecem função de download de arquivos, que os usuários podem clicar no link de download para baixar o link do arquivo correspondente a, no entanto, se o projeto imprópria função de download de arquivos, isso pode resultar em um invasor pode, assim, obter para o servidor back-end através da construção de um caminho de arquivo os outros documentos sensíveis. (Também conhecido como: download de arquivo arbitrário)
Deixe-me mostrar-lhe a página de download vulnerabilidades em pikachu arquivo
Entrar na página, basta clicar na imagem para baixar um player
Nós achamos que arquivo pode ser baixado
É do link completo deve ser http://192.168.131.246/pikachu-master/pikachu-master/vul/unsafedownload/down_nba.php? nome do ficheiro = ai.png
transmissão de front-end de informação para o back-end, back-end arquivos ai.png olhar e saída para o front-end, os usuários podem fazer download de informações na extremidade frontal,
Assim, uma explicação não é para nos fazer pensar do arquivo que contém a vulnerabilidade, também, a nossa forma de explorar esta vulnerabilidade e arquivos contendo link direto semelhante ao modificar o acesso front-end à informação
Por exemplo, especula-se sistema operacional Linux, então podemos ir para obter as informações de senha de seus usuários
http://192.168.131.246/pikachu-master/pikachu-master/vul/unsafedownload/down_nba.php?filename=../../../../../../../etc/password
Este comando medidas preventivas como vulnerabilidades de injeção:
1. O nome do ficheiro de entrada e definir o filtro rigoroso
2. Baixe o diretório do arquivo será estritamente limitada
Upload de Arquivo da Vulnerabilidade Visão geral:
função de upload de arquivos são comuns em aplicações web, como muitos sites registrados quando a necessidade de imagem upload, anexos de upload, e assim por diante. Quando o usuário clica no botão Enviar, o fundo vai fazer o upload do arquivo para determinar se esse é o tipo especificado, extensão, tamanho, etc., e, em seguida, renomeie o diretório após o armazenamento de acordo com o projeto formato especificado. Se o fundo dos arquivos enviados, sem qualquer juízo ou julgamento da condição de segurança não é suficiente rigorosas, um invasor pode fazer upload de um arquivo malicioso, como uma palavra de Tróia, causando servidor back-end é WebShell.
Assim, ao projetar uma função de upload de arquivos, certifique-se de arquivo de segurança estrita passado. Por exemplo:
- Verifique o tipo de arquivo, extensão, tamanho;
- documentos de verificação de carregamento;
- o arquivo certo renomeação complexo;
- Não exponha o caminho após o upload de arquivos;
- e assim por diante ...
Arquivo processo de testes de vulnerabilidade de upload:
Arquivo vulnerabilidade upload - autenticação do cliente (verificação de cliente):
Encontramos apenas upload de fotos para fazer upload de arquivos, outros arquivos serão rejeitados
Nós podemos abrir o console do navegador web, veja como foi para nós para carregar arquivos para juiz
Quando o método de entrada chama checkFileExt mudança de estado tag ocorre onchange ou seja,
Podemos olhar para o código-fonte
Descobrimos que o julgamento operação de arquivo baseado unicamente em javascript front-end, escrito método checkFileExt só aceita a extensão do arquivo arquivos "jpg, png, gif"
Então, podemos chamar o método checkFileExt para remover a frente diretamente modificar o código fonte, e, em seguida, passar um arquivo php Trojan sentença
Então, podemos ir para obter acesso ao caminho do arquivo para as informações da página de fundo (antes de fechar Proxy Access)
http://192.168.131.246/pikachu-master/pikachu-master/vul/unsafeupload/uploads/a.php?x=ipconfig
vulnerabilidade upload de arquivos - serviço de validação do lado:
Eu tenho duas maneiras principais de vulnerabilidade upload do arquivo de apresentação: Tipo MIME e classe getimagesize
Tipo de MIME:
Antes da apresentação, precisamos entender a função MIME e $ _FILES
Entrar na página, vemos que imagens estáticas só pode apresentar documentos, olhamos para o código-fonte diretamente
Nós ainda encontrar a detecção do tipo de arquivo de back-end,
Em seguida, fazer upload de um arquivo php Trojan e captura de palavra
O pacote enviado para o repetidor pego módulo, Content-Type de fundo para a imagem / jpg (qualquer formato de imagem), clique no Enviar
Vemos o caminho do arquivo,
Então podemos construir ligações acessíveis (proxy perto antes da visita)
http://192.168.131.246/pikachu-master/pikachu-master/vul/unsafeupload/uploads/a.php?x=ipconfig
Getimagesize 类:
função getimagesize () Resumo:
a função getimagesize () é usado para adquirir uma informação de imagem e tamanho, uma matriz retorno bem sucedido e FALSE se ele falhar para gerar uma mensagem de erro nível E_WARNING.
sintaxe:
getimagesize gama ( corda $ filename [, variedade & $ imageinfo ] )
getimagesize () irá determinar qualquer GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM ou tamanho WBMP arquivo de imagem e retorno às imagens de tamanho e tipo de arquivo e de imagem altura e largura.
Getimagesize () retorna o resultado tem o tamanho do arquivo e tipo de arquivo, se o uso desta função para obter o tipo de julgar se a imagem, não haverá problemas.
Primeiro precisamos criar um Trojans imagem
um método directo
Área de trabalho construir um arquivo c.php, um c.png arquivo
informações de entrada de linha de comando
arquivo Trojan abc.png fazendo sucesso
Nas páginas Trojan upload de fotos, o acesso ao caminho do arquivo
Então, podemos fazer a ligação ir para obter informações
Arquivo precauções vulnerabilidade Upload: