Cualquier versión, tanto 1.6 como 1.7, excepto de la 1.7.8.2 en adelante, puede ser vulnerable al problema de seguridad en prestashop por inyección de código SQL. Te explico cómo solucionarlo sin tener que actualizar tu tienda
Contenido
Problema de seguridad en Prestashop resuelto
El pasado mes de julio, Prestashop alertó a toda su comunidad de un agujero de seguridad que habían detectado ellos mismos. A través de esta vulnerabilidad, se podía ejecutar código arbitrario en los servidores en los que está corriendo Prestashop. El problema es que puede ser una manera de robar información de pago de los clientes.
Esto afectaría a todas las versiones de prestashop desde la 1.6.0.10 hasta la 1.7.8.2. Esta última versión no sería vulnerable a no ser que tuviera instalado algún módulo que tenga una vulnerabilidad similar, por ejemplo, las versiones 2.0.0 y 2.0.1 del módulo de whislist. Si lo tienes instalado, actualízalo al momento.
¿Cómo sé si mi tienda está infectada?
Busca un fichero llamado blm.php en la carpeta raíz de tu web. ¿Qué hace este fichero? A través de él, los atacantes generan un formulario de pago falso que imita el real, de manera que los clientes realizan el pago a través de él y no del auténtico, con lo que facilitan sus datos de pago sin saberlo.
Además, ve al archivo de los de tu servidor y busca una actividad como esta:
- "POST /modules/XXX/XXX.php HTTP/1.1" 200 82772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14"
- "GET / HTTP/1.1" 200 63011 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"
- "POST /blm.php HTTP/1.1" 200 82696 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
Cómo resolver el problema de seguridad
- Antes de nada, ten actualizados todos tus módulos.
- Actualiza tu tienda. La 1.7.8.7 y posteriores se han fijado especialmente contra ataques por inyección de código SQL como éste.
- Si no puedes o no quieres actualizar tu tienda en este momento, haz estas modificaciones:
-
- Accede a los archivos de tu servidor, bien desde el administrador de archivos del mismo o bien desde un programa de ftp tipo FileZilla.
- Localiza el fichero /config/smarty.config.inc.php
- Edítalo y borra las líneas 43-46 (PrestaShop 1.7) o 40-43 (PrestaShop 1.6). Son éstas:
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}
Sobre todo, ten siempre tu tienda actualizada
Sea la versión que sea, mantén tu prestashop actualizado y todos y cada uno de los módulos. Y, muy importante, configura tu servidor para que almacene copias de seguridad de manera regular de tu web. Así, si no consigues resolver el problema que sea que tengas, puedes restaurar una copia de seguridad anterior limpia y que te garantice que el problema no se ha propagado.
Espero que te haya servidor. Mucha suerte y mucho e-commerce! 🙂