Monday, January 04, 2010

Cuando la estupidez muestra su efectividad: La web de la presidencia

Voy a intentar aclarar un par de cositas sobre el sitio de la presidencia europea, y que conste que no tengo ninguna información privilegiada.

Ayer mirando las noticias salió que le habían dado a Telefónica 12M de euros por llevar una página web. Bien, sencillamente no es cierto.
Telefónica ha ganado un concurso, no voy a entrar ahí, cuya adjudicación se puede ver en plataforma de contratación del estado.
Si entras ahí ves que, de entrada no son 12M, sino 9,5M. Los impuestos siempre están ahí tocando las narices.
Pero lo entretenido es mirar el título del pliego:
Servicio de asistencia técnica de la instalación y funcionamiento de los medios de telecomunicaciones, sistemas informáticos, servicios de videostreaming y alojamiento, gestión y seguridad de la página web para la Presidencia Española de la UE

Ahí es nada. Por lo que śe, hay preparadas unas treintena de reuniones en un montón de sitios. Habrá que cablear los sitios, preparar los equipos, atender incidencias, transmitir las reuniones, llevar los sistemas que hagan falta, etc.. y, por último, llevar la web de la presidencia. Quizás la factura esté un poco hinchada, pero desde luego no me parece tan desorbitada.

Resulta que en esto va un espabilado y ve que el sitio de la presidencia permite hacer XSS. Bien, es un opencms, no lo ocultan, y opencms lo permite.

Explicación XSS
Para quien no lo sepa Cross Site Scripting consiste en lo siguiente: tú envías un contenido al servidor, este lo publica y tu contenido llega al navegador de todo el que ve esa página. Es como funcionan los foros o la wikipedia. La gracia está en que en ese contenido metes código javascript o una etiqueta HTML que hace una petición a otro servidor. En este caso, ese código se ejecutará en el navegador de los visitantes o el navegador interpretará la etiqueta y hará las peticiones necesarias para mostrarla. Si el código introducido es un etiqueta img de HTML, entonces hará la petición necesaria para obtener la imagen.

El espabilado en cuestión publicó una noticia en meneame con el enlace al sitio de la presidencia europea, pero modificado:

http://www.eu2010.es/en/resultadoBusqueda.html?query=%20script%3EDOCUMENT.write%20img+src%20http%3A//blog.tmcnet.com/blog/tom-keating/images/mr-bean.jpg%20+/%3E%20%3C/script%3E&index=buscadorGeneral_en#057030824981827544172

¿Qué hace este enlace? Pues realiza directamente una petición de búsqueda cuyo contenido de búsqueda es un código en javascript que escribe una etiqueta img de HTML cuyo src es http://blog.tmcnet.com/blog/tom-keating/images/mr-bean.jpg.
Como casi todas las páginas de búsqueda, además de los resultados, te muestra lo que has buscado, así que incluye ese javascript en el resultado de la búsqueda. En ese momento EL NAVEGADOR del usuario ejecuta ese javascript, lo convierte en una etiqueta img de HTML y hace la petición que pone en el src del img. Entonces, muestra todo. Y todo es la imagen que EL USUARIO había metido en la búsqueda en la zona de resultados.

¿Entonces que se ha comprometido del sitio web? NADA.
El XSS es un medio para realizar ataques, no es un ataque en sí mismo. Si la página permitiese colgar comentarios, como un foro, hay peligro de que un atacante metiese código en el mensaje, pero como el contenido sólo lo meten los administradores ese peligro no existe.

Alguien de El Mundo pulsó el enlace de meneame, y al ver el resultado de SU NAVEGADOR debió ir corriendo a su jefe a decirle que habían «jaqueado» la web. No hay otra forma de que puedan haber obtenido la captura que han publicado.

Y entonces, la gran pregunta:
Y si no lo han atacado ¿Por qué lleva caído toda la tarde?
Muy sencillo, la noticia se ha corrido y mucha gente estaba pulsando el enlace modificado. Nadie iba a aceptar la explicación que yo acabo de dar y además estaban haciendo daño a la imagen del presidente y de la presidencia europea. ¿Qué podían hacer ellos? NADA, ellos no estaban haciendo nada ni había nada mal, en principio.
Bueno, podrían retocar la página de búsqueda para que escapase las etiquetas y hacer que fuese «invulnerable» al XSS, pero ¿y mientras tanto? TIRARLO
Si el servidor está caído no se ve nada.
El daño político por un «fallo técnico» o un «informático incompetente» es muy bajo, casi despreciable. El que se rían del presidente a nivel europeo es muy alto.
Probablemente entre mediados de mañana y pasado vuelvan a levantarlo.

La noticia ha estado en barrapunto y meneame. Se supone que son sitios con un marcado perfil técnico y apenas unos pocos han dado una explicación correcta. En los sitios que no saben nada de como funciona la red por supuesto que todo ha colado.
Si ni siquiera en esos pequeños nichos se dan cuentas de estas cosas ¿qué podemos esperar?

1 Comments:

Blogger Roberto Muñoz said...

Yo croe que 9,5 millones de euros dan bastante más que de sobra para lo que se quiere hacer. Si eso nos lo dan a nosotros se lo montamos mejor seguro, y el resto pa'pipas ;-)

6:59 AM  

Post a Comment

<< Home