HTTP headers, HTTP por força bruta

Publicado por Danilo em 06/05/2006

[ Hits: 9.577 ]

Blog: http://www.danilocesar.com

 


HTTP headers, HTTP por força bruta



Escrevi em meu site um artigo sobre força bruta em HTTP.

Para o artigo completo, segue o link:
Vou demonstrar aqui como fazer posts, uploads para páginas Web através de linha de comando. Para posts simples existe o comando:

$ echo "nome=danilo&idade=20" | \
> lynx –post-data http://www.meusite.com.br/meu_post.php

Mas você fica limitado ao Lynx e aos seus padrões. Já pensou se precisasse fazer upload de arquivo por exemplo? Solução: manipular os headers do HTTP.

Para isso, utilizarei o pacote TCPUtils do Debian (existe outra dica minha falando sobre ele).

Como exemplo: quero enviar meu sources.list para uma página PHP manipular.

Crie um arquivo chamado headers.txt, com o seguinte conteúdo:

POST /CAMINHO/PAGINA.php HTTP/1.1
Host: www.meu_dominio.com.br
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060209 Debian/1.5.dfsg+1.5.0.1-2 Firefox/1.5.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8, image/png,*/*;q=0.5
Accept-Language: pt-br
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: multipart/form-data; boundary=–BoRdEr_Signature-00253658974569–
Content-Length: 700

—-BoRdEr_Signature-00253658974569–
Content-Disposition: form-data; name=”teste”; filename=”source.list”
Content-Type: text/plain

#deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20051212)]/ etch contrib main

#deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20051212)]/ etch contrib main

#deb file:/ apt/

#deb http://security.debian.org/ testing/updates main contrib
deb http://security.debian.org/ etch/updates main contrib non-free

#deb http://ftp.debian.org/debian/ unstable main
#deb-src http://ftp.pucpr.br/debian/ testing main

deb http://ftp.debian.org/debian/ testing main
deb-src http://ftp.debian.org/debian/ testing main

—-BoRdEr_Signature-00253658974569—-

Algumas informações que podem mudar de programador para programador:
  • /CAMINHO/PAGINA.php: é a página que vai receber meu upload;
  • meudominio.com.br: o domínio do seu site;
  • Content-Length: 700: tamanho do meu arquivo;
  • filename=”source.list”: nome do meu arquivo;
  • Content-Type: text/plain: tipo do meu arquivo;
  • E, lógico, o conteúdo do arquivo (no meu caso, está o meu source.list).

Depois disso, utilize o comando tcpconnect da seguinte forma:

$ tcpconnect meu_host 80 < headers.txt

E será feita uma requisição HTTP da mesma forma como um browser o faria, com a vantagem de se manipular tudo: cookies, sessões, referers e até mesmo uploads.

Da mesma forma pode ser usado para testar segurança dos seus sites. Para a matéria completa, repito o link:
Outras dicas deste autor

Listar arquivos de um diretório em C

Rodando o Quanta em uma única instância

Sockets em shell script

Funções de data usando time.h

CD's do Ubuntu de graça!

Leitura recomendada

Internet mais rápida com namebench

[Esclarecimento] Multiseat não é Multiterminal

DNS forwarding - um DNS universal

Como acessar o Internet Banking do BB no Firefox 4

Instalar Firefox 6.0.2 no Mandriva 2010.2

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts