Tabla de Contenidos
Conceptos básicos
Notas pertenecientes al curso Hacking ético: descubriendo vulnerabilidades en aplicaciones web
Aplicaciones web
Se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet mediante un navegador.
Estas aplicaciones no necesitan ser instaladas, sino que los datos y/o archivos con los que se trabajan son procesados y almacenados dentro de la web.
La información se guarda de forma permanente en servidores de Internet y son estos los que envían los datos solicitados a nuestro navegador.
URL
URL (Uniform Resource Locator) es la dirección única y específica para identificar los recursos que hay en Internet:
https://ejemplo.com/ruta:
http://: Protocloejemplo.com: nombre del hostruta: ruta
Las primeras direcciones URL fueron utilzadas en 1991. El objetivo de estas direcciones era poder crear enlaces entre los diferentes sitios que había en Internet. El nacimiento también surgió de la necesidad de facilitar al usuario saber a dónde tenía que dirigirse. Es más fácil para los humanos recordar un nombre que una dirección IP.
Cliente y servidor
Para poder acceder a una aplicación web necesitaremos un cliente y un servidor.
El cliente va a ser el navegador que nos permite conectarnos a Internet. El servidor es donde se aloja la aplicación.
A través de peticiones HTTP, el cliente puede realizar solicitudes al servidor y recibir las respuestas.
Estructura de capas en una aplicación web
Capa de presentación
A nivel de cliente.
- Los navegadores web procesan las respuestas de las aplicaciones que visitamos y envían las peticiones al servidor.
- Interpreta las peticiones del usuario y presenta los resultados
Segunda capa
A nivel de servidor.
- Generar la respuesta de las peticiones que le llegan (servidor)
- Lógica de negocio (capa de proceso)
Tercera capa
- Procesamiento general de la información que la aplicación recibe.
- Lugar de almacenamiento de la información (base de datos).
Métodos HTTP
HTTP (HyperText Transfer Protocol) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web. Hay varios estándares: HTTP 1.0, HTTP 1.1, HTTP 1.2
Métodos:
GET: se envía información en la URL.POST: se envía información en el cuerpo de la petición (no será visible en la URL).HEAD: devuelve cabeceras.OPTIONS: métodos aceptados.PUT: subir, cargar recursos (no se recomienda en entornos de producción).DELETE: borrar recursos (no se recomienda en entornos de producción).TRACE: debugging (no se recomienda en entornos de producción).
Códigos de respuesta HTTP
La respuesta devuelta por el servidor nos puede dar información dependiendo de su código de respuesta.
Códigos de respuesta:
1xx: respuestas informativas. Petición recibida, se está procesando.2xx: respuestas correctas. La petición ha sido procesada correctamente.3xx: respuestas de redirección. Indica que el cliente necesita realizar más acciones para finalizar la petición.4xx: errores en el cliente. Indica que ha habido un error en el procesado de la petición por parte del cliente.5xx: errores en el servidor. Indica que ha habido un error en el procesado de la petición por parte del servidor.
