Hace ya mucho tiempo que existe el servicio de Teletexto y muchos opinan que, en breve, será sustituido por aplicaciones MHP de los receptores de TDT pero, a día de hoy, el Teletexto sigue existiendo en practicamente todos los televisores y receptores de TDT existentes (por no decir todos) por lo que parece que aún le queda algo de vida.
Es cierto que la tecnología empleada ha quedado algo desfasada y que seguramente, necesitase una actualización pero, pese a todo, es un servicio que nos sigue permitiendo disfrutar de las últimas noticias, la programación, subtitulos, pasatiempos... ¿pasatiempos? recuerdo que existía una sección de pasatiempos pero llevo unos días buscándola y no la he encontrado en el Teletexto de TVE. Se trataba de pasatiempos sencillos, pequeños acertijos que nos hacian pasar un rato entretenido como cuando se resolvían los crucigramas del periódico (después vino el boom de los sudokus).
Recuerdo que el mando de mi televisión tenía un botón con el dibujo de una interrogación y dicho botón servia para revelar el resultado del acertijo propuesto pero es curioso ver como este botón ha ido desapareciendo y en ninguno de mis mandos actuales (TDT, TV, etc) encuentro un botón con dicha funcionalidad.
Todo esto viene a cuento porque quería comentar como el Teletexto podía (¿puede?) enviar información oculta al receptor de televisión y el usuario revelar esta información en el momento que lo considerase oportuno. Pues bien, esta "tecnología" era utilizada por TVE para enviar información de interés a sus centros territoriales mediante una página no listada en el indice del teletexto. No recuerdo el número de la página, han pasado muchos años desde que mi hermano y yo "jugabamos" con el teletexto pero si recuerdo que al visualizarse simplemente se veía la pantalla en negro y al pulsar el botón de revelado se mostraban una serie de datos que resultaron ser la información sobre las desconexiones territoriales de ese día, es decir, hora de inicio, duración, etc. Por ejemplo, un dia cualquiera podia verse 14:00 - 45min, 19:32 - 5min y 22:43 - 5,12min. Si esperabamos a esas horas veiamos como coincidia con los cortes que hacia TVE para conectar con sus centros territoriales, bien para poner anuncios locales o para sus informativos territoriales.
Esto que puede parecer una tonteria o simplemente un dato curioso fué todo un descubrimiento para nosotros y lo utilizábamos bastante ya que muchas veces grababamos la película de las diez de la noche y, de esta forma, podiamos saber cuando había un corte publicitario y la duración del mismo.
En la actualidad siguen existiendo desconexiones territoriales pero no he conseguido encontrar la página en cuestión (es posible que ya no exista) aunque si he encontrado una página "rara" que imagino que será una especie de test.
Como decía, es posible que el teletexto esté desfasado pero gracias a él aparecieron los botones de colores en nuestros mandos y, aunque algún día desapareciera, creo que estos botones perdurarán a modo de legado.
jueves, 4 de noviembre de 2010
lunes, 25 de octubre de 2010
Derecho al olvido |
|

Es sorprendente ver la cantidad de información que hay en Internet y aunque no nos damos cuenta, cada vez hay más datos nuestros enlazados en los buscadores. Existen multitud de servicios públicos que vuelcan sus bases de datos en Internet y muchas de ellas son accesibles desde cualquier buscador así que si ponemos nuestro nombre o el D.N.I. en Google tal vez nos encontremos con la sorpresa de encontrarnos con alguna multa, con las notas de las pruebas de acceso a la universidad, impagos, etc.

Después de unos cuantos correos me dijeron que aunque el ayuntamiento enviase una nota donde se rectificase la información no era posible modificar el Boletín Oficial sino que dicha nota de rectificación saldría publicada en un próximo boletín lo cual tampoco es que me solucione la papeleta ya que en Internet seguiré apareciendo como el "abandona coches".
Bien es cierto que si me comentaron que era posible "bloquear" esos datos en el motor de búsqueda de su web pero eso si, los datos seguirían estando allí.
El caso es que el tiempo va corriendo y sigo apareciendo como "abandona coches". Confío que eliminen esa información del boletín ya que creo que tengo derecho a ello pero es posible que pasen del tema y entonces no me dejan muchas opciones, o paso yo también del tema o voy por la vía legal... en fin, tiempo al tiempo.
Para quien quiera informarse un poco más sobre el tema del "derecho al olvido" aquí os dejo algunos artículos relacionados:
Y a todo esto, ni que decir tiene que cualquier persona que quiera desaparecer de este blog solo tiene que decirlo dejando un comentario y pondré mi granito de arena para que todos tengamos derecho al olvido.
Etiquetas:
Internet
jueves, 21 de octubre de 2010
Inyección SQL en la web del metro de Madrid (2/2) |
|
Hace algo más de un mes os comentaba sobre una vulnerabilidad de inyección de código SQL en la web del metro de Madrid, pues bien, recientemente se han puesto en contacto conmigo para indicarme que ya estaba resuelto el problema aunque tengo mis dudas al respecto.
La vulnerabilidad se encontraba en la parte de la web encargada de mostrar los planos de las estaciones.
Al acceder al plano de una estación se abre una nueva ventana en cuya url hay una serie de parámetros (tipo, idParada e idioma)
En este caso el parámetro vulnerable era idParada que se concatena a la sentencia SQL sin ningún tipo de filtro por lo que al añadirle la típica comilla simple se producia un error de SQL que era mostrado en pantalla, lo cual tampoco debería ocurrir pero parece esta activado el modo debug.
En el mensaje de error se puede ver como esta construida la consulta SQL por lo que es facil modificarla para añadir la información que nos interese. También aparece la ruta completa del fichero que ha producido el error (full path disclosure) que como ya he comentado en alguna ocasión puede ser de gran utilidad con vistas a llegar a tener acceso al fichero.
Para modificar la consulta y añadir la información que deseada es posible utilizar UNION, por ejemplo http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select 1,1,'Nombre'&idioma=es es decir, añadir un registro con coordenadas 1,1 y con el texto Nombre como nombre de la supuesta estación. También se establece idParada a -1 para conseguir que la consulta solo devuelva un registro, el nuestro, con lo que se pretende que en el mapa solo se visualizase nuestra estación falsa.
Efectivamente, se consigue que se muestre una única estación en las coordenadas 1,1 pero no se muestra el texto "Nombre" tal y como se había pensado lo cual es un problema ya que pese a que existía inyección sql no se podía mostrar información en pantalla... ¿o si?
Una de las curiosidades de SQL es que cuando se produce un error de tipos SQL informa de que el valor "x" no se puede convertir al tipo "y", por ejemplo, si intentamos convertir el texto "Prueba" a un número SQL mostrará un error diciendo que "Prueba" no se puede convertir a int ¿como podemos aprovechar esto? La consulta original devuelve las coordenadas x e y de la estación indicada, estos valores son numéricos por lo que si intentamos mostrar un valor de tipo texto en cualquiera de estos campos se producirá un error de tipos y nos mostrará el texto que ha producido el error, por ejemplo, la URL http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select 'Forzar error',1,'Nombre'&idioma=es intenta asignar como coordenada x el valor "Forzar error" lo que produce el siguiente mensaje de error.
Aqui podemos ver que se muestra el texto "Forzar error" que es lo que hemos especificado en la consulta sql inyectada por lo que ya tenemos una forma de devolver información. Por ejemplo, si quisieramos saber que versión de SQL se esta utilizando podriamos utilizar la siguiente url http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select @@version,1,'Nombre'&idioma=es
Como era de suponer se trata de SQL Server 2005. Es curioso que SQL, en su afan de ayudar, muestra los mensajes de error de forma muy detallada pero, en este caso, toda esa información se puede volver en su contra y permite acceder a información que no deberia ser visualizada.
Para conocer las bases de datos existentes en el servidor podemos acceder a la tabla sysdatabases que se encuentra en la base de datos master de SQL Server. Para ello accederemos a la URL http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select NAME,1,'Nombre' from master..sysdatabases&idioma=es y nuevamente se muestra el mensaje de error de conversión de tipos donde podemos ver el nombre de una de las bases de datos existentes.
Aunque en este caso no nos sirve de mucho ya que la base de datos que se muestra es master que ya sabiamos que existía. El problema es que solo se muestra el primer registro que produce el error así que, o bien añadimos una clausula WHERE para evitar la base de datos con nombre master y volvemos a ejecutar la consulta o buscamos una forma alternativa de mostrar la información de varios registros en un único campo y como es de suponer, me inclino por esta última opción.
Vamos a aprovechar la potencia del lenguaje XML. SQL Server incluye la posibilidad de devolver la información de una consulta como XML en texto plano, es decir, devolver un único registro con un único campo de tipo texto que contendrá el XML resultante. Para indicarle a SQL que nos devuelva el resultado en XML solo hay que incluir FOR XML RAW al final de la sentencia SELECT.
En nuestro caso queremos que uno de nuestros campos que supuestamente debe devolver la coordenada de la estación devuelva un XML con la información de las bases de datos existentes así que la URL resultante seria: http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select (select NAME from master..sysdatabases FOR XML RAW),1,'Nombre'&idioma=es
Podemos ver como se devuelve el texto en formato XML y que se muestra el nombre de varias bases de datos (master, tempdb, model, msdb, metromadrid y metromadridBack) aunque la mayor parte son propias de SQL Server y las únicas "interesantes" son metromadrid y metromadridBack, esta última tiene pinta de ser una copia de seguridad.
Una vez hecho esto es facil acceder a las tablas existentes en el servidor (mediante sysobjects) así como a la información de las mismas. También se podria pensar en utilizar xp_cmdshell para ejecutar comandos en el servidor pero parece que eso si esta bloqueado y el usuario de base de datos no se tiene permiso para ejecutar ese tipo de procedimientos.
Como podeis ver es una forma curiosa de acceder a la información pero igualmente válida que puede darle muchos dolores de cabeza a los administradores de la web si alguien mal intencionado modificase la información del servidor.
La vulnerabilidad se encontraba en la parte de la web encargada de mostrar los planos de las estaciones.
Al acceder al plano de una estación se abre una nueva ventana en cuya url hay una serie de parámetros (tipo, idParada e idioma)
En este caso el parámetro vulnerable era idParada que se concatena a la sentencia SQL sin ningún tipo de filtro por lo que al añadirle la típica comilla simple se producia un error de SQL que era mostrado en pantalla, lo cual tampoco debería ocurrir pero parece esta activado el modo debug.
En el mensaje de error se puede ver como esta construida la consulta SQL por lo que es facil modificarla para añadir la información que nos interese. También aparece la ruta completa del fichero que ha producido el error (full path disclosure) que como ya he comentado en alguna ocasión puede ser de gran utilidad con vistas a llegar a tener acceso al fichero.
Para modificar la consulta y añadir la información que deseada es posible utilizar UNION, por ejemplo http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select 1,1,'Nombre'&idioma=es es decir, añadir un registro con coordenadas 1,1 y con el texto Nombre como nombre de la supuesta estación. También se establece idParada a -1 para conseguir que la consulta solo devuelva un registro, el nuestro, con lo que se pretende que en el mapa solo se visualizase nuestra estación falsa.
Efectivamente, se consigue que se muestre una única estación en las coordenadas 1,1 pero no se muestra el texto "Nombre" tal y como se había pensado lo cual es un problema ya que pese a que existía inyección sql no se podía mostrar información en pantalla... ¿o si?
Una de las curiosidades de SQL es que cuando se produce un error de tipos SQL informa de que el valor "x" no se puede convertir al tipo "y", por ejemplo, si intentamos convertir el texto "Prueba" a un número SQL mostrará un error diciendo que "Prueba" no se puede convertir a int ¿como podemos aprovechar esto? La consulta original devuelve las coordenadas x e y de la estación indicada, estos valores son numéricos por lo que si intentamos mostrar un valor de tipo texto en cualquiera de estos campos se producirá un error de tipos y nos mostrará el texto que ha producido el error, por ejemplo, la URL http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select 'Forzar error',1,'Nombre'&idioma=es intenta asignar como coordenada x el valor "Forzar error" lo que produce el siguiente mensaje de error.
Aqui podemos ver que se muestra el texto "Forzar error" que es lo que hemos especificado en la consulta sql inyectada por lo que ya tenemos una forma de devolver información. Por ejemplo, si quisieramos saber que versión de SQL se esta utilizando podriamos utilizar la siguiente url http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select @@version,1,'Nombre'&idioma=es
Como era de suponer se trata de SQL Server 2005. Es curioso que SQL, en su afan de ayudar, muestra los mensajes de error de forma muy detallada pero, en este caso, toda esa información se puede volver en su contra y permite acceder a información que no deberia ser visualizada.
Para conocer las bases de datos existentes en el servidor podemos acceder a la tabla sysdatabases que se encuentra en la base de datos master de SQL Server. Para ello accederemos a la URL http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select NAME,1,'Nombre' from master..sysdatabases&idioma=es y nuevamente se muestra el mensaje de error de conversión de tipos donde podemos ver el nombre de una de las bases de datos existentes.
Aunque en este caso no nos sirve de mucho ya que la base de datos que se muestra es master que ya sabiamos que existía. El problema es que solo se muestra el primer registro que produce el error así que, o bien añadimos una clausula WHERE para evitar la base de datos con nombre master y volvemos a ejecutar la consulta o buscamos una forma alternativa de mostrar la información de varios registros en un único campo y como es de suponer, me inclino por esta última opción.
Vamos a aprovechar la potencia del lenguaje XML. SQL Server incluye la posibilidad de devolver la información de una consulta como XML en texto plano, es decir, devolver un único registro con un único campo de tipo texto que contendrá el XML resultante. Para indicarle a SQL que nos devuelva el resultado en XML solo hay que incluir FOR XML RAW al final de la sentencia SELECT.
En nuestro caso queremos que uno de nuestros campos que supuestamente debe devolver la coordenada de la estación devuelva un XML con la información de las bases de datos existentes así que la URL resultante seria: http://prs.metromadrid.es/metro/metronet/mapa.aspx?tipo=ESTACION&idParada=-1 union select (select NAME from master..sysdatabases FOR XML RAW),1,'Nombre'&idioma=es
Podemos ver como se devuelve el texto en formato XML y que se muestra el nombre de varias bases de datos (master, tempdb, model, msdb, metromadrid y metromadridBack) aunque la mayor parte son propias de SQL Server y las únicas "interesantes" son metromadrid y metromadridBack, esta última tiene pinta de ser una copia de seguridad.
Una vez hecho esto es facil acceder a las tablas existentes en el servidor (mediante sysobjects) así como a la información de las mismas. También se podria pensar en utilizar xp_cmdshell para ejecutar comandos en el servidor pero parece que eso si esta bloqueado y el usuario de base de datos no se tiene permiso para ejecutar ese tipo de procedimientos.
Como podeis ver es una forma curiosa de acceder a la información pero igualmente válida que puede darle muchos dolores de cabeza a los administradores de la web si alguien mal intencionado modificase la información del servidor.
Detección del problema: 04/09/2010
Comunicado a la empresa: 04/09/2010
Resolución: 18/10/2010
Etiquetas:
Seguridad
sábado, 16 de octubre de 2010
Best Buy Easy Home Combo REC |
|
Tras un par de semanas probando un i-Joy Jenas DVD+TDTR decidí devolverlo por los problemas que ya comenté y acto seguido compre un Best Buy Easy Home Combo REC que, además, era más económico, solo 39.95€ en Eroski.
Una de las primeras cosas que llama la atención es que en la caja no se indica si este modelo lee DivX/xVid, solo hay un pequeño logo con las siglas CVF (Compressed Video Files) lo que da que pensar que si es posible leer este tipo de archivos pero aún así quise confirmarlo y le pregunté a uno de los chicos que había por allí. Según él si leía DivX/xVid pero no lo ponía en la caja para no pagar derechos por el uso del logo de DivX. La respuesta la verdad es que no me dejó muy convencido pero igualmente me lo lleve a casa para probarlo y ver que, efectivamente, si lee DivX/xVid.
Características:
Se trata de dos equipos distintos, el TDT por un lado y el DVD por otro por lo que existen dos firmwares distintos siendo bastante peor el del DVD, por lo menos en lo que se trata de los menús ya que están algo menos cuidados que los del TDT, por ejemplo, cuando se introduce un disco con varios archivos, si no caben todos en pantalla no nos muestra la típica flecha de scroll indicando que hay más archivos de los que se ven pero es un mal menor porque de todos modos si se baja pulsando las flechas del mando si van apareciendo archivos.
Al tratarse de dos equipos diferentes y siendo el DVD el único que reproduce archivos de vídeo comprimido nos vemos obligados a cambiar a modo DVD para reproducir un archivo comprimido. La reproducción de archivos mpg desde el TDT está limitada al modo PVR por lo que los archivos mpg deben estar en la carpeta correspondiente del USB.
El EPG funciona de forma correcta y permite seleccionar los programas que deseamos grabar en el dispositivo USB. También nos facilita la creación de "eventos" de forma que podemos marcar uno o varios programas y cuando llegue su hora de emisión se cambiará automáticamente a ese canal de forma que no nos perderemos nuestras series favoritas por un despiste.
Otra opción interesante de la grabación es que permite grabar tanto en formato PS, es decir, MPG (compatible con cualquier ordenador y reproductor de DVD) como en formato TS (DRV) que tiene la característica de grabar todas las pistas de audio y los subtítulos de forma que una película que hayan emitido en dual y subtitulada, podríamos reproducirla y seleccionar tanto el audio como los subtítulos.
El mando a distancia tiene los botones bien distribuidos y agrupados según su funcionalidad, diferenciándose en forma y tamaño lo que facilita su uso.
Se puede utilizar incluso apuntando en sentido contrario al receptor lo cual es bastante cómodo y evita tener que estar buscando el ángulo correcto.
Más imágenes:
Modo TDT
Modo DVD
Una de las primeras cosas que llama la atención es que en la caja no se indica si este modelo lee DivX/xVid, solo hay un pequeño logo con las siglas CVF (Compressed Video Files) lo que da que pensar que si es posible leer este tipo de archivos pero aún así quise confirmarlo y le pregunté a uno de los chicos que había por allí. Según él si leía DivX/xVid pero no lo ponía en la caja para no pagar derechos por el uso del logo de DivX. La respuesta la verdad es que no me dejó muy convencido pero igualmente me lo lleve a casa para probarlo y ver que, efectivamente, si lee DivX/xVid.
Características:
- TDT / USB
- Sintonizador estandar (no HD)
- Menú multilenguaje (Español, Ingles, Frances, Italiano, Portugues y Aleman)
- Guía de programación electrónica (EPG)
- Teletexto
- Subtítulos (mediante el estandar TDT o por teletexto)
- Permite grabación directa, programada y en modo TimeShift en dispositivos USB (formatos MPG y DVR)
- Permite la programación desde el EPG y crear "eventos" para que cambie automáticamente de canal.
- Reproduce archivos MPG y DVR desde el usb.
- Dispositivos USB 2.0. en FAT32. Discos duros, llaves usb, etc.
- DVD / USB
- Menú multilenguaje (Español, Ingles e Italiano)
- Reproduce MPEG-1, MPEG-2, MPEG-4 (DivX, xVID), SVCD, VCD, MP3, JPEG, FOTO CD, DVD, CD-R, CD-RW, DVD±R y DVD±RW
- Multilenguaje en subtítulos y sonido
- Dispositivos USB 2.0. en FAT32. Discos duros, llaves usb, etc.
- Subtítulos en formato .srt con el mismo nombre que el archivo (acepta varios idiomas).
- Firmware
- Receptor: Easy Home Combo REC
- Hardware: MPEG-109
- Software: EasyHCR_M3101D_100803_001 (es decir, actualizado el 03/08/2010)
- Firma: MAY 22 2009 22:10:00
- Mando a distancia: GK-B001
Puntos débiles:
En el apartado de conexiones está bastante limitado ya que solo dispone de un euroconector y la correspondiente entrada y salida de antena.
También se echa en falta un display en el cual se pueda ver el canal seleccionado en el TDT o el número de pista que se esta reproduciendo en el DVD. Es curioso ya que el número de pista tampoco aparece en el menú en pantalla del DVD.
Se trata de dos equipos distintos, el TDT por un lado y el DVD por otro por lo que existen dos firmwares distintos siendo bastante peor el del DVD, por lo menos en lo que se trata de los menús ya que están algo menos cuidados que los del TDT, por ejemplo, cuando se introduce un disco con varios archivos, si no caben todos en pantalla no nos muestra la típica flecha de scroll indicando que hay más archivos de los que se ven pero es un mal menor porque de todos modos si se baja pulsando las flechas del mando si van apareciendo archivos.
Al tratarse de dos equipos diferentes y siendo el DVD el único que reproduce archivos de vídeo comprimido nos vemos obligados a cambiar a modo DVD para reproducir un archivo comprimido. La reproducción de archivos mpg desde el TDT está limitada al modo PVR por lo que los archivos mpg deben estar en la carpeta correspondiente del USB.
Puntos fuertes:
El firmware utilizado para el TDT está bastante depurado y da muchas facilidades a la hora de manejar el aparato, por ejemplo, la tediosa labor de ordenar los canales del TDT está bastante bien realizada ya que hasta se dispone de un buscador para no tener que ir desplazándose por los más de 50 canales existentes.
El EPG funciona de forma correcta y permite seleccionar los programas que deseamos grabar en el dispositivo USB. También nos facilita la creación de "eventos" de forma que podemos marcar uno o varios programas y cuando llegue su hora de emisión se cambiará automáticamente a ese canal de forma que no nos perderemos nuestras series favoritas por un despiste.
La función grabador permite grabar tanto en modo normal como en TimeShift, es decir, dando la posibilidad de pausar el programa actual y retrocederlo mientras se sigue grabando. Esto es últil por ejemplo si llega alguna visita mientras estamos viendo una película en el TDT ya que podremos pausarla, atender la visita y cuando se vayan continuar por donde nos habíamos quedado y lo mejor es que no tenemos que esperar a que termine la película para empezar a verla (como en el caso de una grabación normal) sino que podemos verla mientras se graba el final de la misma y podremos saltarnos los anuncios. Es decir, al final seria como si repartiésemos el tiempo que hemos estado con la visita con el tiempo de los anuncios de forma que seria como si hubiéramos atendido la visita mientras emitían los anuncios.
Otra opción interesante de la grabación es que permite grabar tanto en formato PS, es decir, MPG (compatible con cualquier ordenador y reproductor de DVD) como en formato TS (DRV) que tiene la característica de grabar todas las pistas de audio y los subtítulos de forma que una película que hayan emitido en dual y subtitulada, podríamos reproducirla y seleccionar tanto el audio como los subtítulos.El mando a distancia tiene los botones bien distribuidos y agrupados según su funcionalidad, diferenciándose en forma y tamaño lo que facilita su uso.
Se puede utilizar incluso apuntando en sentido contrario al receptor lo cual es bastante cómodo y evita tener que estar buscando el ángulo correcto.
Más imágenes:
Modo TDT
Modo DVD
Etiquetas:
Gadgets
Suscribirse a:
Entradas (Atom)
































