Hola Wecindario, hoy vamos a tratar un tema de seguridad del PrestaShop.

Debes saber que en algunos sitios web basados en PrestaShop han sido afectadas por este agujero, y de ser así debes solucionarlo siguiendo estos pasos. Si no estás afectado aún, te vamos a ayudar a que lo revises a fondo y a que lo actualices a la última versión que ha sacado ya PrestaShop (1.7.8.7).

En este caso, aquí tenemos el parche para corregir el fallo identificado, gracias al trabajo y colaboración del equipo maintainers de PrestaShop y su comunidad. Y para evitar que esto te pase sigue los pasos del parche.

Hay que tener en cuenta que el parche soluciona la vulnerabilidad identificada por PrestaShop, pero si se da el caso de que la tienda ya ha sido atacada por hackers.

El parche no te garantiza el restablecimiento de su seguridad. Así que recomendamos ponerse en contacto con un especialista (o con nuestro departamento de mantenimiento) para que realice una auditoría en sus tiendas, determine si han sido atacadas y realice la limpieza requerida si es necesario (bajo presupuesto).

Les recordamos la importancia de tener los sistemas actualizados para que las tiendas se mantengan a salvo de ataques. Y recuerdo que antes de actualizar, debes tener copia de la web y BD por si la actualización no sale bien.

Cómo funciona el ataque

El ataque requiere que la tienda sea vulnerable a la  inyección SQL. La última versión de PrestaShop y sus módulos están libres de estas vulnerabilidades 1.7.8.1.

¿Y cómo lo hacen? El atacante envía una solicitud POST al punto final vulnerable a la inyección SQL. Después de aproximadamente un segundo, el atacante envía una solicitud GET a la página principal, sin parámetros. Esto hace que se cree un archivo PHP llamado blm.php en la raíz del directorio de la tienda.

El atacante envía ahora una petición GET al nuevo archivo creado, blm.php, lo que le permite ejecutar instrucciones arbitrarias.

Después de que los atacantes consiguen el control de una tienda, inyectan un formulario de pago falso en la página de pago de la tienda.  Y después de esto, los clientes de la tienda podrían introducir la información de su tarjeta de crédito en el formulario falso y, sin saberlo, enviarla a los atacantes. Gravísimo, ¿verdad?

Qué hacer para mantener la seguridad de su tienda

En primer lugar, asegúrese de que su tienda y todos sus módulos están actualizados a su última versión. Esto debería evitar que su tienda esté expuesta a vulnerabilidades de inyección SQL conocidas y activamente explotadas. OJO siempre haz copia de la web y la BD antes de actualizarla, ¿sabes cómo se hace?

Otra cosa a saber es que los atacantes podrían estar utilizando las características de almacenamiento en caché de MySQL Smarty como parte del vector de ataque. Esta característica se utiliza raramente y está desactivada por defecto. Para ver si la tienes o no activada, accede a tu PrestaShop a Parámetros avanzados y posteriormente a Rendimiento y tipo de caché. Revisa que no tengas MySQL debes tenerlo como pongo en la imagen:

parche

Pero OJO, esto no es todo, puede ser activada remotamente por el atacante. Así que recomendamos desactivar físicamente esta función en el código de PrestaShop para romper la cadena de ataque. ¿cómo lo hacemos? Localice el archivo config/smarty.config.inc.php en su instalación de PrestaShop y elimine las líneas 43-46 (PrestaShop 1.7) o 40-43 (PrestaShop 1.6):

if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}

Cómo saber si ha sido afectado

Vamos a registro de Plesk, a buscar los logs.

- [14/Jul/2022:16:20:56 +0200] "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"
 
- [14/Jul/2022:16:20:57 +0200] "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"
 
- [14/Jul/2022:16:20:58 +0200] "POST /blm.php HTTP/1.1" 200 82696 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"

(Nota: la ruta del módulo vulnerable ha sido modificada por razones de seguridad)

Que no encuentres nada no quiere decir que  tu tienda no haya sido afectada por el ataque: la complejidad del exploit significa que hay varias formas de realizarlo, y los atacantes también podrían intentar ocultar sus huellas. Debe pensar en la posibilidad de contactar con un especialista para que realice una auditoría completa de su sitio y se asegure de que no se ha modificado ningún archivo ni se ha añadido ningún código malicioso.

Información adicional

PrestaShop 1.7.8.7 ha sido lanzado para reforzar el almacenamiento en caché MySQL Smarty contra los ataques de inyección de código.

Y aprovechamos la ocasión para insistir una vez más en la importancia de mantener su sistema actualizado para evitar este tipo de ataques. Esto significa actualizar regularmente tanto su software PrestaShop y sus módulos, como su entorno de servidor.

Accede a más contenido

En Hoswedaje, te ofrecemos más contenido sobre conectar tu cuenta de PrestaShop a Facebook. Y también aprovechamos para dejarte otro artículo relacionado acerca de cómo configurar los impuestos en el PrestaShop.

ip publica Aprende hoy mismo a conectar tu cuenta de PrestaShop a Facebook, pinchando en el siguiente enlace.

ip publica  Descubre cómo configurar los impuestos en el PrestaShop, leyendo este post.