Deshabilitar el pitido de error en bash

Este es un apunte rápido para no volverme loco buscando la forma de deshabilitar el beep (pitido) de error de una consola en modo texto (sin X) , con Bash ( corriendo bajo vmplayer en mi caso, pero eso no influye en la efectividad del truco)

$ setterm -blength 0

Anteriormente en DiarioLinux ya habíamos hablado de esto, pero el truco estaba orientado a consolas en modo X (abrir terminal desde un entorno gráfico). Recordemos que para esas ocasiones el comando sería:

$ xset -b

Espero que así los pitiditos dejen de aturdirme 😉

Cómo eliminar las protecciones de un PDF

Hoy he necesitado imprimir un documento PDF relacionado con el trabajo (interesante para mí y muchas otras personas). Era importante, porque el documento lo necesitaré tener consultable en papel en pocos días. Pero ¡oh sorpresa!, a pesar de ser un documento que mucha gente además de mí va a necesitar imprimir, éste está protegido ¡contra impresión! Pero vamos a ver… ¿por qué se empeñan en poner puertas al campo? Si quiero imprimirlo por muchas protecciones que pongan siempre podré sacar pantallazos e imprimir, ¿por qué nos ponen estas trabas?

pantallazonotallowed.png
allowed.png


En fin, eso me ha llevado a descubrir un servicio online para eliminar las protecciones de los PDF (en concreto, puede eliminar la protección anti-impresión y la protección anti-copy-paste). Funciona perfectamente, tal y como podéis apreciar en las imágenes. Supongo que no durará mucho online….

Reto de programación: apretones de manos

Hace poco he participado en una prueba más de TopCoder.com, un excelente sitio para mantener engrasados los conocimientos de estructuras de datos, algoritmos, análisis y diseño de sistemas y programación general. Una de las pruebas me dejó varado y no pude completar a tiempo el ejercicio. Posteriormente he leído bastante al respecto y profundizado en la serie de los números de Catalan, en la que se basa la solución al problema. Sin más, os dejo con el enunciado, a ver si conseguís solucionarlo 😉

Consideremos una reunión de n personas alrededor de una mesa circular. Antes de comenzar la reunión, se dan la mano unos a otros. Cada persona estrecha la mano de otra persona en un momento dado (y sólo de una). Los apretones de manos se dan todos a la vez (es decir, en un momento dado, cada persona está estrechando la mano de otra) Decimos que un apretón de manos es perfecto si no hay brazos que se crucen entre sí en el momento del apretón. Dado un entero n, devolver el número de apretones de manos perfectos posibles que existen para n personas sentadas a la mesa.

Ejemplo:

si n = 4 personas, los posibles apretones de mano son:

HandsShaking_4_correct/tmp/HandsShaking_4_correct_2.GIF/tmp/HandsShaking_4_wrong.GIF

Las primeras dos figuras muestran apretones de manos perfectos. La 3ª no es un apretón de manos perfecto. La solución para n=4 por tanto es 2. Para n=8 sería 14.

Ubuntu es el rey del escritorio Linux

2007-distributions-sm.jpg Basaburu nos envía un interesante enlace hacia un análisis de distros usadas por el usuario de escritorio publicado por DesktopLinux.com. Lo primero que indica el análisis es que en 2007 han respondido 38.500 personas frente a las 14.535 del año pasado, lo cual lo relacionan con 3 factores: un aumento en el número de usuarios de escritorio Linux, la publicación en portada de Digg de la noticia sobre la encuesta y también en Heise Online, una web sobre noticias tecnológicas alemana. El mercado del escritorio está liderado por Ubuntu con un 30% de usuarios, seguido de SuSE con un 21% y familia-Debian (Debian, Freespire, Linspire, Linux Mint, MEPIS, Xandros) con un 14%. Mi querida Fedora-RedHat-CentOS se queda en 4ª posición con sólo un 9% y finalmente Gentoo con un 7%. El resto del pastel se lo reparten entre otras distros sin especificar.

En el gestor de escritorio gana GNOME a KDE por 45% frente a 35%, seguidos de Xfce. En navegadores, goleada de Firefox (60%) seguido de lejos por Konqueror (14%) y Opera (12%). En clientes de correo gana Thunderbird (37%) a Evolution (32%). También se indica que un 10% de los usuarios que han respondido indican que se han pasado a clientes web (mi caso, por ejemplo, gracias a la potencia de Gmail y su integración con GCalendar).

A la hora de ejecutar aplicaciones Windows en Linux la gente opta por Wine (44%) frente a VMWare (27%). Salto importante de VirtualBox que se coloca tercero con un 8%.

DesktopLinux también aporta un enlace para ver los datos en crudo de los resultados de la encuesta.

Diario de un exploit contra Joomla/Mambo

joomla_snapshot3.pngNota: llevaba bastante tiempo sin actualizar DiarioLinux.com preparando mis clases y peleándome con un proyecto en el que estoy metido. Así que, entre ayer y hoy me he dedicado a escribir un extenso artículo sobre seguridad informática, exploits, SQL Injection y protección (incluyendo un parche para un exploit recién publicado). Espero que os guste.

No sé si el CMS Mambo sigue existiendo como tal tras el fork que dió origen a Joomla en el 2005. De hecho, si entramos en la web principal de Mambo y pulsamos en «Download Mambo» nos encontramos con este mensaje de error al ser redirigidos a http://mamboxchange.com/frs/?group_id=5:»MamboXchange Could Not Connect to Database:»

En cualquier caso, el exploit al que me voy a referir y que acaba de publicar Milw0rm podría funcionar tranquilamente en una instalación Joomla sin actualizar, dado que afecta al módulo SimpleFAQ 2.11 y este módulo funciona tanto en Mambo como en Joomla. Sólo hay que analizar cómo funciona para hacerlo compatible 🙁 Lógicamente este exploit no debería de tener demasiado impacto dado que SimpleFAQ va ya por la versión 2.40 según la web de sus desarrolladores (aunque la primera corrección SQL Injection que se nombra en el ChangeLog corresponde a esta última versión…) y cualquier administrador que se precie debería de tener actualizado su sistema. Lo que es interesante es el proceso que se sigue para poner en marcha el ataque y las connotaciones que ésto tiene. En concreto, el hecho de que el exploit contenga una sóla línea, que se introduce en la URL del servicio a explotar, puede hacerlo devastador:


http://localhost/mambo/index.php?option=com_simplefaq&task=answer&Itemid=9999&
catid=9999&aid=-1/**/union/**/select/**/0,username,password,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/**/from/**/mos_users/*

El vector de ataque es un SQL Injection típico en dicha versión 2.11 de ese módulo (podría ser que en alguna versión superior también). Cuando se ejecuta con éxito, el servidor nos devuelve una lista de logins y passwords en formato MD5. Un ataque de fuerza bruta o mejor aún, una consulta con suerte a las Rainbow Tables y el password se desvelará ante nuestros ojos.

¿Cómo nos hemos enterado del exploit?
Estoy suscrito a varios feeds RSS con exploits de publicación diaria (sigue leyendo…)

Sigue leyendo Diario de un exploit contra Joomla/Mambo