Apple impide mencionar Android con amenazas
Por Carballude - apple - 8 Febrero 2010
Los productos de Apple, por norma general, me encantan. Me parece que siempre miman mucho hasta el último detalle y la experiencia de usuario es magnífica. Lo que no me gusta tanto de la empresa es su política de restringir las libertades del usuario hasta límites absurdos.
Hace tiempo ya os hablé de cómo Apple nos hace pagar para desarrollar aplicaciones para nuestro propio dispositivo y luego nos obliga a venderlas en su tienda. Ahora me he enterado de que la cosa no acaba ahí. Si decides seguirles el juego y poner tu aplicación en su tienda, también te dirán que puedes y que no puedes decir.
A los chicos de Flash of Genius les han pedido (muy al estilo mafia) que por favor eliminen las referencias irrelevantes a otras plataformas para que la disponibilidad de la aplicación no se vea interrumpida. Es decir, o lo ponen como a ellos les gusta, o dejan de vender la aplicación.
¿Qué es para Apple una referencia irrelevante a una plataforma? Pues que el autor en cuestión incluyo: “Finalista en el Concurso de desarrolladores de Google Android”. Habrase visto semejante desfachatez, decir que tu aplicación ha quedado finalista en un concurso patrocinado por la competencia, quemarle era poco :P
Me resulta preocupante lo habitual que nos resultan ya estas prácticas. Al menos yo no entiendo esto por mercado libre.
HTTP Referer, útil e inseguro
Por Carballude - c#, programación, seguridad, web - 7 Febrero 2010
Una de las cosas que valoro mucho es el ingenio. Usar cosas para realizar una tarea distinta de la que ha sido pensada siempre ha sido uno de mis pasatiempos favoritos. Ahora bien, hay que distinguir entre un “apaño”, una “curiosidad” y un “uso adecuado”. ¿A dónde quiero ir a parar? A que la gente debería leerse la documentación antes de hacer machadas :P
El protocolo HTTP tiene la característica de decirle a la web que estás visitando cuál es la última que has visitado, llamada HTTP Referer. Vamos, que las páginas saben de dónde vienes. Esto es una característica que a veces resulta útil, por ejemplo para evitar el “hot linking”. Es algo así como preguntarle al navegador “Oye, ¿de dónde vienes?”, tal cual. El navegador puede decirte la verdad, no responderte o mentirte, aunque como os podéis imaginar, la inmensa mayoría de los navegadores están configurados por defecto para responder con la verdad.
El problema viene cuando la gente usa esta característica para realizar sistemas de seguridad. Imaginemos el siguiente escenario:
La empresa PagoPoco tiene una zona pública con información de contacto, productos y servicios, etc… y una zona privada, digamos por ejemplo que todo el directorio “/private” con las páginas para descargarse los productos. Para acceder a esa zona privada, tienes que hacer login en una página que está en la zona pública (si estuviese en la privada sólo podrías acceder si ya estuvieses autenticado, y claro, tiene poca gracia autenticarse estando autenticado). Si el nombre de usuario y contraseña es válido, te lleva a “/login_success.php” si no, te devuelve a la página principal de la zona pública.
Un sistema que use HTTP Referer para implementar ese sistema podría tener una norma tal que así:
Si la última página visitada es de la forma “/private/*” o “login_success.php”, déjale pasar.
¿Tiene sentido no? El problema es que, como he dicho antes, el navegador puede mentir y decir que viene de “/prívate/meLoInventoPorqueMolo.php” o de “login_success.php” o de lo que le dé la gana… y claro, todo el sistema se vuelve una mierda :P
Os dejo un pequeñísimo programa con su código fuente (C#) que permite visitar la web que queráis y decir que venís de la web que queráis. Podéis probarlo http://www.stardrifter.org/cgi-bin/ref.cgi , en un navegador normal os dirá que venís de esta web, o si lo ponéis en una nueva ventana, que no venís de ningún sitio. Si usáis el programa que dejo, podéis especificar de dónde venís.
Cómo descubrir la URL para descargar canciones de GoEar
Por Carballude - howto, multimedia - 6 Febrero 2010
Estos últimos días la gente de GoEar ha estado cambiando las rutas de los ficheros xml que contienen las rutas a los mp3, con lo que todos los scripts han dejado de funcionar y hemos tenido que ir cambiándolos día sí y día también. Como parece que no tienen planes de decidirse por una, aquí dejo una explicación de cómo encontrarla.
La técnica consiste en interceptar todo el tráfico entre nuestro ordenador y GoEar para examinarlo y ver de dónde saca el programa la ruta. ¿Cómo podemos hacer eso? Una de las herramientas que más me gusta para esto es “Wireshark”, de código libre y gratuita :)
Una vez instalada, arrancamos la aplicación y seleccionamos “Capture options”:
En esta ventana seleccionamos la interfaz que queremos capturar. Una interfaz de red es, por ejemplo, una tarjeta Ethernet. En mi caso, en este portátil tengo una tarjeta Ethernet (que no uso) y una Wireless (que es por la que me conecto a Internet) así que selecciono la Wireless. En ciertas ocasiones los nombres no son muy descriptivos (en mi caso las dos se llaman “Microsoft”) así que si dudas fíjate en la IP que pone debajo.
Uno de los problemas de capturar todo el tráfico es que nos daremos cuenta de la cantidad de información que generamos. Nuestra pantalla se llenará de miles de paquetes enviados que no nos interesan (conversaciones de chat, programas de actualización, otras webs, etc…). Para acotar esto un poco, le diremos que sólo nos interesa el tráfico HTTP, ya que sabemos que GoEar es una web ;)![]()
![]()
Ahora le damos a “Start” y en nuestro navegador nos vamos a la página de una canción de GoEar, por ejemplo http://www.goear.com/listen/2e0606d/pies-de-barro-avalanch
Nada más que empiece a sonar volvemos a Wireshark y paramos la captura:
Con esto tendremos la información que necesitamos, ahora tenemos que encontrarla :P Puede parecer difícil, pero sabemos dos cosas importantes. La primera es que estamos buscando un paquete de GoEar (vale, no ayuda mucho, pero algo es algo) y la segunda es que el archivo xml que queremos lo llama un programa flash (el reproductor de GoEar está en flash). ¿Qué os parece si le decimos a Wireshark que nos muestre sólo los paquetes de GoEar que hayan sido pedidos por un programa flash? Para hacerlo, en filter escribiremos:
http.referer contains "swf" && http.host contains "www.goear.com"
http.referer es una cabecera HTTP que indica qué página reliza la petición y busco las que sean “swf” porque esa es la extensión de los ficheros flash. Recordad que nos interesan las peticiones del reproductor de GoEar, que está hecho en flash.
Sólo aparecen dos, uno es un gif (no nos interesa) y el otro una dirección url misteriosa que recibe como parámetro el ID de la canción. Si la cargamos en el navegador veremos que es el xml que contiene la ruta al mp3 :)
Quizá esta no sea la forma más sencilla de descubrir la cadena, pero me parece que es de las más fiables y en cuanto tengáis un poco de práctica con el programa, no lleva ni 2 minutos todo el proceso.
Facebook en Pirata
Por Carballude - geek, sociedad - 5 Febrero 2010
Acabo de darme cuenta por casualidad. Uno de los idiomas soportados por Facebook es “Inglés pirata”, eso sí, en fase beta.
Si tenéis 5 minutos y queréis reíros un poco, probadlo :D Podéis cambiar el idioma en la parte inferior de la página de facebook. También podéis echarle un ojo a “Inglés al reves”… pero después del pirata no tiene tanta gracia :D
¿Soporte USB en VirtualBox? Sí, pero sólo si sabes que existe
Por Carballude - linux - 5 Febrero 2010
Quién pruebe versiones beta de productos como Visual Studio o haga experimentos con redes, seguro que ha usado varias veces máquinas virtuales. Son muy cómodas y permiten hacer múltiples pruebas sin riesgo a cargarte nada y con la opción de devolverlo todo al estado inicial con un par de clicks.
Hacía ya algún tiempo que no usaba máquinas virtuales sobre Linux, y ahora que lo necesitaba opté por VirtualBox. Tras pasarme 20 minutos buscando la puñetera opción para controlar USBs, encuentro en su página web que ciertas partes de su código son cerradas… el manejo de los USBs una de ellas. La buena noticia es que, aunque esas partes sean propietarias, son gratuitas para uso personal.
El problema es que yo no conocía la existencia de esas dos versiones, una de código abierto y otra con partes propietarias y cuando fui a instalarla desde el instalador de Ubuntu, en ningún momento me informó de que existiera otra versión. ¿Tanto costaba poner una nota? A parte, ¿por qué no ofrecen ambas? Porque por la licencia no creo que sea, Adobe Flash lo ofrecen y no es precisamente código abierto.
No sé, me parece que esta política de “como-no-es-abierto-no-hablo-de-ello” es bastante confusa de cara al usuario.
Windows Live Writer en Linux ( Ubuntu )
Por Carballude - linux, windows - 3 Febrero 2010
Este blog ha pasado por varias direcciones hasta que me hice con este dominio y una de las cosas que odio son los enlaces que llevan a ninguna parte y páginas 404, así que sigo manteniéndolos todos, obviamente con el mismo contenido :P
Hacerlo a mano sería un coñazo de cuidado, así que desde hace más de dos años uso Windows Live Writer. El caso es que ahora estoy usando y Linux como sistema principal y podéis imaginaros que Microsoft no hace una versión para Linux :P
Hay muchos programas para blogear desde Linux, pero todos tienen alguna pega importante. Principalmente que no me dejan manejar varios blogs, o no soportan las plataformas que uso (blogger, wordpress y live spaces). Así que me he decidido por seguir usando Live Writer… sobre VirtualBox corriendo Windows XP SP3 en mi Ubuntu :)
Lo uso en seamless mode y la verdad es que funciona muy bien y rápido. Os dejo una captura por si nunca habéis visto el modo seamless:
Hacer funcionar una webcam con Skype en Ubuntu 64 bits
Por Carballude - linux, multimedia - 2 Febrero 2010
Tengo una cámara web (webcam para quién lo prefiera) Microsoft VX-1000 de la que no me quejo. No es que sea una joya, pero por lo que me costó no le voy a pedir más :D
El caso es que ahora estoy usando Ubuntu 10.4 (sí, sí, la inestable… da igual, con 9.10 pasa lo mismo) y, supuestamente, la cámara está soportada mediante el driver gspca. El problema viene cuando intento usar programas como Skype. Sí que me muestran la cámara “USB camera (/dev/video)” pero en cuanto intentas probar si funciona, el led se enciende, se apaga y… nada más.
No tengo mucha idea de por qué hace eso, pero he encontrado la solución (lo siento, he perdido el enlace donde lo leí). Simplemente hay que ejecutar skype de esta forma: “LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so skype”
Obviamente es un coñazo escribir eso, así que mi solución es la siguiente:
- Abre una terminal
- Escribe: echo ‘#!/bin/bash’ > skype.sh && echo “LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so skype” >> skype.sh && chmod +x skype.sh
Ahora si haces doble click sobre ese fichero (que estará en tu carpeta de usuario) Skype se abrirá y tu cámara web funcionará :) Si quieres que skype se abra cada vez que inicias el equipo:
- Vete a Sistema -> Preferencias -> Startup Applications (no recuerdo la traducción)
Y ahí le das a Añadir y luego le pones un nombre (Skype supongo…) y buscas el fichero que skype.sh que estará, si no has tocado nada más, en tu carpeta de usuario.
Ahora, cuando arranques el equipo Skype se iniciará automágicamente y la cámara funcionará sin problemas :D
Conectar la Wii a un monitor VGA
Por Carballude - wii - 1 Febrero 2010
Hace algunos días os contaba que me habían regalado una Wii. El caso es que aquí en UK no tengo televisión en mi habitación, sólo un monitor y, por razones que no comprendo, la Wii no viene con cable para VGA, DVI ni nada parecido.
Así que me he comprado este cable que permite conectar una Wii o una PS3 a un monitor VGA y el sonido a unos altavoces, cascos o a una cadena de música:
En mi caso he conectado el “Conector a Wii” a la Wii, el “Conector a monitor (VGA)” a mi monitor, mis altavoces 2.1 al “Conector para cascos o altavoces” y los demás conectores libres. La Wii no ha tenido problemas y todo funciona como debería. Eso sí, cada cierto tiempo la pantalla se vuelve negra durante 2 segundos… no tengo ni idea de a qué se debe… no siempre es con la misma frecuencia, pero siempre con la misma duración, unos 2 segundos. ¿Alguien tiene el mismo problema?
Por si os interesa, el cable está disponible en Amazon: http://www.amazon.co.uk/exec/obidos/ASIN/B0015MISAG/ref=ox_ya_oh_product cuesta unos 25€
Estudio sobre contraseñas
Por Carballude - seguridad - 31 Enero 2010
Los que nos dedicamos, de una u otra manera, al sector de la tecnología tenemos bastante claro que el nivel de la inmensa mayoría de los usuarios es bajo o muy bajo. Hay muchas explicaciones y muchos culpables, pero una cosa es innegable: la gente es tozuda y vaga de narices.
Por más que digamos que las contraseñas deben ser únicas, alfanuméricas, intercalar mayúsculas y contener algún carácter especial, los usuarios siguen haciendo lo que les da la gana.
Acabo de leerme el “Consumer Password Worst Practices” realizado por Imperva y no puedo decir que me sorprenda, pero sí que desanima bastante. Han analizado 32 millones de contraseñas que fueron sustraídas en diciembre gracias a una brecha de seguridad. En otras palabras, han analizado contraseñas reales y no basadas en encuestas (que suele ser lo habitual). Os resumo lo que han encontrado:
El 26% tenía una contraseña de 6 caracteres. Sólo el 27% tenía una de más de 8 caracteres.
El 41% tenía una contraseña sólo con minúsculas. Sólo el 3% contenía caracteres especiales.
El Top 20 de contraseñas más frecuentes:
Puedes tener el sistema más seguro del mundo, pero si tus usuarios tienen 123456 como contraseña, de poco sirve :(
Personalizar PowerShell
Por Carballude - howto, powershell, windows - 30 Enero 2010
Hace poco escribí cómo personalizar la línea de mandatos de Windows CMD. Lo cierto es que CMD ya tiene un reemplazo, PowerShell (para el que escribí hace unos días un script para bajar canciones de GoEar).
Si queréis personalizar PowerShell, la forma más cómoda es crear un profile. Debe estar en <mis documentos>\WindowsPowerShell\ y debe llamarse profile.ps1
Lo primero es la función prompt. Podéis hacer cualquier cosa que se os ocurra… es una función normal :) En mi caso lo primero que hago es detectar si tiene privilegios de administrador o no. En casi de que así sea escribo una advertencia en rojo y guardo una variable $sir ¿por qué?
Porque luego lo que escribo es el usuario @ computadora, así que si tiene privilegios le añado “Sir” delante del usuario :D Luego simplemente la hora y el directorio actual.
Después de la función he reescrito los colores y el título de la ventana. El “clear” es para forzar el refresco de la pantalla y que se apliquen los colores de fondo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function prompt { Write-Host "" if ((new-object Security.Principal.WindowsPrincipal ([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Host ELEVATED PRIVILEGES - BE CAREFUL!! -foregroundcolor Red $sir = "Sir " } Write-Host $sir$env:username@$env:computername -foregroundcolor Green $date = Get-Date Write-Host ("[$date] " + $(get-location) +">") -nonewline -foregroundcolor Green return " " } $host.ui.rawui.WindowTitle = $env:username $a = (Get-Host).UI.RawUI $a.BackgroundColor = "Black" $a.ForegroundColor = "Green" clear |
Esto es sólo un ejemplo, podéis tunearla tanto como queráis ;)




Últimos comentarios