Puerto 80: HTTP
HTTP (Hypertext Transfer Protocol) es un protocolo de comunicación utilizado para transferir datos a través de la World Wide Web. Funciona en el puerto 80 por defecto y es el protocolo subyacente para el intercambio de información en la web, permitiendo a los navegadores recuperar y presentar páginas web a los usuarios.
Fundamentos de Aplicaciones WebDescripción de HTTP
Protocolo: HTTP es un protocolo basado en texto que opera sobre TCP en el puerto 80 por defecto.
Funcionalidad: Permite la transferencia de archivos (como texto, imágenes, videos) y la interacción con aplicaciones web a través de solicitudes y respuestas.
Métodos Comunes:
GET: Solicita datos de un servidor.
POST: Envía datos al servidor para procesamiento.
PUT: Actualiza un recurso existente en el servidor.
DELETE: Elimina un recurso en el servidor.
Relevancia en Pentesting
Importancia de HTTP en Pentesting:
Vulnerabilidades Comunes: HTTP puede ser explotado a través de diversas vulnerabilidades como inyecciones SQL, XSS (Cross-Site Scripting), y CSRF (Cross-Site Request Forgery).
Información Sensible: Las aplicaciones web pueden exponer información sensible a través de HTTP si no están adecuadamente protegidas.
Intercepción de Tráfico: Sin cifrado (HTTPS), el tráfico HTTP puede ser interceptado y analizado, permitiendo a los atacantes capturar datos sensibles.
Fuzzing y Enumeración: Los pentesters utilizan técnicas de fuzzing y enumeración para descubrir rutas, parámetros y funcionalidades no documentadas en aplicaciones web.
Ejemplo de Escaneo de HTTP con Nmap
Para identificar servidores HTTP activos y recopilar información adicional sobre los servicios web, se puede utilizar Nmap. El siguiente comando escanea el puerto 80 y ejecuta scripts NSE específicos para HTTP.
Comando Nmap
Explicación del Comando
nmap
: Ejecuta el comando Nmap.-p 80
: Especifica que Nmap debe escanear el puerto 80, el puerto predeterminado para HTTP.--script http-title,http-headers,http-methods,http-enum
: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en el servicio HTTP.http-title
: Recupera el título de la página web.http-headers
: Muestra las cabeceras HTTP devueltas por el servidor.http-methods
: Enumera los métodos HTTP soportados por el servidor.http-enum
: Enumera directorios y archivos comunes en el servidor web.
target-ip
: Especifica la dirección IP del objetivo.
Ejemplo de Salida de Nmap
Interpretación de la Salida
Host is up: Indica que el sistema objetivo está en línea y responde.
80/tcp open http: El puerto 80 está abierto y el servicio HTTP está activo.
http-title: Muestra el título de la página web principal (
Example Domain
).http-headers: Muestra las cabeceras HTTP devueltas por el servidor, proporcionando información sobre el servidor y la respuesta.
Server: Indica el tipo de servidor web (
Apache/2.4.41 (Ubuntu)
).Content-Type: Tipo de contenido de la respuesta (
text/html; charset=UTF-8
).
http-methods: Enumera los métodos HTTP soportados por el servidor (
GET
,HEAD
,POST
,OPTIONS
).http-enum: Enumera directorios y archivos comunes en el servidor web.
/index.html [200 OK]: Indica que el archivo
/index.html
existe y es accesible./login [302 Found]: Indica una redirección desde
/login
./admin [403 Forbidden]: Indica que el acceso al directorio
/admin
está prohibido./robots.txt [200 OK]: Indica que el archivo
/robots.txt
existe y es accesible./images [301 Moved Permanently]: Indica una redirección permanente desde
/images
.
Última actualización