Blog

O que é WordPress XML-RPC e como parar um ataque ao WordPress

Flavio Henrique
Escrito por Flavio Henrique em 28/03/2019
O que é WordPress XML-RPC e como parar um ataque ao WordPress
Junte-se a mais de 1000 pessoas

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Saiba tudo sobre o WordPress XML-RPC e tenha um site WordPress mais seguro

Ataque Ddos Proteger

O WordPress XML-RPC é uma especificação que visa padronizar as comunicações entre diferentes sistemas. Ele usa HTTP como mecanismo de transporte e XML como mecanismo de codificação que permite que uma ampla gama de dados seja transmitida.

Para nós, WordPress, a parte mais importante disso é “sistemas diferentes”. O WordPress precisa se comunicar com outros sistemas de tempos em tempos e até recentemente o XML-RPC era o melhor candidato para o trabalho. Ao se comunicar com outros sistemas de blogs, como o Blogger ou o Movable Type, ou ao postar de clientes de desktop ou aplicativos móveis oficiais, o XML-RPC era, e ainda existe, para ajudar.

Por que todo o tempo passado? Muito em breve, a nova API do WP tomará o seu lugar, que é uma API REST ful, trazendo mais flexibilidade, melhor segurança e felicidade a toda a mesa. No entanto, como o WordPress tem tudo a ver com retrocompatibilidade, o XML-RPC estará disponível por um longo período, portanto, podemos conhecê-lo!

A história do WordPress XML-RPC

Você sabe quando o WordPress implementou pela primeira vez o XML-RPC? Versão 3.4, 2.1, talvez já em 1.2? Não, pergunta complicada, era parte do software b2 original de blogs, do qual o WordPress foi bifurcado. Isso é quando a versão zipada tinha 268kb e havia mais arquivos e pastas começando com “b2” do que “wp”.

A lógica por trás de todo o sistema estava contida no arquivo xmlrpc.php no diretório raiz. Continha funções como wp_insert_post (), wp_delete_post () e assim por diante.

O WordPress XML-RPC estava desativado por padrão originalmente, você tinha que ir para Configurações> Escrita> Publicação Remota para ativá-lo. Desde a versão 3.5, a funcionalidade está ativada por padrão.

WordPress XML-RPC Hoje

Depois de passar por uma série de mudanças, o tamanho deste arquivo diminui de 83kb para apenas 3kb, a maior parte da funcionalidade está agora escondida em uma pequena classe. Essa classe é chamada wp_xmlrpc_server e pode ser encontrada em wp-includes / class-wp-xmlrpc-server.php e contém 48 funções WordPress, 7 funções Blogger, 6 funções MetaWeblog, 8 funções MovableType e 4 funções para pingbacks.

Como eu disse anteriormente, isso não está muito bem documentado, então você precisa abrir esse arquivo e dar uma olhada na aula. Há também um artigo do Tuts + sobre codificação com XML-RPC em mente, mas basicamente é isso.

WordPress XML-RPC no Futuro

O advento da nova API do WP verá a queda do XML-RPC. A API do WordPress já pode ser usada, mas requer uma ativação de plug-in e ainda está em fase de teste. Não muito longe no futuro, será uma parte do código principal do WordPress, que é quando ele começará a invadir o território XML-RPC.

No momento, existem alguns recursos que a API do WordPress ainda está faltando, embora seja muito mais poderosa de outras maneiras que o XML-RPC. Dê uma olhada na excelente comparação no site da API do WP.

O problema com XML-RPC

Os dois maiores ativos da API são sua extensibilidade e segurança. O XML-RPC autentica com autenticação básica. Ele envia o nome de usuário e senha com cada solicitação, o que é um grande não-não nos círculos de segurança.

A API do WordPress pode usar o Oauth que nunca envia seu nome de usuário e senha, ele usa tokens para autenticação, tornando-o muito mais seguro.

Além disso, as funções e os métodos não precisam ser codificados para a implementação específica. Você pode (já) adicionar seus próprios pontos de extremidade para criar o que quiser, não está restrito a apenas adicionar postagens, gerenciar taxonomias e usuários, etc.

Embora você possa estender o XML-RPC também, o processo não é documentado bem e não é tão poderoso quanto sua contraparte da API.

JSON vs XML é outro argumento em que o XML-RPC pode ficar aquém. A API usa o JSON para enviar e receber dados, o que é favorecido pelos desenvolvedores devido à sua facilidade de uso nos idiomas do servidor e do lado do cliente. XML pode ficar um pouco complicado, exigindo classes PHP para ler corretamente.

No entanto, nos últimos anos, o XML-RPC se tornou um alvo cada vez maior para ataques de força bruta. Isso não tem nada a ver com qualquer vulnerabilidade de segurança e tudo a ver com outro caminho para o WordPress. Ao usar o XML-RPC para fazer chamadas, você precisa fornecer um nome de usuário e senha, e o sistema confirmará quando você acertar um par válido.

Verificando WordPress – XML-RPC seu seu site

Não tenho certeza se o XML-RPC está sendo executado no seu site? Danilo Ercoli, da equipe Automattic, escreveu uma pequena ferramenta chamada XML-RPC Validator. Você pode executar o seu site WordPress através dele para ver se ele tem o XML-RPC ativado. Se isso não acontecer, você verá uma mensagem de falha.

Como Para o ataque de XML-RPC no WordPress

Nós gravamos um vídeo explicando um pouco sobre o WordPress XML-RPC e como bloquear ataques no WordPress.

 

Para saber outras técnicas avançadas para proteger o seu site WordPress, conheça o nosso Curso de Segurança WordPress. Lá além dessas você também aprenderá outras técnicas que especialistas em Segurança Recomendam.

Clique aqui para acessar o nosso curso de Segurança WordPress

Olá,

o que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

2 Replies to “O que é WordPress XML-RPC e como parar um ataque ao WordPress”

Avatar Of Cursos Online Com Certificado
Cursos online com certificado

Aqui é a Fabiana Paula, eu gostei muito do seu artigo seu conteúdo vem me ajudando bastante, muito obrigada.

Avatar Of João Oliveira
João Oliveira

Flágio, melhor consultor de WP do Brasil. Já me ajudou e ainda continua me ajudando bastante. #FIOCRUZ

Clique aqui para testar o AJAX