viernes, febrero 16, 2024
martes, febrero 16, 2021
Cómo gestionar tus cookies en tu web de forma inteligente, legal e incluso ser cookieless
¿Qué deberías saber sobre las cookies?
¿De qué va todo esto de las cookies?¿Qué son esas pequeñas galletas diminutas y cansinas, esos cuadros de información tan molestos que nos asaltan sin descanso ni pudor? Y lo que es más importante aún: ¿a quién le importan las cookies?
Es evidente que si estás leyendo esto aquí, en el blog de Chema Alonso nada menos, explicarte qué es una cookie y lo que hace sería insultarte de mala manera y no será el caso. Lo que quizás no tengas tan claro es por qué se está regulando legalmente su uso y qué se supone que tenemos que hacer al respecto si queremos tener una web que cumpla la normativa regulatoria.
Todo comenzó con el famoso RGPD o GDPR (la normativa europea que regula el tratamiento de datos personales) que se tomó esto del consentimiento muy en serio y buscó erradicar los trucos y triquiñuelas para hacerse con los datos de las personas por la cara y hacer con ellos lo que más interesa al beneficio de la empresa.
Y como las cookies son finalmente pequeños archivos de datos que van recordando y persiguiendo a usuarios por la red, pues quedan reguladas dentro de la normativa de protección de datos y también por la LSSI-CE (Ley de la sociedad de la información y del comercio electrónico) y por el futuro “e-privacy”, el reglamento del Parlamento Europeo y del Consejo sobre el respeto de la vida privada y la protección de los datos personales en el sector de las comunicaciones electrónicas.
Sí, las comunicaciones electrónicas están reguladas fundamentalmente por este e-privacy, que debería haber sido de aplicación junto con el RGPD pero que lleva casi tres años de retraso por motivos que no viene a cuenta comentar hoy. Lo que es evidente es que en una economía desplazada hacia lo digital es imprescindible que las personas puedan confiar en que sus datos son privados, están seguros y son gestionados de forma lícita y consentida por las empresas que los recaban .
También es esencial que toda persona, independientemente de los productos o servicios que utilice en la red, pueda ejercer control sobre sus datos y decidir qué datos comparte y con quién, cómo, para qué y hasta cuándo. Esto, por supuesto, incluye la posibilidad de negarse a la publicación y al uso comercial de sus datos y su información personal. Y aquí es donde aparecen las cookies y toda la maquinaria persecutoria que supone su utilización.
¿Qué es lo legal en la gestión de cookies?
Desde la perspectiva web, debemos incluir mecanismos de información por capas o multinivel. Esto significa que antes de recabar información personal debemos ofrecer a los usuarios información básica sobre el tratamiento de sus datos en una primera fase y permitir acceder a información completa o ampliada en una segunda fase o capa.
Y por eso estamos expuestos a tantos y variados banners de cookies, que no son otra cosa que esta primera capa informativa, resuelta de forma más o menos óptima o más o menos legal (aunque la mayoría sigue con un nivel muy comprometido de cumplimiento). Al ser archivos de datos personales, con las cookies aplican los mismos principios que en cualquier otro tratamiento de información personal:
1. Transparencia: debemos ser capaces de informar de manera clara y sencilla acerca del tipo de cookies que descarga nuestra web.2. Consentimiento: debemos ofrecer opciones para que el usuario pueda elegir libremente qué cookies aceptas y qué cookies no, exceptuando las cookies que no sean técnicas o estrictamente necesarias para el funcionamiento de una web.
Por tanto, las webs que utilizan cookies no exceptuadas del deber de obtener consentimiento, deben necesariamente adaptar fórmulas de información y consentimiento que reúnan los requisitos de transparencia y control que exige la normativa, adaptándola al actual nivel de conocimiento de los usuarios.
La gestión ilegal y torticera de las cookies
El primer error es la incoherencia y la hipocresía respecto a la utilización de las cookies, que potencia el asalto continuado al usuario y sus derechos. Todos los avances y tendencias en marketing hablan de poner al usuario en el centro de todas las acciones de marketing a realizar. Hablamos de adoptar una filosofía “Customer Centric", que indica que el valor de una empresa depende de cuán obsesionado esté con el cliente”. En este sentido lo ratifica el informe de Forrester con predicciones para EMEA 2021 y tienes un genial resumen en la publicación en LinkedIn de mi colega Alicia Rodríguez Ruiz Pues bien, en lo que respecta a las cookies, el usuario es el último mono del circo, lo explica con humor y genialidad mi compañero Santiago Alonso en este post.
Por otra parte, hay una especie de “Diógenes” con la información personal y los datos en general. Acumulamos ingentes cantidades de información que ni siquiera sabemos analizar, y esto forma parte de la ilegalidad y de la estupidez. ¿Necesitas de verdad todos esos datos? Porque siempre que recabas datos, asumes un compromiso con esa información que genera determinadas obligaciones.
Y aquí viene lo de la estupidez: ¿tiene algún sentido acumular compromisos para almacenar una información que no vas a utilizar? y en la parte legal: recabar información sin una causa que lo justifique, vulnera el principio de minimización de datos expresado en el RGPD, que indica que todos los datos deben ser adecuados, pertinentes y limitados a lo necesario en relación con los fines para los que son tratados. En el caso de las cookies, este es un error ilegal que se repite hasta la saciedad.
Otro despropósito que maltrata al usuario con mucha frecuencia es el de crear soluciones enrevesadas y nada recomendables que dejan al usuario atrapado en un bucle de fórmulas imposibles para que se vea forzado a aceptar sin remedio.
La gestión inteligente de las cookies
El dilema es claro: nos interesan “supuestamente” los usuarios y queremos tratarlos correctamente. Pero nos interesa aún más obtener la máxima información posible y convertirla en la divisa que mejor nos convenga. Por eso, gestionar “legalmente” las cookies puede suponer un gran entuerto. Y de hecho, lo es. El principio legal es muy claro: debe ser tan sencillo aceptar las cookies cómo rechazarlas. Y toda fórmula que no aplique este principio es ilegal, sin paliativos. Por eso, la gestión legal de cookies debe considerar estos “action items”:
1. Ofrecer información clara, específica y personalizable sobre el tipo de cookies de la web y su finalidad. Esta información se debe proporcionar de forma directa, clara y accesible, básicamente mediante un banner o pop-up de advertencia (primera capa).
2. Bloquear la carga de cookies analíticas y publicitarias hasta obtener consentimiento expreso del usuario.
3. Mantener un archivo de los consentimientos obtenidos, recuerda que los consentimientos deben ser verificables.
4. Permitir aceptar, consultar o rechazar cookies de manera sencilla.
Pero si además de legal, quieres que una gestión inteligente de las cookies, deberías centrarte en seleccionar sólo aquellas que realmente vayas a utilizar y que cuya información sepas utilizar. Y descartar estas opciones que siguen presentes en muchas webs rezagadas legalmente:
● Descargar cookies analíticas o publicitarias sin previa información y consentimiento de los usuarios.● Utilizar la opción “seguir navegando” o scroll como forma de prestar el consentimiento.● Utilizar “muros de cookies” y limitar el acceso a determinados servicios o contenidos.
Otro mito. Las sanciones por incumplimiento son abundantes y públicas. Y no solo a las grandes marcas y empresas. De hecho, están cayendo multas como panes a webs de empresas y autónomos muy normalitos. Como una de las últimas de 3.000 euros (que se quedó en 1.800€ por pronto pago) a una web muy común por incumplimiento del art 22.2 LSSI al no existir banner o información sobre las cookies que utilizaba. Y, además, sin realizar ninguna otra acción para la obtención del consentimiento o su rechazo, ya que se descargaban cookies no necesarias tanto propias como de terceros (Google.com)
La AEPD señala en su auto que tampoco existía en la 2ª capa, un mecanismo que permitiera rechazar todas las cookies y/o gestionarlas de forma granular y recuerda que remitir a la configuración del navegador del equipo puede ser considerada una opción complementaria para obtener el consentimiento pero no como único mecanismo.
Cómo cumplir sin comprometer la analítica y el bolsillo
El primer escollo siempre que hablamos de cumplir la legalidad con las cookies gira en torno al mismo tema: la pérdida de datos. Desde el lado de la analítica, uno podría sentirse “ciego” al reducir el número de datos registrados. En la práctica, siempre intento hacer la pregunta del millón: ¿realmente estás utilizando los datos que recopilas de tus usuarios?
Siguiendo con el hilo anterior del síndrome de Diógenes, durante todos estos años he encontrado decenas (o cientos) de empresas que tienen herramientas como Google Analytics para medir el comportamiento de sus usuarios, pero jamás han hecho caso de esos datos. Sin embargo, al mismo tiempo le estás “regalando” toda esa información y comportamiento de tus usuarios al proveedor en cuestión. Podemos llamarlo Google, Facebook o cualquier otro gigante que adora recopilar datos a gran escala.
A día de hoy existen soluciones que nos pueden ayudar a mantener el análisis más cuantitativo de nuestros usuarios sin tener que saltarnos a la torera los deseos de privacidad de nuestros usuarios. Hablo de soluciones de analítica sin cookies o cookieless
Analítica cookieless: ¿utopía, realidad o futuro?
Cuando hablamos de analítica, Google Analytics se ha convertido en un estándar de facto dentro del sector a la hora de analizar nuestros datos. Para muchos proyectos, abandonar Google Analytics o los sistemas de analítica más tradicionales sería una utopía difícil de cumplir. Pero, por otro lado, tampoco podemos ignorar la normativa vigente y, sobre todo, los deseos de nuestros usuarios con respecto a su privacidad.
Esto es realmente muy importante. Antes de dar el paso a un entorno Privacy-first, nos permite plantear escenarios híbridos en cuanto a la analítica, aprovechando así la potencia de ambos mundos:
- Google Analytics para comportamientos cualitativos de aquellos usuarios que aceptan las cookies.
- Soluciones cookieless, para mantener el análisis más cuantitativo, no perder el foco del volumen de tráfico real y marcar la estrategia.
Combinadas y extrapoladas nos permiten mantener una estadística fiable e incluso mejorada del comportamiento de nuestra web. En realidad, si te paras a pensar casi seguro que no necesitas saber qué hicieron el usuario A o el usuario B al entrar en tu web. Lo que te importa es cómo se comportaron esos usuarios, sin entrar al detalle de «ponerle nombre» como hacen las cookies. Justo esa forma de medir (más cuantitativa y de manera más global) es el principio que rige las herramientas de analítica cookieless.
Comprometer la percepción que tienen los usuarios de tu web por hacerte el sueco, no parece ser una decisión muy inteligente. Si has venido hasta esta última parte buscando soluciones mágicas, déjame decirte que no existen. Igual que no hay herramientas para crear la campaña de publicidad perfecta en un clic ni el mejor diseño por arte de magia. Lo que sí podemos saber es qué debe tener la herramienta perfecta. Te las recuerdo:
1. Bloquea las cookies: vale, parece lo obvio. Pero hay cientos de herramientas que no cumplen este punto.2. Es personalizable: para adaptarla al máximo nuestras necesidades, poder hacer experimentos y analizar cuál es la mejor implementación para nuestros usuarios.3. Incluye botones de aceptar, rechazar y configurar cookies.
¿Has decidido darle a las cookies por fin la importancia que se merecen?
Publicado por
Chema Alonso
a las
7:01 a. m.
0
comentarios
Etiquetas: cookies, GDPR, legalidad, Privacidad
martes, agosto 25, 2020
Algunos consejos de seguridad para desarrollar un frontend web (Y son muchos los que se necesitan)
![]() |
| Figura 1: Algunos consejos de seguridad para desarrollar un frontend web (Y son muchos los que se necesitan) |
En este artículo os hablaré de las distintas amenazas que se pueden dar en nuestra estructura frontal y de cómo prevenirlas. Es decir, vamos a ver un resumen de cuáles son las técnicas de Hacking Web Applications desde el punto de vista de los Client-Side Attacks: XSS, CSRF, SSRF, XSPA o SSJS - para lo que os recomiendo que leáis el libro de Enrique Rando - y también contaré algunos consejos para desarrollar FrontEnds de forma segura para evitarlos.
![]() |
| Figura 2: Libro de "Hacking Web Applications: Client-Side Attacks" de Enrique Rando en la editorial 0xWord. |
En primer lugar, para conocer los puntos débiles más comunes que se pueden dar en nuestra aplicación, debemos conocer los tipos de ataques que se realizan sobre estas y como prevenirlos.
- XSS Cross-Site Scripting: Es un vector de ataque dirigido a una aplicación web o página web que puede permitir a un atacante inyectar código sin que este sea validado y así, conseguir acceso a información sensible, secuestro de sesiones de usuario o subyugar la integridad del sistema. Gracias a ataques XSS se pueden hacer ataques de Session Hijacking, ataques de Click-Jacking, Cross-Site Request Forgery, etcétera, todos aprovechándose de la posibilidad de inyectar código que se va a ejecutar en el cliente. Si dejamos de lado los XSS Google-Persistentes, existen tres tipos de XSS.
Figura 3: Conferencia de "Ataques XSS Google Persistentes" por Chema Alonso
- XSS Directo: Es conocido como XSS Persistente, se da en los formularios y se ejecuta cuando un usuario accede a la ruta donde se ha inyectado el código. Estos XSS Persistentes o Stored-XSS son muy peligrosos y aparecen periódicamente en plataformas de eCommerce, CMS, LMS, etcétera, sobre todo en plugins.
- XSS Indirecto: Es conocido como XXS Reflejado, la inyección de código se da en formularios, URLs o vídeos, entre otros. Su objetivo radica en modificar los valores que la aplicación web utiliza para comunicarse a nivel interno con dos de sus rutas.
![]() |
| Figura 5: Esquema de una ataque XSS Indirecto o XSS Reflejado |
"All input is evil until it proves otherwise"
- X-XSS-Protection- Content-Type- X-Content-Type-Options- X-FrameOptions- Acces-Control-Allow-Origin
- XSS DOM Based: Este tipo de XSS, en vez de darse en la parte HTML se da en el Document Object Model. En los dos tipos anteriores el payload se puede observar en la respuesta de la página o ruta. Sin embargo, en este tipo de XSS el código HTML y la respuesta serán exactamente iguales. El payload solo se podrá observar en tiempo de ejecución o investigando el DOM de la página.
![]() |
| Figura 7: Esquema de ataque DDoS. El atacante inyecta el XSS en el servidor web vulnerable y conecta los visitantes a su XSS-Botnet o JavaScript Botnet para hacer un DDoS. |
- Desarrollo Seguro: En primer lugar, desarrollar de forma segura siempre debe formar parte del proceso de desarrollo ya que solventar un problema de seguridad cuando una aplicación está desplegada, es mucho más costoso y dañino para el usuario final, que analizar el código y realizar los cambios a priori. Para ello, es mejor trabajar con patrones de diseños conocidos y estudiados que resuelven problemas concretos, en lugar de reinventar la rueda constantemente, y usar soluciones lo más estandarizadas posibles.
- Despliegue Seguro:No solo hay que hacer que la seguridad esté dentro del ciclo de vida de creación del software, así como en el despliegue de las nuevas releases, así que no solo la seguridad debe estar en el código, sino en los procesos de DevOps, pasando a ser SecDevOps.
![]() |
| Figura 11: Docker "SecDevOps" |
- Fortificación: Las reglas de la fortiticación son Mínimo Privilegio Posible, Mínima Superficie de Exposición y Defensa en Profundidad. Si aplicamos la segunda regla al desarrollo de fontends de aplicaciones web, compartimentar una aplicación, puede ser una buena forma de mitigar el impacto de una vulnerabilidad por lo que se de be optar por patrones como los MicroFrontEnds como una alternativa.
• Contenido de Terceros Controlado: En caso de utilizar librerías de terceros, hemos de ser selectivos a la hora de elegir cual implementar ya que esto puede prevenir una o varias brechas de seguridad en nuestra aplicación. Se aconseja buscar librerías respaldadas por la comunidad y en las que se realice un mantenimiento habitual. También, si utilizamos recursos almacenados en servidores CDN, es muy recomendable utilizar el Tag Integrity que nos asegura la no alteración y la integridad del recurso que estamos utilizando.
• Librerías vulnerables: Auditar las dependencias de nuestros proyectos es una buena práctica. Con el comando npm audit se mostrará una lista de los paquetes vulnerables que existen en nuestro proyecto y podremos ver cual de estas dependencias requieren una actualización.
• Content Security Policies: Por último y no menos importante, recomendaros encarecidamente el uso de Content Security Policy. Es el nombre de la HTTP Header que utilizan los servidores web para sacar el máximo de partido de las opciones de fortificación que tienen los navegadores para mejorar la seguridad de una aplicación o página web.
![]() |
| Figura 13: CSP en la web de Facebook |
También se puede implementar vía meta tag. Las CSP suelen ser difíciles de configurar para que se ajusten a todos los comportamientos de todas las webapps en todos los navegadores, pero desde luego son la mejor opción para desplegar de forma fortificada una aplicación web, aunque sea en modo Reporting como hizo Google.
![]() |
| Figura 16: Contactar con Luis Eduardo Álvarez en MyPublicInbox |
Publicado por
Chema Alonso
a las
7:01 a. m.
0
comentarios
Etiquetas: Clickjacking, cookies, CSP, CSRF, fortificación, hardening, HTML, HTTP, https, pentesting persistente, XSS
martes, octubre 15, 2019
Google Chrome forzará la política de SameSite=Lax para proteger tus cookies contra los ataques CSRF
![]() |
| Figura 2: Libro de Hacking Web Applications: Client-Side Attacks |
https://www.miweb.com/gestionarfoto.PHP?id=111&accion=eliminar
![]() |
| Figura 4: Ejemplo de token Anti-CSRF en OWASP |
Set-Cookie: Elladodelmal=1; Path=/; HTTPOnly; Secure;
Set-Cookie: Elladodelmal=1; Path=/; HTTPOnly; Secure; SameSite=Strict;
Set-Cookie: Elladodelmal=1; Path=/; HTTPOnly; Secure; SameSite=Lax;
Autor: Chema Alonso (Contactar con Chema Alonso)
Publicado por
Chema Alonso
a las
8:00 a. m.
0
comentarios
Etiquetas: cookies, CSRF, Google Chrome, hardening, HTTP, https, XSS
lunes, mayo 08, 2017
Apache: Server-Side Session Hijacking con Virtual Hosts hackeados (2 de 2)
![]() |
| Figura 21: Server-Side Session Hijacking con Virtual Hosts Hackeados (2 de 2) |
El truco que se puede utilizar es uno bastante sencillo, que está ahí, en muchos servidores Apache que corren sobre servidores GNU/Linux, y consiste en usar una de las características más conocidas de estos sistemas operativos.
Valor simbólico
Hay, al menos, una forma de "traernos" la aplicación víctima al servidor del atacante. Y la que se me viene a la cabeza utiliza una característica del sistema de ficheros: los enlaces. El usuario "net" no puede crear un enlace duro (hard link) al script "index.php" de la aplicación víctima ya que carece de los permisos necesarios. Pero no hay problema para crear enlaces simbólicos. De modo que si ejecutara un comando como el que sigue:
ln -s /var/www/html/com/index.php /var/www/html/net/app.php...creando un enlace en el virtual hosts del atacante que respondería ante una petición del tipo:
http://danger.example.net/app.php... entonces el servidor Apache se encontraría con el enlace simbólico:
"/var/www/html/net/app.php".Y en esa situación, lo que pueda hacer con él dependerá de la configuración que tenga establecida. Lo más frecuente, y lo que me encuentro en este caso, es que esté activada la opción FollowSymLinks. Esto quiere decir que Apache seguirá el enlace simbólico que le llevará a "/var/www/html/com/index.php".
Y lo abrirá con los permisos de su propietario, "com", y comenzará a interpretarlo. Pronto llegará a una sentencia que da más de pensar de lo que a primera vista parece:
require_once "include/login.inc.php";Vale. Necesitamos leer el fichero "include/login.inc.php". Pero ¿de qué directorio? La documentación de PHP señala que, para cosas como "require_once" que leen ficheros, existen tres posibilidades:
- Que la ruta de fichero sea absoluta. Del tipo "/var/www/html/index.php". En este caso, está claro el fichero que hay que leer.
- Que la ruta de fichero comience con "./" o "../", para el caso de sistemas *nix, o ".\" o "..\" para Windows. Entonces la ruta se considera relativa al directorio actual.
- En otro caso, PHP utiliza una variable de configuración llamada "include_path" que contiene una lista de directorios. Si no encuentra el fichero a cargar en ninguno de ellos, lo intenta con el directorio en el que se encuentra el script. Y, si aún sigue sin encontrarlo, busca en el directorio de trabajo actual.En el caso de la aplicación víctima tenemos esta última situación. Con una condición curiosa:
- El directorio del script, el que se pidió a Apache, es "/var/www/html/net", controlado por el atacante.
- El directorio de trabajo es "/var/www/html/com". El de la aplicación víctima.Gracias a esto, el atacante podría redefinir algunos de los ficheros utilizados en los "require", "require_once", etcétera.
![]() |
| Figura 22: Documentación de inlude & require en PHP |
Para ello le basta con crear en su directorio una estructura de directorios similar a la de la aplicación, crear en ella los ficheros que necesite "ajustar" a sus necesidades y asegurarse de que el usuario "com" puede acceder a todo ello. Para lo que necesite la aplicación y no se halle en los directorios del atacante, ahí estará PHP, que se encargará de buscarlo en el directorio de la propia aplicación víctima.
Al ataque
Ya sabemos lo que hay que hacer, de modo que tomamos la shell PHP y nos ponemos a ello. En este caso, redefinimos sólo el fichero "login.inc.php" en el lado de la aplicación atacante para que, sin necesidad de hacer nada, nos cree una sesión con privilegios de administrador:
![]() |
| Figura 23: Creando el login.inc.php alternativo |
Aunque los nuevos "app.php" y "login.inc.php" estarán alojados en "/var/www/html/net", el usuario "com" podrá leerlos. Ahora, si visitamos "http://danger.example.net/app.php"...
![]() |
| Figura 24: Accediendo a las opciones de administración |
En la imagen superior puede observarse que hemos conseguido acceder a las funcionalidades de administración de la aplicación. Además, la información de diagnostico indica que el proceso está ejecutándose con la cuenta "com".
Por otro lado, en la parte inferior se aprecia que se han usado las herramientas para desarrolladores para obtener el valor de la cookie que se acaba de recibir. Una cookie a la que el usuario "com" sí podrá acceder, pues fue él mismo quien la creó. De modo que, si ahora cargamos "http://webserver.example.com" y se la forzamos:
![]() |
| Figura 25: Forzado de la cookie de sesión |
Y ahora, si recargamos la página, obtenemos las opciones de administración.
![]() |
| Figura 26: Hemos hecho el Server-Side Session Hijacking desde un virtual host hackeado en un Apache con seguridad mejorada. |
Y podremos seguir con nuestra sesión sin problemas. Y con privilegios de administración. Así que la fortificación de Apache no ha sido todo lo eficaz que deberíamos esperar, y hay que hacer alguna cosa más para evitar este tipo de ataques. Vamos a ver qué se podría hacer.
Tratar de arreglar las cosas
En casos como éste, poner soluciones es tarea tanto de los desarrolladores de la aplicación como de los administradores del servidor. Y, además, ambos deben tratar de afrontar todos los posibles problemas: ni los desarrolladores deben dar por supuesto que los administradores han configurado el equipo de forma segura. Ni los administradores deben confiar en que las aplicaciones que instalan están bien desarrolladas.
Los desarrolladores podrían haber cambiado las rutas de las que se hace el "require_once" y haberlas convertido en absolutas. Con valores como "/var/www/html/com/include/login.inc.php", poco margen habría quedado para la manipulación.
Debe señalarse que en este caso de nada habría servido que las rutas se hubieran indicado de forma relativa comenzando con "./". Como en "./include/login.inc.php". De hacerlo, las peticiones realizadas a "http://danger.example.net/app.php" serían servidas tomando "/var/www/html/net" como directorio base y al atacante le habría bastado con redefinir - o crear enlaces simbólicos a - todos los ficheros en el directorio "include" de la aplicación víctima.
![]() |
| Figura 27: SymLinksIfOwnerMatch en documentación de Apache |
En cuanto a los administradores, hay que recalcar que el uso de "FollowSymLinks" podría haber sido sustituido por "SymLinksIfOwnerMatch", que sólo sigue los enlaces simbólicos si el propietario del enlace es el mismo que el del fichero de destino. Algo que, por otro lado, aparece etiquetado muchas veces como poco recomendable en Internet por sus efectos sobre el rendimiento.
Otra importante mejora sería utilizar "ruid2" en modo "config". Para ello, en el fichero "apache.conf" habría que sustituir el RMode stat por RMode config y añadir unas líneas a la configuración de cada sitio virtual en el fichero "/etc/apache2/sites-enabled/000-default.conf", dejándolo como sigue:
![]() |
| Figura 28: Configuración de sitios virtuales modificada |
De este modo se asegura que todo lo que se pida usando el nombre de servidor "danger.example.net" va a ser procesado usando los privilegios de la cuenta "net" y el grupo "net", lo cual evitaría la escalada de privilegios mostrada anteriormente.
Pero quizá pudiera hacer posible otras). Por ejemplo, si se pudiera crear un fichero en una carpeta cualquiera de otro host... ¿quién sabe?. Y pueden presentarse otros ataques de naturaleza diferente que pudieran terminar consiguiendo el mismo efecto. U otro distinto. Puestos a aislar, quizá lo mejor sea dejarse de complicaciones y utilizar una máquina, posiblemente virtual, para cada aplicación. Y, aún así, nunca se sabe.
Conclusión
Al final, la aplicación sí era vulnerable. Muy vulnerable. Al menos, bajo ciertas condiciones. Algo que no es poco frecuente. Los desarrolladores crean un producto y, según lo finalizan, suelen perder control sobre él. No pueden determinar completamente en qué circunstancias está siendo utilizado, qué configuraciones le dan soporte, qué entorno lo rodea, etcétera.
Todo esto que no pueden controlar, deben tratar de preverlo en las etapas de diseño. Ponerse siempre en el peor de los casos: cuando todo falla y, además, hay alguien que intenta sacar partido.
Hablando de la aplicación utilizada en este artículo, los desarrolladores posiblemente deberían, entre otras cosas, haber tomado medidas que evitaran el acceso a las variables de sesión, tanto para lectura como para escritura, por parte de otras aplicaciones. Quizá, cifrando su contenido y manteniendo un hash que permitiera detectar cualquier cambio no autorizado.
Al fin y al cabo, estamos hablando de "confidencialidad" e "integridad". Y eso es parte de la seguridad. Pero, ¿cómo de frecuente es encontrarse estas medidas de protección? ¿y cómo de habitual el no encontrarlas? Si tienes experiencia, tú tendrás una buena estimación.
ANEXO: La aplicación
Solo por responder cualquier duda que pudiera salir, os dejo los códigos utilizados en esta aplicación, para que podáis tener toda la información de lo que se ha presentado en este entorno
![]() |
| Figura 29: Index.php |
![]() |
| Figura 30: include/Login.inc.php |
![]() |
| Figura 31: include/app.inc.php |
![]() |
| Figura 32: include/diag.inc.php |
![]() |
| Figura 33: js/1.js |
Autor: Enrique Rando, escritor de los libros "Hacking con Buscadores", Hacking Web Applications: SQL Injection y "Hacking Web Technologies" de 0xWord.
Publicado por
Chema Alonso
a las
12:01 a. m.
0
comentarios
Etiquetas: Apache, cookies, Hacking, hardening, Hijacking, Linux, pentesting, PHP
Entrada destacada
Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord
Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...
Entradas populares
-
Un informe de Tech Transparency Project, después del lío con el Jailbreak del Bikini en Twitter/X , y de la masificación de DeepFakes en el...
-
Circula por la red un truco que llegó a mí de casualidad , donde se explica cómo conseguir ver más de una vez - e incluso capturar - las fot...
-
Ayer publiqué un post que tiene ver con las opciones de privacidad de Facebook asociadas a los correos electrónicos , y mañana sacaré la se...
-
Hace tiempo que llevamos trabajando sin parar en la editorial de libros de seguridad informática y hacking , y hoy es el día en que hemos c...
-
El periódico The Guardian ha vuelto a soltar otra bomba mediática aprovechando las filtraciones de Edward Snowden , el ex-trabajador del C...
-
Las técnicas de OSINT son aquellas que te permiten buscar información en fuentes abiertas. O lo que es lo mismo, sacar datos de plataformas...
-
El viernes Internet se lleno de peticiones a Grok para poner a todo el mundo en Bikini . Cuando ayer sábado lo estuve revisando descubrí qu...
-
Desde el mes de Octubre del año pasado llevamos trabajando en Informática 64 junto con Alejandro Ramos ( @aramosf ) en Recover Messages ...
-
La app de mensajería instantánea Telegram tiene muchos fans por el atributo de seguridad que ha querido potenciar desde el principio, per...
-
Es desde hace doce años que vengo escribiendo este blog y nunca he escurrido el bulto cuando algo sucede, y por eso escribo hoy de este tem...




DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 



















































