Blog sobre WordPress
No Result
View All Result
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce
Cadastrar e-mail
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce
No Result
View All Result
Blog sobre WordPress
No Result
View All Result
banner-horizontal-3

Início » Segurança para WordPress » SQL Injection no WordPress e plugins | Aprenda urgente como se proteger dessas ameaças

SQL Injection no WordPress e plugins | Aprenda urgente como se proteger dessas ameaças

Aprenda sobre SQL Injection no WordPress. Como evitar e ficar livre dessa brecha no core da plataforma e em seus plugins.

Leandro Vieira by Leandro Vieira
3 anos ago
Reading Time: 6 min
9
SQL Injection no WordPress e plugins | Aprenda urgente como se proteger dessas ameaças
Compartilhe no FacebookCompartilhe no LinkedIn
Audio

SQL Injection no WordPress é tratado de forma séria e seu método de combate a esse tipo de ataque é compartilhado para que os desenvolvedores façam uso. O grande desafio da plataforma é garantir que desenvolvedores de plugin codifiquem e forma segura e protegida e consequentemente tenham uma maior segurança para WordPress.

Conteúdo relacionado

Segurança e LGPD: comece a implementação pelo básico

ModSecurity como Web Application Firewall no WordPress

O plugin para implementar 2FA – autenticação de dois fatores

Plugins WordPress renomados já tiveram suas experiências com o SQL Injection e muitos deles foram ágeis em liberar uma nova versão de software para corrigir o problema. Uma busca pelo assunto no WPScan Vulnerability Database demonstra a relevância do assunto.

O que é SQL Injection

SQL Injection no WordPress

Antes de prosseguirmos com o assunto, caso o assunto seja uma novidade ou que você tenha pouco conhecimento a respeito, é importante que a definição desse tipo de ataque fica clara.

A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entradas de dados de uma aplicação.

https://pt.wikipedia.org/wiki/Inje%C3%A7%C3%A3o_de_SQL

Portanto, ao falarmos de SQL Injection no WordPress estamos nos referindo a possíveis brechas no core ou em plugins em uso que estão permitindo a inserção de instruções SQL maliciosas para obtenção de informações no banco de dados.

Como evitar SQL Injection no WordPress

O WordPress é seguro contra ataques do tipo de injeção de SQL. Toda sua comunicação com a base de dados em uso é realizado através da classe PHP wpdb. Essa classe foi baseada na ezSQL escrita e mantida pelo Justin Vincent e possui um método exclusivo para tratar e evitar ataques de SQL Injection chamado prepare.

Portanto, você deve sempre considerar o uso da última versão estável do WordPress onde, além de usufruir das melhorias e inovações adotadas na plataforma, fará uso de uma versão segura e contra os mais variados tipos de ataques, dentre eles o SQL Injection. Considere manter o WordPress atualizado e fique imune de injeção SQL em seu core.

Como evitar SQL Injection em plugins WordPress

Quando falamos em plugins WordPres podemos dividi-los em três categorias: os gratuitos, baixados do diretório de plugins da plataforma; os pagos, comprados de empresas desenvolvedoras; os desenvolvidos, criados por empresas ou profissionais para atender demandas e requisitos de projetos.

Se proteger de SQL Injection no WordPress é estender a preocupação do assunto para todo seu ecossistema. A atualização e, por conseguinte, o uso da versão mais recente do WP te garante imunidade, mas em relação aos plugins precisamos considerar outros fatores.

Como se certificar que plugins gratuitos estão livres de SQL Injection

Baixe plugins somente do diretório oficial. Não caia na armadilha de baixar em qualquer lugar por aí. Não faça uso de plugins que não foram atualizados nos últimos dois anos. Faça uma busca por seu nome no WPScan Vulnerability Database e veja as ocorrências, e principalmente se elas foram corrigidas.

Se você é um desenvolvedor, analista de sistemas ou possui conhecimentos similares a esses profissionais conseguirá analisar em detalhes os códigos do plugin, se ele tem interação com o banco de dados e se há tratativas de segurança para evitar a SQL Injection no WordPress. Se este não for o seu caso, considere os passos descritos no parágrafo anterior antes de instalar e ativar um plugin.

Como se certificar que plugins pagos estão livres de SQL Injection

Quando se tem uma equipe dedicada por trás de um plugin é mais garantido sua evolução, manutenção e correções quando vulnerabilidades são descobertas. Autores de plugins gratuitos quase nunca recebem doação que os estimulam seguir em frente com o projeto, ou permanecem muito atarefados que não conseguem dar devida atenção.

Para se certificar que plugins pagos estão livres de brechas e que não adicionarão a problemátia de SQL Injection no WordPress considere analisar ocorrências em seu nome no WPScan Vulnerability Database, seu changelog de versões, releases e blog.

Brechas estão sujeitas a acontecer com todos. Analise como a empresa lida com isso, se torna público o acontecido e apresenta uma solução ou se tentam jogar para debaixo do tapete. Nesse último cenário desconsidere o uso de seus plugins. Transparência é importante se tratando de segurança.

Como se certificar que plugins desenvolvidos sob demanda estão livres de SQL Injection

Se o plugin contratado para ser desenvolvido não tem interação com usuário e banco de dados, de uma forma geral, você está livre. Considere a análise de outras vulnerabilidades e não SQL Injection. Se possui interações temos alguns caminhos a considerar.

Confiar e acreditar que a empresa e/ou profissional possui conhecimento e deu devida atenção ao assunto, realizou testes e se certificou que não levará a possibilidade de SQL Injeciton no WordPress em uso pelo seu negócio.

Obtenha os códigos do plugin e faça uma busca pelo termo “prepare”. Se encontrado, refine a busca por algo assim “$wpdb->prepare(“. Essa ocorrência é um indício de uso do método prepare e que a classe wpdb foi utilizada. E como sua função é tratar instruções SQL precauções sobre o assunto foram tomadas.

Contrate uma nova empresa especializada em segurança e na análise de códigos para garantir a segurança da aplicação. A Conviso é especializada no assunto e possuem considerável conhecimento sobre WordPress.

Como desenvolver plugins livres de SQL Injection

Aprenda a ficar livre de ataques de SQL Injection ao desenvolver plugin WordPress

Click To Tweet

O WordPress, em todas as suas interações com o banco de dados da aplicação, faz uso da classe wpdb e trata as entradas através do método prepare. Você deve fazer o mesmo ao desenvolver plugins e assim ficar livre de SQL Injection no WordPress.

Todo e qualquer dado captado do usuário deve ser tratado. Dado que será agregado a uma instrução SQL mais ainda. O método prepare faz uso de dois parâmetros. O primeiro é a instrução SQL com os placeholders desejados, o segundo são os dados a serem trocados pelos placeholders. O método considera o estilo das funções PHP sprintf() e vsprintf(). Desde a versão 3.5 do WordPress esse método força e considere o uso de dois parâmetros.

Exemplo de sintaxe do método prepare da classe wpdb

$sql = $wpdb->prepare( 'INSTRUÇÃO SQL', $variable );
$sql = $wpdb->prepare( 'INSTRUÇÃO $d SQL com %s placeholders %f', $integer, $string, $float);

Três tipos de placeholders são suportados: inteiros através do %d, strings através do %s e floats através do %f. O uso isolado do caractere “%” causará erro, se necessário como no caso da instrução LIKE considere escapá-lo fazendo seu uso duas vezes seguidas, assim “%%”.

Exemplo prático do uso do método prepare no estilo da função PHP sprintf

$sql = $wpdb->prepare( "SELECT user_email FROM $wpdb->users WHERE ID = %d", $user_id );
$user_email = $wpdb->get_var( $sql );

No exemplo acima estamos selecionando o e-mail do usuário baseado na busca por seu ID de identificação na tabela de usuários do WordPress. Observe que na instrução SQL é feito o uso do placeholder %d, isso nos garante que seja agregado a essa instrução um valor inteiro obtido pela variável $user_id.

Exemplo prático de uso do método prepare no estilo da função PHP vsprintf

$sql = $wpdb->prepare( "SELECT post_title FROM $wpdb->posts WHERE post_parent = %d AND post_type = %s", array( $post_parent, $post_type ) );
$posts = $wpdb->query( $sql );

No exemplo acima estamos em busca dos títulos de páginas que possuem pais, por exemplo. Observe que na instrução SQL é feito o uso do placeholder %d e %s. Isso nos garante que seja agregado a essa instrução um valor inteiro obtido pela variável $post_parent e uma string através da variável $post_type.

Fique livre de SQL Injection no WordPress

Se proteger de SQL Injection no WordPress é garantir estar livre dessa brecha no core da plataforma, o que você consegue fazendo uso da versão mais recente. O ecossistema de plugins é grande, rico e fantástico com as soluções que agregam ao seu site, mas é preciso ser mais seletivo com suas escolhas tendo a segurança como fator determinante pela adoção, ou não, de determinados plugins.

Você adota alguma outra prática para ficar livre de SQL Injection no WordPress? Compartilhe conosco.

Tags: pluginspreparesqlsql injectionwpdbwpscan
Share13Share1SendShare
Previous Post

A luta entre DISALLOW_FILE_EDIT versus DISALLOW_FILE_MODS

Next Post

O que você precisa saber sobre WordPress Nonces

Leandro Vieira

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.

Related Posts

Rate Limiting
Segurança para WordPress

Como ferramentas de Rate Limiting ajudam em segurança e performance

4 de agosto de 2020
Usuários e senhas fortes para melhorar a segurança no WordPress
Segurança para WordPress

Usuários e senhas fortes para melhorar a segurança no WordPress

28 de julho de 2020
Tipos e benefícios dos certificados de segurança TLS/SSL.
Segurança para WordPress

Tipos e benefícios dos certificados de segurança TLS/SSL.

19 de agosto de 2020
Como remover o nome de usuário “admin” do WordPress
Segurança para WordPress

Como remover o nome de usuário “admin” do WordPress

19 de agosto de 2020
Next Post
O que você precisa saber sobre WordPress Nonces

O que você precisa saber sobre WordPress Nonces

Use o WPScan para análise de segurança do WordPress e plugins

Use o WPScan para análise de segurança do WordPress e plugins

Comments 9

  1. Rodrigo Vieira Eufrasio da Silva says:
    7 anos ago

    Parabéns Leandro, excelente artigo, nunca ouvir falar no WPScan Vulnerability Database tem muita coisa em questão de vulnerabilidade do WordPress, é bom ter essa informação, pois me ajuda verificar os plugins com falhas.

    Responder
  2. Junior says:
    7 anos ago

    Excelente artigo, me foi muito útil pois como crio alguns plugins no wordpress, acabo deixando meus site vulneráveis por não ter esses cuidados. Obrigado.

    Responder
  3. Pingback: Aprenda mais sobre as chaves de segurança do WordPress
  4. Pingback: As funções mais utilizadas no WordPress para validação de dados -
  5. Pingback: As funções mais utilizadas no WordPress para validação de dados | grupo IO Multi Soluções Inteligentes
  6. Pingback: 15 dicas de segurança para WordPress, em vídeo -
  7. Pingback: 15 dicas de segurança para WordPress, em vídeo | grupo IO Multi Soluções Inteligentes
  8. Pingback: Site seguro: confira 15 dicas em vídeo para ajudar na segurança do seu WordPress
  9. Pingback: Segurança de dados no WordPress: Como os desenvolvedores full-stack podem impactar?

Deixe um comentário Cancelar resposta

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

banner-lateral-3
Receba no seu e-mail uma série de conteúdos sobre Infra para WordPress.
  • Este campo é para fins de validação e não deve ser alterado.

Facebook LinkedIn Instagram Twitter Youtube Github RSS

Sobre a Apiki

Empresa especializada em WordPress com três unidades de negócios.

  1. Design e Desenvolvimento;
  2. Infra e Hospedagem;
  3. Suporte e manutenção.

Em resumo, só fazemos uma coisa em WordPress: tudo.

Páginas do Apiki.com

  • Apiki.com
  • Sobre a Apiki
  • Hospedagem
  • Desenvolvimento
  • UX & UI para WordPress
  • Growth em WordPress
  • Suporte
  • Atendimento

Páginas do Blog

  • Sobre
  • Newsletter
  • Desenvolvimento WordPress
  • Segurança para WordPress
  • WordPress Mobile
  • Infra para WordPress
  • WordPress SEO
  • WordPress Performance
  • E-commerce

© 2020 Apiki - Empresa especializada em WordPress.

No Result
View All Result
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce

© 2020 Apiki - Empresa especializada em WordPress.