Hola, les escribo porque hace una semana parece que me jaquearon la parte del checkout de un sitio.
Uso el plugin de mercadopago con la función que te lleva a la plataforma de mp para cobrar.
Lo que me está sucediendo es que me aparece en el checkout (aunque desactive todas las formas de cobrar) un formulario para que los usuarios ingreses sus datos de tarjeta de crédito.
Gracias Wanderlust, pero entre a la carpeta: /wp-content/themes/mitema/woocommerce
y borre todos los archivos desde el ftp y posteriormente subí todos archivos nuevos y me sigue apareciendo esa falsa solicitud de datos.
<?php
/**
* Checkout Form
*
* This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-checkout.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 3.5.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
do_action( 'woocommerce_before_checkout_form', $checkout );
// If checkout registration is disabled and not logged in, the user cannot checkout.
if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_required() && ! is_user_logged_in() ) {
echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ) );
return;
}
?>
<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>" enctype="multipart/form-data">
<?php if ( $checkout->get_checkout_fields() ) : ?>
<?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>
<div class="col2-set" id="customer_details">
<div class="col-1">
<?php do_action( 'woocommerce_checkout_billing' ); ?>
</div>
<div class="col-2">
<?php do_action( 'woocommerce_checkout_shipping' ); ?>
</div>
</div>
<?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
<?php endif; ?>
<?php do_action( 'woocommerce_checkout_before_order_review_heading' ); ?>
<h3 id="order_review_heading"><?php esc_html_e( 'Your order', 'woocommerce' ); ?></h3>
<?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
<div id="order_review" class="woocommerce-checkout-review-order">
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
</div>
<?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
</form>
<?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
Mientras resolves, podrias esconder todos esos campos con CSS (suponiendo que vas a continuar con la tienda online). De esa forma ningun cliente ve esos campos y no los completa.
Busca en el codigo de Woocommerce esta linea: “<?php echo esc_url( wc_get_checkout_url() ); ?>” y fijate a donde te lleva. Te tiene que aparecer una URL en algun momento. Si la ubicas, cambia la URL. Ahi es donde estan enviando los datos.
De igual forma, hay que depurar todo el sitio. Yo me fijaria tambien, si estas en un hosting compartido, los otros sitios (pueden estar infectados con lo mismo e infectar nuevamente el tuyo)
No se donde tenes hosteado el sitio pero seria bueno que lo hables con ellos porque si es como te dijeron arriba y es hosting compartido te puede volver a pasar, hasta puede ser alguien de los que estas compartiendo el server. Por las dudas asi te quedas tranquilo.
Hola Chris, alegra escuchar que has levantado backup.
Sugiero que prestes atención en la seguridad en general de la aplicación, ya que puede ser una opción que el backup tenga algún virus no activo (pronto active), o bien que el nivel de seguridad del sitio permita que se repita la vulneración del mismo (espero que no)
Sugiero que del lado del servidor host: escaneen todos los archivos y solicitá confirmar que no acepten tls 1.0 y 1.1. . Mientras que de tu lado escanea la aplicación nuevamente + configures un firewall, instalá recaptcha google v3, actualiza wp, woo, themes, plugis, oculta el acceso al wp-login y si podes…y además tomá todas las medidas que fortalezcan la seguridad de la aplicación.
Hola como estas, según tu experiencia cuál es la mejor manera para ocultar el login. Vi opciones desde cambiar URLs a instalar plugins pero quiero saber por experiencia de otros que te parecio mejor? Gracias
Por mis conocimientos no tiene porque entrar por tu login. Lo más probable es que entre por un login de una web con una contraseña poca segura porque su propietario no tiene nada que proteger. De ahí se pasa por las carpetas del server buscando los plugin de Woocommerce para introducir la etiqueta que oculta los modos de pago originales y mostrar el de él.
Así que él hacker ni siquiera sabe cuál es tu dominio ni a cuáles dominios ha afectado.
Mientras resuelven el problema., porque el principal problema lo tiene el propietario del hosting, al que tienes que informarle tal cual te lo escribo. Tú, si quieres seguir mostrando tu página quita todos los permisos al archivo nuevo y sano antes hackeado que es form-checkout.php. Así no podrá reescribirlo y tú podrás seguir mostrando la página. Inconvenientes son que nadie podrá pagar y Woocommerce no podrá actualizarse., pero no robaran los datos de las tarjetas de tus clientes.
Podríamos estar horas hablando de la seguridad en WP, hay miles de factores a tener en cuenta. Desde proveedor (hosting o vps), plugins, versiones de wp, buenas practicas, etc.
No se está hablando de seguridad general en WordPress. Se está hablando de una vulnerabilidad concreta con dos modos operándis definidos en Woocommerce.
Aportar unos enlaces de seguridad general de WordPress., aporta lo mismo que invitar a un polo de limón.