SQL Threat Protection

Este interceptor tem a função de bloquear ataques de injeção de SQL (SQL Injection, em inglês) na chamada a uma API que acesse um banco de dados.

SQL Injection é um ataque em que instruções SQL indevidas e maliciosas são inseridas dentro uma query do cliente para o servidor. Com isso, podem ser feitas desde operações de administração do banco de dados afetado (como troca de administrador e configurações de acesso) quanto manipulação indevida do seu conteúdo (como alteração ou deleção de dados e, claro, exposição de informações sensíveis).

Embora o SQL Threat Protection possa ser inserido também no fluxo de resposta de uma API, é essencial que ele esteja no fluxo de requisição, pois os ataques mencionados acontecem na direção cliente → backend.

sql threat flow

Para configurar o interceptor, basta escolher pelo menos uma das opções de bloco a ser protegido. Quando inserido no fluxo de requisição, as opções são estas:

  • Body: aplica a proteção ao corpo da requisição;

  • Headers: aplica a proteção a todos os cabeçalhos, verificando cada um deles separadamente;

  • Query Params: verifica parâmetro por parâmetro à procura de um ataque;

  • Cookies: aplica a proteção em todos os cookies, verificando cada um deles separadamente;

  • Path Params: verifica parâmetro por parâmetro à procura de um ataque.

sql threat request

Quando inserido também no fluxo da resposta, há duas outras opções:

  • Body: aplica a proteção ao corpo da resposta;

  • Headers: aplica a proteção a todos os cabeçalhos, verificando cada um deles separadamente.

sql threat response

If all options are selected, validations will occur in the following sequence:

  • Requisição: Query Params, Body, Headers, Cookies, Path Params.

  • Resposta: Body, Headers.

Erros

Caso algum ataque de injeção seja identificado, os seguintes erros serão retornados:

Campos Erro Cód. HTTP Requisição Cód. HTTP Resposta

Body

SQL Injection attack identified in this API Body

400

500

Headers

SQL Injection attack identified in this API Headers

400

500

Query Params

SQL Injection attack identified in this API Query Params

400

-

Cookies

SQL Injection attack identified in this API Cookies

400

-

Path Params

SQL Injection attack identified in this API Path Params

400

-

Thanks for your feedback!
EDIT
How useful was this article to you?