Xmlrpc.php de WordPress es un archivo con extensión .php, que permite realizar tareas remotas a traves de peticiones HTTP con el metodo POST,puedesreaizar acciones como publicar o editar artículos o entradas, iniciar sesion, entre otros. Es probable que te preguntes por qué existe tal funcionalidad si WordPress ya tiene un excelente editor dentro de sí. La respuesta es que hace mucho tiempo, cuando comenzó la fiebre de los blogs (y WordPress es todo un pionero en ello), muchas personas escribían sus notas en offline. Esto quiere decir que podían utilizar un procesador de texto para redactar sus entradas, para luego copiar y pegar su contenidos dentro de una aplicación que insertara el contenido de su nuevo posteo en tu WordPress.

Hoy día, si bien WordPress cuenta con un editor muy cómodo y sofisticado, existen complementos como Jetpack que permiten programar la publicación de posts a lo largo del tiempo, moderar comentarios, editar o eliminar posts, o agregar imágenes, utilizando xmlrpc.php como base para hacerlo.

También, apps como la aplicación mobile oficial de WordPress, utilizan xmlrpc.php para funcionar, pero… ¿Quién realiza una publicación de WordPress hoy por hoy desde la app de su teléfono móvil? Y si eres de los que les encanta el mundo mobile, es mejor que utilices el navegador de tu dispositivo para acceder al panel administrador de tu blog. Después de todo, es más seguro, amigable y luce genial.

Para validar la integridad de un sitio wordpress en necesario realizar una auditoria de dicho sitio web usando los siguientes pasos:

Paso 1: Verificar manualmente si tiene habilitada la opcion de XMLRPC.php

Para esto basta con acceder a la URL del sitio web ya agregarle xmlrpc.php, por ejemplo https://mi-dominio.com/xmlrpc.php si esto te responde algo como

XML-RPC server accepts POST requests only.

Significa que esta habilitada esta opcion y puede ser vulnerable a varios ataques ciberneticos.

Paso 2: Realizar una consulta de los metodos disponibles

Para obtener la información es necesario enviar el payload list-methods.xml mediante POST a la ruta xmlrpc.php puedes usar el el programa curl desde la terminal o crear un codigo en algun lenguaje para mandar la peticion HTTP POST. A continuacion te muestro un ejemplo de el comando curl en linux

curl -X POST http://midominio.com/xmlrpc.php -H "Content-Type: text/xml" -d @list-methods.xml > methods.xml

Este seria el payload

<?xml version="1.0" encoding="utf-8"?>
<methodCall>	<methodName>system.listMethods</methodName>	<params></params></methodCall>


El valor devuelto debe ser en formato XML con un array de los métodos disponibles. También esta disponible un sitio web llamado xmlrpc.blog el cual te recomiendo usar si no tienes conocimientos en ciberseguridad, este sitio web realiza esta tarea de manera automatizada y te muestra los resultados.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *