Enumerando HTTP
Essa fase é muito importante para sabermos, por exemplo:
→Versões do web server (IIS, Apache, Nginx, etc).
→Tecnologias utilizadas (PHP, ASP, JSP, etc).
→Métodos aceitos (PUT, POST, DELETE, etc).
Como fazer?
→Buscando portas abertas: 80, 8080, 81, 8181 (pode-se ter um servidor web rodando em qualquer porta tcp).
→Saber como um sistema interage com ele quando utilizamos o protocolo HTTP/1.0 e HTTP/1.1 (necessário usar o Host:).
→ Fazer requisições GET, HEAD, OPTIONS.
→Utilitários que podemos utilizar: nc, curl, telnet.
user@xubuntu:~$ nc -v businesscorp.com.br 80
Connection to businesscorp.com.br 80 port [tcp/http] succeeded!
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Sat, 28 Sep 2019 19:18:17 GMT
Server: Apache/2.2.22 (Debian)
Last-Modified: Wed, 25 Sep 2019 17:05:45 GMT
ETag: "20463-1bb6-59363a9ea0957"
Accept-Ranges: bytes
Content-Length: 7094
Vary: Accept-Encoding
Connection: close
Content-Type: text/html
Quando formos utilizar o HTTP1.1, é necessário informar o header host, pois em alguns casos se não for passado, o servidor não irá aceitar. Pode haver um proxy no meio do caminho e o servidor pode ter vários sites hospedados, então para conseguirmos mais informações de uma aplicação em específico, é necessário informar o host junto com o domínio.
Quando fazemos uma requisição para a raíz da aplicação, não é retornado no cabeçalho a versão da linguagem utilizada. Para conseguirmos essa informação, é necessário informar o arquivo dessa tecnologia. Sem informar irá retornar a seguinte resposta abaixo.
Agora informando o arquivo irá trazer a versão.
Last updated
Was this helpful?