Los que estamos pendientes de las cosas nuevas que aparecen en el proyecto Symfony2 hoy nos dimo con la sorpresa que se encuentra disponible una maratón de actualizaciones para todas sus versiones estables.
Evidentemente las fiestas de navidad no son un motivo de descanso para los programadores que trabajan en el proyecto y hace algunas horas, en la web oficial de Symfony2 se publicaron las actualizaciones para las versiones Symfony 2.3.36, Symfony 2.7.8, Symfony 2.8.1 y Symfony 3.0.1 todas corrigiendo los siguientes bugs de cada uno de sus enlaces.
Finalmente y como recomendación, es indispensable mantener Symfony2 en nuestro proyecto actualizado a la última versión disponible para evitar problemas de seguridad futuros.
Saludos!
Mostrando las entradas con la etiqueta Symfony2. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Symfony2. Mostrar todas las entradas
26 de diciembre de 2015
24 de noviembre de 2015
Actualización de Seguridad en #Symfony 2.6.x y 2.7.x
El día de ayer, la comunidad de Symfony2 reparó y reportó entre otras cosas 2 fallos de seguridad muy importantes para las ramas 2.6.x y 2.7.x pero que afectarían a las versiones más recientes como la 2.8.x y 3.x
La primera de las vulnerabilidades corregidas está etiquetada como CVE-2015-8124: Session Fixation in the "Remember Me" Login Feature. Esta vulnerabilidad encontrada, que permite recordar la sesión de un usuario autenticado, un posible atacante podría realizar una suplantación de identidad conociendo previamente el ID de lasesión establecida.
La segunda vulnerabilidad etiquetada como CVE-2015-8125: Potential Remote Timing Attack Vulnerability in Security Remember-me Service. Una vulnerabilidad de ataque remoto al componente de seguridad de Symfony.
Las versiones afectadas por estas vulnerabilidades van de 2.3.0 a 2.3.34, 2.6.0 - 2.6.11, 2.7.0 - 2.7.6 Nuevamente la comunidad demostrando que esta a la altura de manejar un proyecto tan grande como Symfony2 dejando las explicaciones y las soluciones de los problemas reportados y resueltos.
Saludos!
La primera de las vulnerabilidades corregidas está etiquetada como CVE-2015-8124: Session Fixation in the "Remember Me" Login Feature. Esta vulnerabilidad encontrada, que permite recordar la sesión de un usuario autenticado, un posible atacante podría realizar una suplantación de identidad conociendo previamente el ID de lasesión establecida.
La segunda vulnerabilidad etiquetada como CVE-2015-8125: Potential Remote Timing Attack Vulnerability in Security Remember-me Service. Una vulnerabilidad de ataque remoto al componente de seguridad de Symfony.
Las versiones afectadas por estas vulnerabilidades van de 2.3.0 a 2.3.34, 2.6.0 - 2.6.11, 2.7.0 - 2.7.6 Nuevamente la comunidad demostrando que esta a la altura de manejar un proyecto tan grande como Symfony2 dejando las explicaciones y las soluciones de los problemas reportados y resueltos.
Saludos!
Etiquetas:
Actualización
,
Noticia
,
Symfony2
27 de mayo de 2015
Actualizaciones de Seguridad en Symfony2
Se acaban de publicar las actualizaciones correspondientes para varias de las versiones de Symfony2 que podemos utilizar en nuestros proyectos y que deberíamos utilizar los parches para 2.3.19 a 2.3.28, 2.4.9 y 2.4.10, 2.5.4 a 2.5.11 y 2.6.0 a 2.6.7. La versión 2.7 ha sido corregida en su versión de desarrollo porque todavía no se ha lanzado de manera estable.
Las aplicaciones con soporte de ESI o SSI activado, que usan el FragmentListener, son vulnerables a un acceso no autorizado. Un usuario malicioso puede llamar a cualquier controlador de la aplicación mediante la ruta /_fragment pasando un hash inválido en la URL (o incluso eliminándolo). Esto hace que los sistemas de seguridad que validan el hash no se ejecuten y por tanto se permita el acceso no autorizado.
El FragmentListener lanza una excepción de tipo AccessDeniedHttpException cuando la firma incluida en la URL no es válida. El problema es que después, el ExceptionListener hace una subpetición que lanza de nuevo los eventos del kernel. Como el FragmentListener no firma las subpeticiones, el controlador se ejecuta aunque en la petición original no se autorizó su ejecución. El resultado es que el usuario recibe una respuesta con código 403 y con el contenido generado por el controlador.
La solución implementada añade una comprobación en el FragmentListener para que no se ejecute en el caso de que el atributo _controller haya sido definido previamente. Puedes ver el código del patch en el pull request 14759 de Symfony.
Enlace | symfony.es
Las aplicaciones con soporte de ESI o SSI activado, que usan el FragmentListener, son vulnerables a un acceso no autorizado. Un usuario malicioso puede llamar a cualquier controlador de la aplicación mediante la ruta /_fragment pasando un hash inválido en la URL (o incluso eliminándolo). Esto hace que los sistemas de seguridad que validan el hash no se ejecuten y por tanto se permita el acceso no autorizado.
El FragmentListener lanza una excepción de tipo AccessDeniedHttpException cuando la firma incluida en la URL no es válida. El problema es que después, el ExceptionListener hace una subpetición que lanza de nuevo los eventos del kernel. Como el FragmentListener no firma las subpeticiones, el controlador se ejecuta aunque en la petición original no se autorizó su ejecución. El resultado es que el usuario recibe una respuesta con código 403 y con el contenido generado por el controlador.
La solución implementada añade una comprobación en el FragmentListener para que no se ejecute en el caso de que el atributo _controller haya sido definido previamente. Puedes ver el código del patch en el pull request 14759 de Symfony.
Enlace | symfony.es
Etiquetas:
Actualización
,
Noticia
,
PHP
,
Symfony2
7 de enero de 2015
El mismo Google Hack, después de un par de años
Soy un gran seguidor de todo el ecosistema en el que se encuentra Symfony2, es más, lo sigo desde su primera versión publicada hace ya varios años.
Es por ello que recuerdo que un 23 de Julio del 2012 publiqué un Google Hack: Login en aplicaciones Symfony2.
inurl:/app_dev.php/login "Environment"
En aquel momento los resultados de esa búsqueda quizás no eran significativos, es por ello que hoy reproduje este mismo Google Hack y me llevé una gran sorpresa ;(
No solo que los programadores continúan utilizando el controlador de Desarrollo (app_dev.php) en sus servidores de Producción, sino que además muchos de estos formularios de login continúan utilizando los valores por defecto que se encuentran en la configuración de Symfony2 (parameters.yaml) que para los que no lo conocen el usuario es admin y su clave es adminpass
Si se encuentran trabajando con este fantástico Framework de Desarrollo para PHP5, les recomiendo no descuiden esos detalles que en definitiva les puede generar un gran dolor de cabeza a futuro.
Saludos!
Es por ello que recuerdo que un 23 de Julio del 2012 publiqué un Google Hack: Login en aplicaciones Symfony2.
inurl:/app_dev.php/login "Environment"
En aquel momento los resultados de esa búsqueda quizás no eran significativos, es por ello que hoy reproduje este mismo Google Hack y me llevé una gran sorpresa ;(
No solo que los programadores continúan utilizando el controlador de Desarrollo (app_dev.php) en sus servidores de Producción, sino que además muchos de estos formularios de login continúan utilizando los valores por defecto que se encuentran en la configuración de Symfony2 (parameters.yaml) que para los que no lo conocen el usuario es admin y su clave es adminpass
Si se encuentran trabajando con este fantástico Framework de Desarrollo para PHP5, les recomiendo no descuiden esos detalles que en definitiva les puede generar un gran dolor de cabeza a futuro.
Saludos!
Etiquetas:
Configuraciones
,
Google
,
Hack
,
Symfony2
25 de octubre de 2014
Ya se encuentra disponible Symfony 2.3.21 y Symfony 2.5.6
Volviendo un poco a
seguir de serca este framework que realmente me gusta mucho, ya se
encuentra disponible una nueva actualización de Symfony2 para sus
ramas 2.3.x y 2.5.x entre las cuales se contempla la corrección de
varios fallos.
Symfony 2.3.21released
- bug #11696 [Form] Fix #11694 - Enforce options value type check in some form types (kix)
- bug #12209 [FrameworkBundle] Fixed ide links (hason)
- bug #12208 Add missing argument (WouterJ)
- bug #12197 [TwigBundle] do not pass a template reference to twig (Tobion)
- bug #12196 [TwigBundle] show correct fallback exception template in debug mode (Tobion)
- bug #12187 [CssSelector] don't raise warnings when exception is thrown (xabbuh)
- bug #11998 [Intl] Integrated ICU data into Intl component #2 (webmozart)
- bug #11920 [Intl] Integrated ICU data into Intl component #1 (webmozart)
Symfony 2.5.6released
- bug #11696 [Form] Fix #11694 - Enforce options value type check in some form types (kix)
- bug #12225 [SecurityBundle] Add trust_resolver variable into expression (zulus)
- bug #12209 [FrameworkBundle] Fixed ide links (hason)
- bug #12208 Add missing argument (WouterJ)
- bug #12197 [TwigBundle] do not pass a template reference to twig (Tobion)
- bug #12196 [TwigBundle] show correct fallback exception template in debug mode (Tobion)
- bug #12187 [CssSelector] don't raise warnings when exception is thrown (xabbuh)
- bug #12151 [Framework][DX] Set the proper validator class according to the configured api version (peterrehm)
- bug #12128 [Console] clean handling of :: passed to find() (xabbuh)
- bug #11998 [Intl] Integrated ICU data into Intl component #2 (webmozart)
- bug #11920 [Intl] Integrated ICU data into Intl component #1 (webmozart)
No se olviden de
actualizar sus proyectos gracias a la ayuda de Composer dentro de
Symfony2 de la siguiente manera:
$ php composer.phar
update
Saludos!
Etiquetas:
Actualización
,
PHP
,
Symfony2
13 de junio de 2013
Google Hack: Buscando el bundle que nunca eliminamos #Symfony2
Mientras intento arreglar el problema del dominio en el blog, me dí una vuelta por Google para hacer una búsqueda y seguir encontrando algunas aplicaciones programadas en PHP5 junto Symfony2.
Para entender esto que vamos a buscar, primero tenemos que saber que cuando utilizamos este framework, que en lo personal recomiendo, viene con un sandbox de ejemplo, un bundle llamado Acme/DemoBundle que es posible intentar rastrear en los buscadores, y básicamente de esto se trata este Google Hack.
Por otro lado sabemos que en el directorio /web/bundles se encuentra un directorio con el nombre demobundles donde contiene generalmente los archivos de imágenes, CSS y JavaScript.
Si buscamos estos archivos en la web, les prometo que nos vamos a sorprender.
inurl:"/web/bundles/acmedemo"
Para entender esto que vamos a buscar, primero tenemos que saber que cuando utilizamos este framework, que en lo personal recomiendo, viene con un sandbox de ejemplo, un bundle llamado Acme/DemoBundle que es posible intentar rastrear en los buscadores, y básicamente de esto se trata este Google Hack.
Por otro lado sabemos que en el directorio /web/bundles se encuentra un directorio con el nombre demobundles donde contiene generalmente los archivos de imágenes, CSS y JavaScript.
Si buscamos estos archivos en la web, les prometo que nos vamos a sorprender.
inurl:"/web/bundles/acmedemo"
7 de mayo de 2013
La seguridad en Symfony2
Symfony2 ya es un framework con trayectoria para los usuarios que acostumbran a desarrollar en PHP5, pero desde sus inicio a implementado un modelo de seguridad para la autenticación y autorización de los usuarios dentro de sus proyectos.
Realmente me pareció muy interesante, ya que aplicando esta técnica evitamos que un usuario acceda a un recurso al cuál no debería tenes acceso. Por eso los invito a compartir como es la seguridad de usuarios dentro de Symfony2
En el primer paso del proceso, el sistema de seguridad identifica quién es el usuario obligándolo a presentar algún tipo de identificación. Esto se llama autenticación, y significa que el sistema está tratando de determinar quién eres.
Una vez que el sistema sabe quien eres, el siguiente paso es determinar si deberías tener acceso a un determinado recurso. Esta parte del proceso se llama autorización, y significa que el sistema está comprobando si tienes suficientes privilegios para realizar una determinada acción.
Otro componente indispensable para la seguridad en Symfony2 es el uso de firewall, que se utilizan cuando un usuario hace una petición a una URL, es allí cuando se activa el sistema de seguridad. El trabajo del firewall es determinar si el usuario necesita estar autenticado, y si lo hace, enviar una respuesta al usuario para iniciar el proceso de autenticación.
Un cortafuegos se activa cuando la URL de una petición entrante concuerda con el patrón de la expresión regular configurada en el valor config del cortafuegos. En este ejemplo el patrón (^/) concordará con cada petición entrante. El hecho de que el firewall esté activado no significa, sin embargo, que el nombre de usuario de autenticación HTTP y el cuadro de diálogo de la contraseña se muestre en cada URL. Por ejemplo, cualquier usuario puede acceder a /foo sin que se le pida se autentique.
Realmente me pareció muy interesante, ya que aplicando esta técnica evitamos que un usuario acceda a un recurso al cuál no debería tenes acceso. Por eso los invito a compartir como es la seguridad de usuarios dentro de Symfony2
En el primer paso del proceso, el sistema de seguridad identifica quién es el usuario obligándolo a presentar algún tipo de identificación. Esto se llama autenticación, y significa que el sistema está tratando de determinar quién eres.
Una vez que el sistema sabe quien eres, el siguiente paso es determinar si deberías tener acceso a un determinado recurso. Esta parte del proceso se llama autorización, y significa que el sistema está comprobando si tienes suficientes privilegios para realizar una determinada acción.
Otro componente indispensable para la seguridad en Symfony2 es el uso de firewall, que se utilizan cuando un usuario hace una petición a una URL, es allí cuando se activa el sistema de seguridad. El trabajo del firewall es determinar si el usuario necesita estar autenticado, y si lo hace, enviar una respuesta al usuario para iniciar el proceso de autenticación.
Un cortafuegos se activa cuando la URL de una petición entrante concuerda con el patrón de la expresión regular configurada en el valor config del cortafuegos. En este ejemplo el patrón (^/) concordará con cada petición entrante. El hecho de que el firewall esté activado no significa, sin embargo, que el nombre de usuario de autenticación HTTP y el cuadro de diálogo de la contraseña se muestre en cada URL. Por ejemplo, cualquier usuario puede acceder a /foo sin que se le pida se autentique.
Etiquetas:
Firewall
,
Seguridad
,
Software Libre
,
Symfony2
8 de marzo de 2013
Desarrollo web con Symfony2 en @tuxinfo
Hoy tengo la grata noticia de anunciarles que salió publicada la primera entrega sobre Desarrollo web con Symfony2 en la revista digital TuxInfo donde una vez más colaboré con esta nota.
Desde ya muy agradecido principalmente a Ariel Corgatelli @arielmcorg director de la revista por la invitación y a todo el equipo de edición y diseño.
Ojalá cumpla con las expectativa de los lectores y le sea de interés para los nuevos desarrolladores web.
Saludos!
Enlace | TuxInfo Nº 56
Desde ya muy agradecido principalmente a Ariel Corgatelli @arielmcorg director de la revista por la invitación y a todo el equipo de edición y diseño.
Ojalá cumpla con las expectativa de los lectores y le sea de interés para los nuevos desarrolladores web.
Saludos!
Enlace | TuxInfo Nº 56
Etiquetas:
Logros
,
Publicaciones
,
Symfony2
21 de diciembre de 2012
Actualización de seguridad: Symfony 2.0.20 y 2.1.5
Atención a la gente que le gusta el Framework Symfony2 ya que acaban de liberar una actualización de seguridad para las versiones 2.0.20 y 2.1.5 parchando 2 fallos importantes de seguridad.
Uno de sus fallos corregidos CVE-2012-6431 permite acceder a una ruta protegidas por Firewall aunque no se encuentre autenticado.
El segundo fallo corregido CVE-2012-6432 corresponde a la ejecución de código a través de los "internal".
Uno de sus fallos corregidos CVE-2012-6431 permite acceder a una ruta protegidas por Firewall aunque no se encuentre autenticado.
El segundo fallo corregido CVE-2012-6432 corresponde a la ejecución de código a través de los "internal".
Etiquetas:
Actualización
,
Symfony2
,
Vulnerabilidad
12 de diciembre de 2012
Google Hacks: parameters.yml de Symfony2
El archivo parameters.yml es uno de los archivos claves en la configuración de Symfony2, en él simplemente podemos definir y configurar los parámetros para establecer la conexión con las bases de datos.
Confieso que la primera vez que me tope con un archivo de formato YAML (.yml) fue en las primeras versiones del Framework symfony y que hasta el día de hoy continúan utilizando estos archivos por lo simple y fácil que resulta intepretarlo para los programadores y parsearlo para el mismo Framework.
parameters.yml es un archivo que se encuentra en el directorio app/config/parameters.yml que dentro de la anatomía de Symfony2 esta bastante capado para no ser accedido desde algún controlador frontal, URL, etc. pero bueno es posible comenzar a encontrar algunos archivos en Google gracias al error humano.
Recuerden la importancia del archivo ya que podríamos encontrar en su interior que motor de Base de Datos atiende esa aplicación, cuáles son las IP, Nombre de la Base de Datos y las correspondientes credenciales para poder administrarla.
Confieso que la primera vez que me tope con un archivo de formato YAML (.yml) fue en las primeras versiones del Framework symfony y que hasta el día de hoy continúan utilizando estos archivos por lo simple y fácil que resulta intepretarlo para los programadores y parsearlo para el mismo Framework.
parameters.yml es un archivo que se encuentra en el directorio app/config/parameters.yml que dentro de la anatomía de Symfony2 esta bastante capado para no ser accedido desde algún controlador frontal, URL, etc. pero bueno es posible comenzar a encontrar algunos archivos en Google gracias al error humano.
Recuerden la importancia del archivo ya que podríamos encontrar en su interior que motor de Base de Datos atiende esa aplicación, cuáles son las IP, Nombre de la Base de Datos y las correspondientes credenciales para poder administrarla.
Etiquetas:
Configuraciones
,
Google
,
Hack
,
Symfony2
,
Web
19 de septiembre de 2012
Google Hack: Encontrando diferentes versiones de Symfony2
En estos días volví a mi actividad de programador, sin duda, junto a uno de los mejores framework que utilicé como es el caso de Symfony2, realmente una recomendación para aquellos no hasta ahora no han tenido la suerte de verlo en acción.
Junto a ello y en búsquedas de nuevas cosas en Internet, me crucé con un nuevo dorks de Google que me va a permitir identificar con qué versión de Symfony2 están utilizando.
El problema nuevamente radica en que el/los programadores de dichas aplicaciones modificaron un parámetro de configuración que permite a los desarrolladores poder visualizar el entorno de desarrollo (dev) desde cualquier lugar que no sea localhost esto es posible verlo desde el código de GitHub del archivo /web/app_dev.php
Es por ello que es muy necesario mantener un ambiente de desarrollo en localhost o en otro servidor de pruebas que se diferencie de los ambientes de producción y utilizar como buenas prácticas un sistema de control de versiones como es el caso de Git, Subversion, mercurial, etc.
Junto a ello y en búsquedas de nuevas cosas en Internet, me crucé con un nuevo dorks de Google que me va a permitir identificar con qué versión de Symfony2 están utilizando.
El problema nuevamente radica en que el/los programadores de dichas aplicaciones modificaron un parámetro de configuración que permite a los desarrolladores poder visualizar el entorno de desarrollo (dev) desde cualquier lugar que no sea localhost esto es posible verlo desde el código de GitHub del archivo /web/app_dev.php
Es por ello que es muy necesario mantener un ambiente de desarrollo en localhost o en otro servidor de pruebas que se diferencie de los ambientes de producción y utilizar como buenas prácticas un sistema de control de versiones como es el caso de Git, Subversion, mercurial, etc.
Etiquetas:
Administradores
,
Google
,
Hack
,
Programadores
,
Symfony2
15 de agosto de 2012
Google Hack: Las demos de Symfony2
Este va a ser mi tercer dorks encontrado utilizando las búsquedas de Google que una vez más me va a permitir afirmar que la aplicación está programada con Symfony2.
Nuevamente, nos aprovechamos de algunos descuidos de los programadores que habilitaron el entorno de desarrollo (app_dev.php) a todos, pero que además no se tomaron el trabajo de eliminar la demo que trae Symfony2 por default.
Para comprender un poco más, cuando un programador comienza a realizar sus primeros pasos en Symfony2, el mismo framework trae una demo para comprender de manera simple y rápida como es el modo de operar, como se realizan las consultas, como trabaja el controlador y finalmente renderiza Twig las vistas. Les comento esto por que a todos los que nos gusta Symfony2 estoy seguro que aprendimos de ello.
El problema nuevamente está cuando la aplicación se sube a producción con todos estos ejemplos, entonces pasan cosas como por ejemplo estas:
inurl:/web/app_dev.php/demo "Symfony - Demos"
Nuevamente, nos aprovechamos de algunos descuidos de los programadores que habilitaron el entorno de desarrollo (app_dev.php) a todos, pero que además no se tomaron el trabajo de eliminar la demo que trae Symfony2 por default.
Para comprender un poco más, cuando un programador comienza a realizar sus primeros pasos en Symfony2, el mismo framework trae una demo para comprender de manera simple y rápida como es el modo de operar, como se realizan las consultas, como trabaja el controlador y finalmente renderiza Twig las vistas. Les comento esto por que a todos los que nos gusta Symfony2 estoy seguro que aprendimos de ello.
El problema nuevamente está cuando la aplicación se sube a producción con todos estos ejemplos, entonces pasan cosas como por ejemplo estas:
inurl:/web/app_dev.php/demo "Symfony - Demos"
23 de julio de 2012
Google Hack: Login en aplicaciones en Symfony2

Todos los que seguimos detalle a detalle la documentación de Symfony2 en el apartado de seguridad nos explica como realizar un sistema de autenticación, como crear los firewall y las ACL, de más está decir sobre la creación de las entidades, routing, controlador y vistas.
El tema está en que nuevamente por descuido muy grande de parte de los programadores, es posible acceder a en un entorno de desarrollo que no es necesariamente
Etiquetas:
Google
,
Hack
,
PHP
,
Programadores
,
Symfony2
16 de julio de 2012
Google Hack: Aplicaciones en Symfony2

En lo personal, creo que este tipo de herramientas son las que están reviviendo al lenguaje PHP y sumando más programadores, Symfony2 aporta una experiencia y una formación importante a todos sus usuarios que deberían comenzar a probarlo.
Pero así como es un framework de lo más cool, Google ya comenzó a indexar cosas que no debería, o si lo vemos del lado de los usuarios, le están dejando la puerta abierta de las aplicaciones para que Google las indexe.
La verdad es que encontré varios dorks nuevos en Google con Symfony2 que los voy a ir publicando con el correr del tiempo.
Etiquetas:
Fingerprint
,
Google
,
Hack
,
PHP
,
Symfony2
Suscribirse a:
Entradas (Atom)
Entradas populares
-
Lamento que te enteres por este medio pero tu pareja te engaña. Hace tiempo estoy saliendo con alguien y me engaño diciendo que no tenia ...
-
El Análisis Forense de computadores y sistemas es una de la rama fascinantes de la seguridad informática que año tras año va tomando más fu...
-
En algún momento hablamos lo simple y práctico que es contactar con reportes reportes web, completos analizadores de Logs que nos permiten m...
-
La idea de este post es dejarle una lista de gente que realmente se dedica a Seguridad Informática y sus temas relacionados, gente apasio...
-
Hoy les quiero compartir un nuevo Webcast parte de la segunda temporada de ElevenPaths Talks . Para esta sesión nos encontramos con Diego Es...
-
Luego de un par de semanas de programacion y algunos commits en los repositorios de GitHub , les quería anunciar la version 1.0 de WPHarde...
-
Esto es parte de las nuevas tecnologías con la que hoy contamos. Solo basta con leer un par de líneas para saber de que estas ideas son las ...
-
Figura 1: 4 consejos para proteger SSH en RouterOS Hace algunos días publiqué un Dork en Google y en Shodan donde nos permite encontra...
-
Excelente investigación por parte de Sheila Berta ( @UnaPibaGeek ) sobre un mecanismo de vulnerar un Android y que dió nombre a su confere...
-
No quería dejar pasar esta oportunidad para celebrar junto a todos los lectores de este, mi pequeño espacio donde me gusta hablar ( escribir...