OK, agora que conseguimos fazer upload de arquivos usando as dificuldades fáceis e médias, vamos tentar com as
altas.
Primeiramente, desligarei meu interceptor para poder usar este site.
Normalmente, vamos passar pelas configurações de segurança.
Vamos configurá-lo para alto.
Nós vamos enviar.
E vamos voltar ao upload do arquivo como de costume.
Antes de mais nada, certifique-se de que a funcionalidade funciona carregando um arquivo normal que o
aplicativo da Web espera.
Então vamos fazer o upload de uma imagem normal em meus downloads e vamos clicar em Upload e Perfect.
A imagem JTR é carregada sem problemas.
Portanto, a próxima etapa será enviar um arquivo.
Portanto, você deseja manter as coisas simples.
Agora, não vou perder seu tempo.
Tentei enviar um arquivo normal e não funcionou.
Portanto, vamos tentar o truque que fizemos na aula anterior.
Vamos ligar o interceptor e carregar um arquivo na minha rota aqui.
E é o mesmo shell, mas mudamos sua extensão de arquivo para GPG, então vamos
clicar duas vezes nele, clicar em upload ee o interceptor aqui.
Vamos mudar o nome do arquivo.
Portanto, estamos mantendo o tipo de conteúdo do jeito que está.
E vamos mudar o nome do arquivo para Shell Dot.
E desta vez vamos chamá-lo de Shell três.
Então é exatamente isso que fizemos na aula anterior com a segurança média.
Obviamente, com este exemplo, estou assumindo que este é um novo site, então não sabemos realmente.
Então, estamos tentando este truque.
Vamos clicar em avançar.
E como você pode ver, vamos receber um erro dizendo que nossa imagem não foi carregada, o
que significa que o código que este aplicativo da Web está usando no lado do servidor é capaz de detectar que esse arquivo ainda
é um arquivo que pode ser prejudicial e não deve ser permitido.
Então, vamos de novo.
Vamos clicar em nosso abrigo, GPG, e clicar em Upload.
E agora que temos a solicitação aqui, vamos analisá-la novamente e apenas dar uma olhada nela e ver
o que podemos fazer ou, com sorte, ignorar quaisquer verificações que o aplicativo da Web tenha para que possamos ver se o nome do
arquivo está definido para compartilhar o jpg.
E sabemos que se mantivermos do jeito que está, ele realmente será carregado porque imagens normais que têm
essa extensão podem ser carregadas.
Também sabemos que não há problema em manter o tipo de conteúdo como imagem jpeg.
Não quebra nossa casca.
Portanto, podemos supor que ainda não sabemos.
Estamos apenas dando um palpite e presumindo que, qualquer que seja o código que eles tenham no back-end,
ele está verificando se o arquivo termina com uma extensão de imagem válida, como ponto jpg.
Portanto, poderíamos tentar renomear este arquivo para Shell três ponto p p ponto jpg.
Novamente, isso não funcionará em todos os servidores.
Há uma tentativa e erro nisso e sempre há tentativa e erro quando se trata de hackear
e, especificamente, de hackear aplicativos da Web.
Portanto, esta seria apenas uma tentativa que você deveria fazer.
Se isso não funcionar, você pode simplesmente tentar manter o Excel por meio do jpg e, em seguida, adicionar o BHP desta forma e
neste exemplo, você seria capaz de ignorar a verificação se a verificação estava verificando.
O nome do arquivo é seguido por uma extensão de imagem e, portanto, adicionando o B aqui, você poderá ignorar
a verificação enquanto mantém a fala do tipo de arquivo.
Agora tentei fazer isso e não funcionou.
É por isso que vou ficar com o primeiro, que é Shell três, aquele ponto P P e jpg.
Então, a ideia principal que estou mostrando aqui, não é apenas um truque.
A ideia principal é brincar com o nome do arquivo e com o tipo de conteúdo.
Você terá que fazer muitas tentativas e erros até que realmente consiga obtê-lo.
Incluirei uma folha de dicas nos recursos desta palestra para que você possa ver muitos outros exemplos
semelhantes.
Não quero desperdiçar muitas palestras mostrando as diferentes maneiras de renomear um arquivo
e ainda executá-lo, porque simplesmente vamos alterar o nome do arquivo usando exatamente o mesmo
método, usando proxy.
Você simplesmente terá que fazer upload do arquivo, brincar com o nome e o tipo de conteúdo até
que você faça o upload.
E talvez depois de gastar 20 ou 30 minutos, você perceba que esta funcionalidade de upload de arquivo não é
vulnerável e você passa para a próxima vulnerabilidade.
Isso exige muita paciência e muito trabalho.
De qualquer forma, vamos continuar com isso.
Renomeie o arquivo para Shell três, DOT o GPG.
Estamos mantendo o tipo de conteúdo como está.
E isso, como eu disse, vai ignorar a verificação se a verificação é simplesmente verificar se o arquivo termina
com uma extensão válida, como o jpg.
Então, vamos clicar em Forward and Perfect.
Como você pode ver agora, ele está nos informando que o arquivo foi carregado, mas isso não
é o fim do caminho, porque às vezes renomear um arquivo como este iria impedi-lo de funcionar como um arquivo dependendo de como o
servidor está configurado.
É por isso que eu disse que sempre há tentativa e erro.
Então, vamos prosseguir para o nosso terminal e tentar nos comunicar com este arquivo.
Então, vou sair dessa.
Vamos limpar a tela, vamos usar o mesmo comando de antes porque o link é o
mesmo.
A única diferença é o tipo de arquivo.
Vai ser Shell três, ponto, BHP, Dot J, PJI.
Vamos apertar enter e perfeito.
Estamos dentro.
Faremos se fizermos o ID, vamos conseguir o ID.
E agora conseguimos nos conectar ao nosso HP Shell e ter controle remoto sobre o servidor web de destino.
Como mencionei antes, irei abordar como usar nivelado na seção de pós-exploração mais tarde e mostrarei como você
pode usá-lo para controlar o servidor, acessar o banco de dados e fazer tudo
isso.
Mas, por enquanto, conseguimos obter controle sobre esse servidor enviando um arquivo e contornamos sua alta segurança
simplesmente manipulando a solicitação de envio e alterando o nome do arquivo.
E como eu disse, você deve experimentar diferentes truques e diferentes maneiras de nomear seu arquivo durante
o upload.
E vou incluir uma folha de dicas nos recursos.
Portanto, você tem vários exemplos úteis que pode usar para ignorar essas verificações.