forumAbrir tema

Le han añadido líneas desconocidas al HTML y PHP del sitio, necesito encontrarlas rápido

MMelis Ö***Experto
Cargo
Responsable de redes sociales
Sector
Comercio electrónico
Tipo de organización
Empresa de 120 empleados
Miembro desde
feb 2022
Mensaje
14

Doki · Configuración de gestión de logs · 2025

#1

El cliente dijo que la web iba lenta, así que empecé a revisar. Clic derecho en el navegador, inspeccionar elemento... hay un JS raro al final de la página. Lo borro, recargo, y vuelve a salir. Voy al archivo directamente, lo abro por FTP... no está ahí. O sea, se inyecta dinámicamente.

Abro los archivos PHP con un editor de texto y busco los scripts como loco, en algunos veo una línea naranja... empieza con @, ¿eso no es una técnica de ofuscación? Digo borrar, y vuelve a aparecer. No siento justicia, siento que pierdo el control de mi PC.

¿Entraron por SQL injection a la base de datos, sabéis? ¿O por otro lado? Quiero entender qué pasa aquí antes de poner una queja al hosting.

ŞŞerife K***ParticipanteMiembro de la comunidad
Miembro desde
jul 2024
Mensaje
186
Más útil#2

Esto apunta a inyección vía base de datos. Si no tenéis el código directamente en el sistema de archivos pero aparece al cargar la página, puede que hayan guardado opciones en la BD vía SQL injection. Si usáis WordPress mirad los campos siteurl, home gplus_profile, etc. en la tabla wp_options. Haced un dump de la BD y buscad con grep funciones PHP como '%base64%' '%eval%' '%preg_replace%'. El símbolo @ suprime errores, es el favorito del malware. 2) Revisad los logs de FTP... veréis quién accedió en los últimos 7 días. 3) Comprobad los permisos de wp-config.php (deben ser 644 no 777). 4) Mirad las fechas de modificación de todos los archivos, fijaos en los últimos 30 días.

RRecep S***Participante
Cargo
Planificación de producción
Sector
Retail
Tipo de organización
negocio unipersonal
Miembro desde
sept 2023
Mensaje
103
#3

la sql injection es algo muy clásico, pueden haber hecho una query select de usuarios y metido datos de admin en las tablas wp-postmeta. borrad el plugin entonces, o sea, el que no hayan actualizado. o drop table... no no, algo ha pasado siempre...

NNecati E***ParticipanteMiembro de la comunidad
Miembro desde
ene 2024
Mensaje
3
#4

Pasos: 1) Entra a la BD desde phpmyadmin 2) Coge wp_options, revisa todo 3) Revisa wp_postmeta, mira si hay meta_keys extrañas 4) Logs de FTP (en el panel de hosting) 5) Campo post_content en la tabla wp_posts... si hay muchos posts y está bien, o si hay comandos de script, bórralo 6) Desactiva todos los plugins y temas 7) Actualiza WordPress

MMustafa K***ExpertoMiembro de la comunidad
Miembro desde
ene 2025
Mensaje
3
#5

Leí lo de que pierdes el control de tu PC... parece que te lo tomas muy dramático. La SQL injection es algo simple, si no sanitizas las queries te toman la BD también. Investiga "qué plugin no actualicé" y ya está, se acabó.

AAlperParticipante
Cargo
Director de ventas de campo
Tipo de organización
cooperativa
Miembro desde
mar 2024
Mensaje
102

Doki · Infraestructura de e-commerce · 2026

#6

Yo tengo un método de prueba: restaura desde un backup completo en un entorno staging de WordPress, actualiza plugins y temas, y mira si sigue ahí. Si en staging no está, es el sistema de archivos; si está, es la base de datos. Trabaja según qué ruta quieras seguir.

ZZehra Y***Participante
Cargo
Director de marketing
Sector
Fabricación de muebles
Tipo de organización
Empresa de 20 empleados
Miembro desde
may 2024
Mensaje
324
#7

No entiendo bien el problema pero... ¿qué es una base de datos? ¿Qué es FTP? ¿Tengo que aprender MySQL ya para resolver esto? ¿O alguien me va a ayudar sí o sí?

VVeli N***Experto
Cargo
Administrador de sistemas
Sector
Embalaje
Tipo de organización
empresa dentro de un holding
Miembro desde
may 2022
Mensaje
359
#8

Hay un error muy común al hacer esto. Si no lo pones por escrito desde el principio, luego surgen discusiones.

Si escribís el resultado aquí, también servirá de ayuda a otros.

UUğur S***Participante
Cargo
Director regional
Sector
Química
Tipo de organización
negocio unipersonal
Miembro desde
sept 2024
Mensaje
22
#9

Este hilo es para archivar.

SSena P***Nuevo miembro
Cargo
Planificación logística
Sector
Construcción
Tipo de organización
cadena de tiendas
Miembro desde
jul 2026
Mensaje
389

Doki · Diseño de interfaz · 2023

#10

la respuesta de arriba ha dado en el clavo. la verdad empezad con una pequeñña prueba no lo integréis todo de golpe.

CCemParticipante
Cargo
Agencia · Gestor de proyectos
Tipo de organización
cadena de tiendas
Miembro desde
jun 2024
Mensaje
103

Doki · Migración de infraestructura · 2023

#11

Perdona, pero esto no es válido en todos los casos. Los cambios en los datos de pago nunca se verifican por el mismo canal por el que llegan.

EElif B***Participante
Cargo
Coordinador de mensajería
Sector
Servicios de salud
Tipo de organización
empresa dentro de un holding
Miembro desde
dic 2023
Mensaje
228
#12

Resumen breve para nuevos usuarios: Si intentas cambiarlo todo a la vez nada termina de asentarse.

Eso es todo, disculpa si me he extendido demasiado.

İİbrahim T***ExpertoMiembro de la comunidad
Miembro desde
mar 2025
Mensaje
22
#13

Voy a detallar un poco el aspecto técnico. Si es la primera vez que lo hacéis, empezad poco a poco, la escala llegará después.

Espero que le sea útil.

OOrhan B***VeteranoMiembro de la comunidad
Miembro desde
ene 2023
Mensaje
26
#14

Estoy en la misma situación, por eso pregunto. Todo lo que no está por escrito, ambas partes lo recordarán de forma distinta en el futuro.

Esta es mi opinión, no lo escribo como una verdad absoluta.

YYasemin S***ParticipanteMiembro de la comunidad
Miembro desde
feb 2024
Mensaje
42
#15

Lo escribo para que no cometan el mismo error. Cuanto más difícil sea revertir una decisión, más despacio debéis tomarla.

Los entornos de prueba olvidados son una puerta de entrada más frecuente que el sistema en producción. Yo seguiría por ese camino.

BBeren B***Participante
Cargo
Administrador de red
Sector
Energía
Tipo de organización
mediana empresa
Miembro desde
dic 2023
Mensaje
14
#16

Hay una cosa a la que hay que prestar atención. La mayoría de los incidentes no empiezan por una vulnerabilidad, sino por una contraseña filtrada.

Lo dejo como nota, por si sirve.

EElif Z***Experto
Cargo
Planificación de producción
Sector
vidrio
Tipo de organización
mediana empresa
Miembro desde
feb 2023
Mensaje
164
#17

Tiene razón. La respuesta varía mucho según el sector, no hay una regla general.

La mayor parte de la pérdida de tiempo se acumula en los trabajos pendientes de aprobación.

İİbrahim P***Participante
Cargo
Especialista en recursos humanos
Sector
Consultoría
Tipo de organización
negocio unipersonal
Miembro desde
jul 2024
Mensaje
48
#18

Tiene razón. en fin si intentas cambiarlo todo a la vez, nada termina de asentarse.

Espero que le sea útil.

AAycan U***ParticipanteMiembro de la comunidad
Miembro desde
jul 2023
Mensaje
2
#19

me pasó lo mismo... que todo el mundo haga algo no significa que sea lo correcto.

que la copia de seguridad sea accesible en la misma red y con la misma identidad la convierte en parte del objetivo. bueno comprobado por experiencia.

AAyşe Ç***Participante
Cargo
Director de seguridad de la información
Sector
Construcción
Tipo de organización
cooperativa
Miembro desde
feb 2025
Mensaje
27
#20

Estoy de acuerdo. Si el permiso y el alcance no están por escrito, que no empiece la prueba.

La mayoría de los incidentes no empiezan por una vulnerabilidad, sino por una contraseña filtrada. Espero que le sea útil.

Responder