Metodología
web hacking
El hacking web consiste en identificar y explotar vulnerabilidades de seguridad en aplicaciones web y servidores con el fin de obtener acceso a los sistemas objetivo u otros datos críticos. Los atacantes se valen de diversas técnicas para identificar vulnerabilidades y posteriormente explotarlas mediante metodologías diversas.
Conocimientos requeridos:
Vectores de ataque comunes
con los vectores de ataque comunes nos referimos ciertas funcionalidades o características de una web que pueden ser usadas como un punto de entrada para ciertos ataques o vulnerabilidades, o mejor dicho vectores. abarcaremos que partes en una pagina son posiblemente vulnerables y como explotar cada una, de igual manera podrás identificar en un pentest si ya buscaste en todos lados.
Valores reflejados
los valores reflejados son datos que de alguna manera son reflejados en la respuesta del servidor, por ejemplo al introducir un comentario o si la pagina web te saluda por el nombre de usuario que has introducido. Esto hace que la pagina sea posiblemente vulnerable, algunos de los ataques o vulnerabilidades que abarca son:
(próximamente mas artículos relacionados)
Funcionalidades de búsqueda
las funcionalidades de búsqueda como dice su nombre, busca datos dentro del servidor y devuelve los datos solicitados, por ejemplo cuando buscas videos en YouTube, tu búsqueda se consulta internamente y posteriormente se te devuelve una respuesta esperada acorde a los datos que has solicitado. la búsqueda es un vector de ataque muy útil, las vulnerabilidades que abarca son:
NoSQL injection
(próximamente mas artículos relacionados)
Cabeceras HTTP
una cabecera HTTP es una cadena de datos en un formato de nombre y valor (por ejemplo:
cabecera: valor), esto se intercambia entre el cliente (tu) y el servidor, se usa para proporcionar datos adicionales tanto en solicitudes como respuestas, las vulnerabilidades que abarca son:Ataques a CORS
(próximamente mas artículos relacionados)
Websockets y Formularios
un websocket es un protocolo de comunicación que crea un canal de comunicación persistente y bidireccional entre un cliente (tu) y un servidor, con esto me refiero a que el intercambio de datos es en tiempo real, a diferencia de HTTP que trabaja por solicitudes y respuestas, un websocket simplemente mantiene de forma persistente la conexión abierta para que la comunicación sea mas eficiente. por otro lado, Los formularios web son elementos interactivos en una página de internet que permiten a los usuarios introducir y enviar datos a un servidor para su procesamiento. las vulnerabilidades relacionadas a los web sockets y formularios son:
(próximamente mas artículos relacionados)
Funcionalidades de subida de archivos
las funcionalidades de subida de archivos permiten, como su nombre lo dice, poder como cliente subir archivos al servidor, por ejemplo, un uso común de esto es para implementar fotos de perfil, pero si no se controlan los archivos subidos correctamente, pueden surgir ciertas vulnerabilidades:
(próximamente mas artículos relacionados)
Funcionalidades especificas y objetos estructurados
las funcionalidades que requieren datos a ser estructurados en un formato especifico (o serializados) pueden ser vulnerables por el proceso en el que se tratan datos, las vulnerabilidades asociadas son:
(próximamente mas artículos relacionados)
Bypasses
un bypass, como su traducción lo dice es una forma de evitar o sobrepasar, cuando hablamos de hacking web las técnicas de bypass comúnmente se utilizan para burlar las medidas de seguridad o limitaciones de la pagina web. Encontrar huecos en una medida de seguridad es muy importante a la hora del pentest, algunas de las técnicas relacionadas a bypasses son:
Status Code bypass
(próximamente mas artículos relacionados)
Proxies
las webs modernas suelen utilizar algún tipo de proxie intermediario, si estos proxies implementados cuentan con fallas de configuración u otras vulnerabilidades, abren lugar a ser atacados si hay otro tipo de vulnerabilidad en el backend
(próximamente mas artículos relacionados)
Clasificación de ataques
a continuación se enumeran los tipos de ataques o vulnerabilidades web:
Ataques de inyección
Cross-Site Scripting (XSS)
Problemas en autenticación y sesión
Vulnerabilidades de Control de acceso (Broken Access Control)
Request Forgery
Vulnerabilidades en archivos e inclusión (File vulnerabilities)
Ataques de Deserialización
Ataques de protocolo y cabeceras
manipulación de parámetros
API abuse
Fallas Criptográficas
Cache y Proxie
Sensitive Data Exposure
(pronto se implementaran secciones para cada tipo)
Ataques Server-side y Client-side
Los ataques del el lado de servidor (Server-side) y lado del cliente (Client-side) toman como objetivo diferentes partes de un aplicativo: los ataques del lado del servidor comprometen el servidor: datos, aplicaciones, etc. mientras que el lado del cliente se concentra en explotar vulnerabilidades en contra del usuario. En resumen:
Server-side attacks: su objetivo es el servidor que hostea la web
Client-Side attacks: el objetivo es el dispositivo del usuario y el software corriendo en el
Last updated