Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Database Users Seo Spam

Opciones sospechosas en wp_options: cómo revisarlas sin romper la web

Analiza filas sospechosas por propietario, tamaño, autoload, contenido y referencias antes de aplicar cambios reversibles.

wp_options guarda ajustes del núcleo, configuración de plugins, transients, cron, widgets y a veces scripts inyectados. Un nombre aleatorio o un valor codificado puede ser malware, caché o una clave legítima del proveedor.

No borres filas solo porque un escáner las marque como sospechosas.

Trabaja sobre una copia protegida

Crea una copia coherente y restáurala en un entorno aislado. Registra el prefijo real de la tabla, que puede no ser wp_.

Restringe los volcados porque las opciones pueden contener credenciales SMTP o API, datos personales y valores relacionados con sesiones.

Utiliza consultas de solo lectura para descubrir. No muestres valores completos en terminales o informes compartidos.

Prioriza los objetivos de investigación

Revisa opciones modificadas recientemente cuando existan logs, valores grandes con autoload, dominios maliciosos exactos y nombres sin propietario conocido.

Una consulta de tamaño puede señalar filas atípicas:

SELECT option_name, autoload, LENGTH(option_value) AS bytes
FROM wp_options
ORDER BY LENGTH(option_value) DESC
LIMIT 50;

Ajusta el prefijo y úsala solo sobre datos autorizados. El tamaño sirve para priorizar, no demuestra malware.

Atribuye la opción al código

Busca el nombre exacto en código verificado de plugins, temas y desarrollos propios y en llamadas a get_option, update_option o delete_option. Comprueba si el componente propietario está activo y mantenido.

Los transients y ajustes generados pueden recrearse automáticamente. Una opción de un plugin retirado puede ser residuo inocuo; un callback comprometido puede restaurar un payload borrado.

Documenta el tipo de valor esperado y su ciclo de actualización.

Inspecciona valores serializados con seguridad

Los datos serializados por PHP incluyen longitudes de cadena. Editar el texto directamente puede corromper toda la opción. JSON y datos de constructores también necesitan herramientas que respeten su estructura.

Usa las API de WordPress o la interfaz del plugin en staging. Decodifica para inspeccionar sin evaluar PHP o JavaScript incrustado.

No pases un valor sospechoso a unserialize permitiendo instanciar objetos en un entorno inseguro; utiliza análisis limitado y compatible con WordPress.

Distingue payload y cargador

Una opción puede contener JavaScript malicioso, un dominio remoto o PHP codificado, mientras un plugin, tema o snippet decide cuándo renderizarlo o escribirlo.

Rastrea dónde se consume el valor. Limpia tanto la opción como el cargador comprometido o el endpoint de ajustes vulnerable.

Comprueba cron y administradores desconocidos capaces de reescribirlo.

Trata la opción de cron como caso especial

WordPress guarda su matriz básica de eventos programados en una opción. Está serializada, indexada por marcas de tiempo y es normal que parezca compleja. Editarla directamente puede borrar publicaciones, actualizaciones, copias o callbacks de WooCommerce.

Inspecciona eventos con WP-CLI o una interfaz de cron fiable, atribuye cada hook al código y desprograma solo el confirmado. Elimina primero el callback que lo registra para que no se regenere en la siguiente petición.

Haz un cambio específico y reversible

Exporta la fila exacta y crea otra copia reciente. Usa la función de limpieza o reset del plugin cuando sea fiable, o actualiza o elimina únicamente la opción nombrada mediante código WordPress revisado.

Cambia un elemento confirmado cada vez y registra el comportamiento esperado. Evita borrados con comodines por prefijo.

Vacía la caché de objetos o página relacionada mediante controles admitidos.

Verifica funcionamiento y no recurrencia

Prueba páginas públicas, administración, formularios, tareas programadas y ajustes WooCommerce relacionados con el propietario. Busca el indicador malicioso en la base y el HTML renderizado.

Monitoriza la opción durante cron normal, guardados de ajustes y el periodo anterior de recurrencia.

Compara tamaño de autoload y errores PHP antes y después para demostrar que la limpieza no creó una regresión de rendimiento o configuración.

Cuándo se necesita experiencia en bases

Solicita ayuda si las opciones están serializadas, contienen secretos o vuelven tras borrarlas. Comparte nombres, tamaños y hashes con los valores censurados.

El resultado seguro preserva la configuración legítima, elimina payloads confirmados y repara el código o acceso que los almacenó.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia