HTTP headers, HTTP por força bruta

Publicado por Danilo em 06/05/2006

[ Hits: 9.020 ]

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

Sockets em shell script

Funções de data usando time.h

Montando uma imagem de CD (iso)

Opções de optimização do VNC

Rodando o Quanta em uma única instância

Leitura recomendada

Squid 3 com bloqueio HTTPS

Configurando IP em uma placa de rede

Deepin Linux lentidão na banda 5GHz [RESOLVIDO]

Torpak bloqueado com Squid

Instalando o SRWare Iron (Google Chrome) no Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário