¿Qué es XMLRPC y cómo esta reliquia amenaza la seguridad de tu web WordPress?
En el directorio raíz de cada sitio de WordPress hay un archivo más antiguo que el propio WordPress: xmlrpc.php, que durante los días b2 se creó para ofrecer a los sitios una forma de comunicarse entre sí y para que otras aplicaciones se comunicasen con el blog.
¿Qué es XMLRPC?
El nombre te dice todo lo que necesitas saber sobre la funcionalidad.
XML: se diseñó para aceptar cargas útiles en XML. JSON es hoy en día un formato mucho más común. XMLRPC es bastante anterior a JSON.
RPC: RPC significa llamada a procedimiento remoto (Remote Procedure Call). Era un estándar por el cual un sistema podía pedir a otro sistema que hiciera algo. Ahora usamos API-REST o Graph API – para hacer lo mismo, pero antes de que existieran, RPC era una de las herramientas disponibles.
¿Cómo funciona XMLRPC?
Para hacer que XMLRPC.php hiciera algo, tenías que enviarle (POST) un mensaje. Si no estás familiarizado con el funcionamiento de los navegadores, esto es básicamente como hacer clic en el botón “Enviar” en un formulario. Eso suele iniciar una solicitud POST.
Si realizas una solicitud POST a tudominio.tld/xmlrpc.php y le entregas una carga útil XML con el formato adecuado, puedes hacer cosas como crear una publicación en tu web.
Una de las cosas para las que XMLRPC se utilizó mucho en su día fueron los “pingbacks”. Esos comentarios que ves en publicaciones que muestran que alguien más lo enlazó desde su blog.
Amenazas potenciales de seguridad del XMLRPC de WordPress
Durante mucho tiempo, XMLRPC fue una herramienta útil. Ahora toda la funcionalidad para la que se usaba XMLRPC se maneja mediante la API REST, ya incorporada. Aunque ya no se use, es una función todavía activa y a aquellos que sienten nostalgia por tales cosas, les causa una sonrisa. Sin embargo los que están preocupados por la seguridad, lo ven y fruncen el ceño.
La presencia de XMLRPC representa varios riesgos de seguridad para sitios WordPress que pueden llegar a convertirse en ataques severos.
- Ataques de fuerza bruta a través de XMLRPC
El primer tipo de ataque XMLRPC de WordPress es un simple ataque de fuerza bruta. Dado que parte de la carga útil XML que se pasa a WordPress es el nombre de usuario y la contraseña del usuario que desea realizar la acción, es una manera fácil para que los atacantes prueben combinaciones de nombre de usuario y contraseña hasta que encuentren una que funcione. Muchos propietarios de sitios preocupados por la seguridad limitarán la cantidad de intentos de inicio de sesión que un usuario puede realizar antes de bloquearlos, pero no se molestarán en bloquear las solicitudes XMLRPC, lo que dejará una puerta trasera abierta para que los atacantes intenten encontrar una entrada.
Una vez que un atacante encuentra las credenciales que funcionan, puede intentar dañar tu sitio inyectando contenido en la base de datos del mismo. Ya sean publicaciones, páginas o solo comentarios, el resultado final es el mismo: tu sitio ofrece contenido que no aprobaste y que probablemente no deseas. No obstante, en el peor de los casos, podrían ser publicaciones o comentarios inocuos que tengan malware inyectado.
- Ataques DDoS usando XMLRPC
Otro de los beneficios de XMLRPC fue la habilitación de pingbacks. Los ciberdelincuentes pueden usarlo para bloquear tu servidor emitiendo muchas solicitudes pesadas a la vez.
Un pingback escribe un registro en tu base de datos, y escribir en tu base de datos es una tarea costosa en cuanto a recursos. Si bien un solo pingback no perjudicaría el rendimiento de tu sitio, cientos o incluso miles de ellos a la vez pueden poner de rodillas incluso al servidor más robusto.
Esto se denomina ataque DDos o de denegación de servicio distribuido. Distribuido porque normalmente no es una sola máquina la que realiza todas las solicitudes, normalmente son un gran número de máquinas repartidas por diferentes lugares.
¡Gracias! Tu comentario esta pendiente de ser moderado y será publicado en breve si esta relacionado con el artículo del blog. Comentarios sobre soporte o incidencias no serán publicados. En tal caso, por favor repórtalo directamente a través de
Iniciar discusión
¡Gracias! Tu comentario esta pendiente de ser moderado y será publicado en breve si esta relacionado con el artículo del blog. Comentarios sobre soporte o incidencias no serán publicados. En tal caso, por favor repórtalo directamente a través de