Shell como Imagem

Existem várias formas de se burlar sistemas de upload de imagens em sites.
Nesse tutorial vou explicar os mais conhecidos métodos e é claro, os melhores métodos.
O porque de nós querermos burlar o sistema, é facil, nós queremos burlar ou para colocar um outro tipo de extensão ou ter algum privilégio no site ou no servidor onde ele está hospedado.
Para termos algum tipo de privilégio, nós teremos que upar uma shell, no caso em PHP ou em C, que será demonstrado nesse tutorial.
Quando você vai upar uma shell em PHP em um sistema de upload de imagens .jpg, ele através do filtro de extensões, ele vai te dar um aviso de que não é possível fazer upload desse arquivo.

O que temos que fazer é descobrir porque ele não nos dá essa permissão.


A primeira coisa que temos que verificar é se ele pega apenas a primeira extensão depois do primeiro ponto (.), por isso iremos tentar upar nossa shell da seguinte forma renomeando o arquivo:

Citação:
minhashell.jpg.php

Assim ele seria reconhecido como um arquivo PHP, pois a real extensão é .php.

Na maioria das vezes essa técnica funciona, mas é claro que tem sites que não irão aceitar isso, por isso iremos tentar de outra forma.
Alguns sites pegam apenas a última extensão do arquivo, mas apenas reconhecem a primeira extensão depois do ponto, assim nós podemos upar a shell da seguinte forma:

Citação:
minhashell.php.jpg OU minhashell.jpg%00.php

Assim ele seria reconhecido como um arquivo PHP, pois a extensão real é jpg, mas como é eliminada a segunda extensão, então ele seria renomeado pelo filtro para um arquivo .php.

Um outro tipo de filtro vulnerável é o filtro em que se pode anular a última extensão através de um comando null antes da última extensão.
O arquivo renomeado ficaria assim:

Citação:
minhashell.php%00.jpg OU minhashell.jpg%00. php

O filtro iria aceitar o arquivo por ele ser uma extensão .jpg, porém como à um comando anulando a última extensão, então ele reconheceria o arquivo como .php apenas.

A maioria dos sistemas de upload reconhece apenas a extensão do arquivo, mas não o tipo de arquivo, isso é muito perigoso para o servidor, pois um arquivo pode ter uma extensão .jpg mas ser um arquivo do tipo PHP.
Com isso o arquivo terá uma extensão .jpg e será hospedado no servidor, mas através de um exploit, ele pode ser renomeado ou você pode modificar um arquivo JPG com linhas em PHP com um editor hexadecimal, mas na maioria das vezes o arquivo corrompe, ficando assim impossibilitado de seguir qualquer comando estabelecido por você.

Outro caso é que o servidor apenas reconhece o tipo de arquivo, mas não a extensão.
Um modo de mudar essa situação é usando o edjpgcom, um software próprio para fazer esse tipo de modificação em arquivo JPG.

http://www.4shared.com/file/13762296…/edjpgcom.html

A primeira coisa que você vai fazer é criar um pasta chamada jpg no seu C:\ e extrair esse arquivo nessa pasta.
Agora abra o CMD (prompt de comando).
Agora dê um

Citação:
cd c:\jpg

Dê o seguinte comando agora:

Citação:

edjpgcom.exe suaimagem.jpg

Irá aparecer uma janela e no campo de texto terá um texto, remova esse texto e ponha sua linha de comando em PHP, que será sua shell/exploit e salve.
Não coloque comandos muito grandes, pois irá corromper o arquivo, ponha apenas algumas linhas (a shell c99 não funciona nesse caso pois ela é grande).
Agora renomeie o arquivo para .php e faça upload pelo sistema de upload do site e pronto, não irá mais aparecer aquele erro de “Invalid file Dimensions”.

Ou podem fazer do seguinte modo ;

Citação:

GIF89a;
<?php
/* r57 shell here */
?>

vi na video aula do ravnos e funfo . abraço!



Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>