Cuando actualizar es importante

Ahora los jueves me toca escribir en Mecus ūüôā

Mi artículo de ayer (como siempre, comentarios en el sitio original):

Cuando actualizar es importante

Mucho se habla y se escucha en internet acerca de los peligros de la inyección de código. Sin ir más lejos, si estás leyendo esto, probablemente habrás oído hablar alguna vez de ella.

Muchos te gritan ¬°Actualiza a la √ļltima versi√≥n! ¬°Hay problemas de seguridad!

¬ŅTenemos razones para alarmarnos?

0wn3dbig

De un tiempo a esta parte, los problemas que existen, si bien no son graves, sí que son potencialmente peligrosos. Eso significa que, en determinadas manos, pueden ser utilizados de formas que nosotros no esperaríamos. Sólo tenemos que ver lo que algunos afirman que pueden hacer con zumo de naranja concentrado y gasolina, o lo que es capaz de hacer MacGyver con un clip.

En nuestro caso, un problema de seguridad no supone un problema en sí mismo, en el sentido de que nada de lo que hay en nuestro sistema dejará de funcionar o funcionará de forma incorrecta. Pero sí deja una puerta abierta en el sistema para que otros puedan aprovecharla. Es lo que se conoce como posibilidad de ejecución remota de código malicioso. Como decíamos, la posibilidad de que alguien ejecute código en tu página también es remota, pero si descubren que tienes esa vulnerabilidad, o están intentando ejecutar algo, no suelen ir con buenas intenciones. Por lo que, lo mejor, es intentar tener el sistema blindado y no permitir que alguien ejecute código desde tu sistema.

Pero escuchamos mucho y no siempre hemos visto qu√© es eso de una ejecuci√≥n remota de c√≥digo malicioso. Sencillo. Imaginaos por ejemplo que tenemos un blog en WordPress 2.8.1. Si en su p√°gina de b√ļsqueda intentamos buscar la cadena ‘<script src=http://ha.ckers.org/weird/stallowned.js></script>‘, ocurrir√° lo siguiente:

Sallown3d

Por supuesto, se podr√≠an ejecutar cosas no tan inocuas (aunque su da√Īo a la vista lo hace). La actualizaci√≥n de seguridad de WordPress 2.8.2 elimina ese error, y no permite la inyecci√≥n de c√≥digo.

(Muchas gracias a Pedro Laguna por las orientaciones, el script y sus consultorías desinteresadas).