Todos os produtos
Search
Central de documentação

Web Application Firewall:Protected objects and protected object groups

Última atualização: Jul 03, 2026

Ao configurar um modelo de proteção, aplique-o a um objeto protegido. O WAF cria automaticamente um objeto protegido para cada ativo integrado, portanto, a configuração manual geralmente é desnecessária. No entanto, se você tiver muitos ativos, regras de proteção complexas ou precisar de configurações avançadas (como decodificação específica, cookies ou cabeçalhos de resposta personalizados), configure manualmente os objetos protegidos ou grupos de objetos protegidos. Este tópico descreve como configurá-los e gerenciá-los para obter uma segurança eficiente e granular.

Conceitos principais

  • objeto protegido: Ao adicionar um nome de domínio ou instância de serviço em nuvem ao WAF, o sistema cria automaticamente um objeto protegido correspondente. Para utilizar um modelo de proteção, selecione um objeto protegido como alvo.

  • grupo de objetos protegidos: Agrupe vários objetos protegidos em um grupo de objetos protegidos para gerenciamento centralizado. Cada objeto protegido pode pertencer a apenas um grupo de objetos protegidos.

Pré-requisitos

Antes de começar, verifique se os seguintes requisitos foram atendidos:

Adicionar um objeto protegido

Ao adicionar um recurso ao WAF, o sistema cria automaticamente um objeto protegido para ele. Normalmente, não é necessário adicionar um manualmente. Contudo, adicione manualmente um nome de domínio como objeto protegido nos seguintes cenários:

  • Cenário de serviço em nuvem: Vários nomes de domínio apontam para a mesma instância de serviço em nuvem e exigem regras de proteção distintas para cada domínio.

  • Cenário de integração SDK de nuvem híbrida: Diversos nomes de domínio resolvem para a mesma instância de cluster e exigem configurações de proteção diferentes por domínio.

  1. Log on to the Web Application Firewall 3.0 console. From the top menu bar, select the resource group and region (Chinese Mainland or Outside Chinese Mainland) for the WAF instance.

  2. In the navigation pane on the left, choose Protection Config > Protected Objects.

  3. Na aba Protected Objects, clique em Add Protected Object.

  4. Na caixa de diálogo Add Protected Object, configure os parâmetros conforme o Protected Object Type e clique em OK.

    Cloud Service

    Parâmetro

    Descrição

    Domain Name

    Insira o nome de domínio que deseja proteger. Use um domínio com correspondência exata, como www.aliyundoc.com, ou um domínio curinga, como *.aliyundoc.com.

    • Regras de correspondência de domínio curinga:

      • Um curinga corresponde apenas a subdomínios no mesmo nível. Por exemplo, *.aliyundoc.com corresponde a www.aliyundoc.com e example.aliyundoc.com, mas não a www.example.aliyundoc.com.

      • Quando aplicado a um nome de domínio de segundo nível, como *.aliyundoc.com, o curinga também corresponde ao próprio domínio de segundo nível, aliyundoc.com.

      • Quando aplicado a um nome de domínio de terceiro nível, como *.example.aliyundoc.com, o curinga não corresponde ao próprio domínio de terceiro nível, example.aliyundoc.com.

    • Regra de prioridade: Se uma solicitação corresponder tanto a um domínio exato quanto a um domínio curinga, as regras do domínio exato terão precedência.

    Cloud Service

    Selecione o tipo de instância de serviço em nuvem associado ao nome de domínio. Valores válidos:

    • ALB: Application Load Balancer.

    • CLB4: Classic Load Balancer com listener TCP.

    • CLB7: Classic Load Balancer com listener HTTP/HTTPS.

    • ECS: Elastic Compute Service.

    • NLB: Network Load Balancer.

    instância

    Selecione o ID da instância ALB. Este parâmetro é obrigatório apenas se você definir Cloud Service como ALB.

    Add to Protected Object Group

    Adicione o objeto protegido a um grupo de objetos protegidos para gerenciar as regras de proteção de forma centralizada.
    Após adicionar um objeto protegido a um grupo, configure as regras de proteção somente para o grupo. Não será mais possível configurar regras individuais para esse objeto protegido.







    Resource Group

    Adicione o objeto protegido a um grupo de recursos para simplificar o gerenciamento de recursos e a configuração de permissões. Se não houver requisitos específicos, selecione Default Resource Group. Para mais informações, consulte O que é um grupo de recursos?.

    Hybrid Cloud SDK Integration

    Parâmetro

    Descrição

    Protected Object Name

    Insira um nome fácil de identificar.

    Domain Name/IP Address

    Insira o nome de domínio que deseja proteger. Use um domínio com correspondência exata, como www.aliyundoc.com, ou um domínio curinga, como *.aliyundoc.com.

    Nota
    • Regra de correspondência de domínio curinga: Um domínio curinga corresponde apenas a subdomínios no mesmo nível. Por exemplo, *.aliyundoc.com corresponde a www.aliyundoc.com e example.aliyundoc.com, mas não a aliyundoc.com ou www.example.aliyundoc.com.

    • Regra de prioridade: Se uma solicitação corresponder tanto a um domínio exato quanto a um domínio curinga, as regras de proteção do domínio exato terão precedência.

    URL

    Insira o caminho da URL que deseja proteger.

    Add to Protected Object Group

    Adicione o objeto protegido a um grupo de objetos protegidos para gerenciar as regras de proteção de forma centralizada.
    Após adicionar um objeto protegido a um grupo, configure as regras de proteção somente para o grupo. Não será mais possível configurar regras individuais para esse objeto protegido.







    Resource Group

    Adicione o objeto protegido a um grupo de recursos para simplificar o gerenciamento de recursos e a configuração de permissões. Se não houver requisitos específicos, selecione Default Resource Group. Para mais informações, consulte O que é um grupo de recursos?.

Configurações avançadas

O WAF oferece as seguintes configurações avançadas. Para personalizar as definições de um objeto protegido conforme suas necessidades de negócios e políticas de segurança, localize o objeto desejado e clique em Settings na coluna Actions.

Parâmetro

Descrição

Configurações de endereço IP do cliente

Se um proxy de camada 7, como uma CDN, estiver implantado à frente do WAF, configure a opção Obtain Actual IP Address of Client. Isso garante que o WAF obtenha os endereços IP reais dos clientes para análise de segurança e recursos como a exibição do Attacker IP Address nos Security Reports.

Configurações de cookie

Ao utilizar módulos de proteção como HTTP Flood Protection e Scan Protection, ou ao definir uma ação de regra como CAPTCHA, o WAF adiciona um cookie de rastreamento e verificação às respostas. Configure o status de emissão e o atributo Secure do cookie para atender aos requisitos de segurança e compatibilidade.

Cabeçalhos de resposta personalizados

Para nomes de domínio adicionados no modo de registro CNAME, adicione cabeçalhos personalizados às respostas do cliente para reforço de segurança, controle de políticas ou depuração.

Configurações de decodificação

O WAF analisa dados em formatos como JSON, XML e Form, além de decodificar dados codificados com Base64 e entidades HTML. Isso permite detectar tráfego malicioso oculto por múltiplas camadas de codificação ou compressão.

Identificação de usuário

O WAF extrai informações de identidade do usuário, como nomes de usuário, tokens e corpos JWT das solicitações. Módulos como Scan Protection, Bot Management e Custom Rule utilizam essas informações para controle de segurança granular no nível da conta.

Configurações de tempo de expiração da ação

Após um cliente passar por uma JavaScript Validation, CAPTCHA ou Token-based Authentication, o WAF permite solicitações subsequentes por 1.800 segundos (30 minutos) por padrão, sem exigir novo desafio. Defina esse tempo de expiração entre 5 e 1.800 segundos. Após esse período, o cliente precisará passar pelo desafio novamente na próxima solicitação.

  • Configure Client IP Address

    Na aba WAF Link Settings, configure o parâmetro Is a Layer 7 proxy such as Anti-DDoS Proxy or CDN deployed in front of WAF. Para mais informações, consulte Obter endereços IP reais do cliente.

    Nota

    Para nomes de domínio adicionados no modo de registro CNAME e para instâncias ECS, CLB e NLB adicionadas como serviços em nuvem, não repita esta configuração caso já a tenha concluído durante a integração do ativo.

  • Cookie Settings

    Na aba WAF Link Settings, configure o Tracking Cookie e o Slider CAPTCHA Cookie.

    • Tracking Cookie Ao usar recursos como proteção contra flood HTTP e proteção contra varredura, o WAF emite por padrão um cookie chamado acw_tc para identificar e rastrear o comportamento de acesso do cliente. Utilize o interruptor Status para ativar ou desativar o Tracking Cookie. Para emitir este cookie apenas em solicitações HTTPS, ative o Secure Attribute.

      Importante
      • Sugestão de configuração: Recomendamos manter o interruptor Status do cookie de rastreamento ativado. Caso contrário, módulos de proteção como proteção contra flood HTTP e proteção contra varredura podem não funcionar corretamente.

      • Limitação de grupo de objetos protegidos: Para objetos protegidos pertencentes a um grupo, o Tracking Cookie vem ativado por padrão. Não é possível desativar o Tracking Cookie nem ativar o Secure Attribute para esses objetos.

      • Regra efetiva: Se uma solicitação corresponder a vários objetos protegidos e o Tracking Cookie ou o Secure Attribute estiver ativado em pelo menos um deles, o recurso será habilitado para todos os objetos protegidos correspondentes.

    • Slider CAPTCHA Cookie Depois que um usuário passa por um desafio de slider, o WAF emite por padrão um cookie chamado acw_sc__v3 para registrar a verificação. Para emitir este cookie apenas em solicitações HTTPS, ative o Secure Attribute.

      Importante
      • Ativar o Secure Attribute para o cookie do slider pode afetar o funcionamento normal do recurso de slider em sites HTTP.

      • Para objetos protegidos que fazem parte de um grupo de objetos protegidos, o Secure Attribute vem desativado por padrão e não pode ser ativado.

  • Custom Response Header (apenas modo de registro CNAME)

    Na aba WAF Link Settings, configure o Custom Response Header. Adicione até cinco cabeçalhos. Se o Header Name de um cabeçalho de resposta personalizado for igual ao nome de um cabeçalho de resposta do servidor de origem, o valor do cabeçalho original será substituído pelo Header Value configurado aqui.

  • Decode Settings

    Configure as opções na aba Decode Settings. Para mais informações, consulte Apêndice: Configurações de decodificação.

  • User Identification

    Configure as opções na aba User Identification. Defina até cinco regras para cada objeto protegido, ordenadas por prioridade.

    • Extraia informações de identidade do usuário dos seguintes locais:

      • Query String

      • Body

      • Cookie

      • Header

    • Formato da conta:

      • Plaintext Authentication: Por exemplo, email***@qq.com.

      • JWT Authentication: Geralmente encontrado em um cabeçalho, um JWT pode transportar informações do usuário. O formato comum é Authorization: Bearer {Token}. Se o token for um JWT, especifique o campo da conta no payload decodificado.

      • Basic Authentication: Geralmente encontrado em um cabeçalho. O formato comum é Authorization: Basic {Token}.

  • Action Validity Settings

    Na aba Action Validity Settings, configure os seguintes parâmetros:

    • JS Challenge TTL: Período de validade do resultado da verificação quando a Rule Action é JavaScript Validation.

    • Dynamic Token Validity: Período de validade do resultado da verificação no modo de Token-based Authentication ao usar o Bot Management para proteger serviços web.

    • CAPTCHA Expiration Time: Período de validade do resultado da verificação quando a Rule Action é CAPTCHA.

Gerenciar grupos de objetos protegidos

Para aplicar as mesmas regras de proteção a vários objetos protegidos, utilize grupos de objetos protegidos para gerenciamento centralizado.

  1. No painel de navegação à esquerda do console do WAF, escolha Protection Config > Protected Objects.

  2. Na aba Protected Object Groups, clique em Create.

  3. Na caixa de diálogo Create Protected Object Group, insira um Nome do grupo de objetos protegidos, selecione Associate with Protected Object, adicione Remarks e clique em OK.

    Nota
    • A lista Available Objects na seção Associate with Protected Object inclui apenas objetos protegidos que atendem às seguintes condições: não fazem parte de nenhum grupo de objetos protegidos e possuem apenas o modelo de proteção padrão ou nenhum modelo aplicado.

    • Um objeto protegido que já pertence a um grupo não pode ser adicionado a outro. Remova-o do grupo original antes de adicioná-lo a um novo grupo.

  4. Ao criar um modelo de proteção, defina Apply To como Protected Object Groups para aplicar o modelo a todos os objetos do grupo.

Operações diárias

Gerenciar objetos protegidos

  • Visualizar as regras de proteção de um objeto protegido: Na coluna Actions do objeto protegido alvo, clique em View Protection Rule. A página Core Web Protection exibe os modelos de proteção (regras configuradas) associados ao objeto protegido.

  • Adicionar um objeto protegido a um grupo: Na coluna Actions do objeto protegido alvo, clique em image> Add to Protected Object Group. Também é possível selecionar vários objetos protegidos e clicar em Add to Protected Object Group abaixo da lista.

  • Visualizar os logs de um objeto protegido: Se o Log Service estiver ativado, clique em image> View Logs na coluna Actions do objeto protegido alvo.

  • Excluir um objeto protegido: Na coluna Actions do objeto alvo, clique em Delete. Apenas objetos protegidos adicionados manualmente podem ser excluídos. Para remover objetos protegidos gerados automaticamente, execute a ação Remove no ativo.

Gerenciar grupos de objetos protegidos

  • Modificar os objetos protegidos em um grupo: Na aba Protected Object Groups, clique em Edit na coluna Actions do grupo alvo para adicionar ou remover objetos protegidos. Se um objeto protegido for removido de um grupo, o modelo de proteção padrão será aplicado automaticamente a ele.

  • Modificar as regras de proteção de um grupo: Na aba Protected Object Groups, clique em Configure Rule na coluna Actions do grupo alvo para visualizar e modificar o modelo de proteção associado ao grupo.

  • Excluir um grupo de objetos protegidos: Na aba Protected Object Groups, localize o grupo que deseja excluir e clique em Delete na coluna Actions.

Cotas e limites

  • Limites na quantidade de objetos protegidos: O número de objetos protegidos, grupos de objetos protegidos e objetos que podem ser adicionados a um único grupo varia conforme a edição do WAF. Para mais informações, consulte Edições do WAF. Acesse a página de Objetos protegidos para verificar a quantidade de objetos protegidos disponíveis. Se a cota for atingida, exclua objetos protegidos ou faça upgrade da sua edição do WAF.

  • Regra de reserva de objetos protegidos: Para instâncias WAF por assinatura, o sistema reserva cotas para os nomes de domínio gratuitos incluídos na sua edição do WAF e para quaisquer domínios adicionais adquiridos. Por exemplo, se você possui uma instância WAF Pro por assinatura que inclui 5 nomes de domínio gratuitos e suporta 600 objetos protegidos, e adquire 2 Additional Domains, o WAF reservará 7 (5 + 2) objetos protegidos. Isso deixa uma cota restante de 593 (600 - 7) objetos protegidos adicionais.

  • Limites de configuração para objetos protegidos: Instâncias do Microservices Engine (MSE) e nomes de domínio personalizados do Function Compute (FC) adicionados como serviços em nuvem não suportam Cookie Settings. Instâncias FC, MSE adicionadas como serviços em nuvem não suportam Decode Settings.

Configurações de decodificação

Importante
  • Ao adicionar uma instância ALB como serviço em nuvem, a Base64 Decoding vem desativada por padrão. Ative-a conforme as necessidades do seu negócio.

  • Para integração SDK de nuvem híbrida, atualize o agente para a versão 4.1.0 ou posterior para que as configurações de decodificação tenham efeito.

Análise de chave-valor

  • JSON Data Parsing

    • Descrição: O módulo de análise JSON processa e reestrutura dados JavaScript Object Notation (JSON) de acordo com a RFC 7159. O módulo lida com sintaxe JSON, incluindo objetos chave-valor, arrays, strings e números. O processo inclui validação de sintaxe, conversão de tipos de dados, processamento de estruturas aninhadas e decodificação de sequências de escape Unicode. Padronizar o formato JSON melhora a capacidade das regras do WAF de detectar conteúdo malicioso em payloads JSON.

    • Exemplo: Para a entrada {"Hello":"World"}, a análise JSON extrai a key como Hello e o value como World.

  • XML Data Parsing

    • Descrição: O módulo de análise XML processa e reestrutura dados Extensible Markup Language (XML) conforme a especificação XML (Recomendação W3C). O módulo suporta análise abrangente de estruturas de documentos XML, incluindo elementos, atributos, conteúdo de texto, seções CDATA e instruções de processamento. O processo inclui validação de sintaxe, resolução de referências de entidade, processamento de namespace e padronização da estrutura do documento. Padronizar o formato XML melhora a capacidade das regras do WAF de detectar conteúdo malicioso em payloads XML.

    • Exemplo: Para a entrada <Hello attr="desc"><![CDATA[World]]></Hello>, a análise XML extrai a key como Hello, o value como World, a key2 como Hello.attr e o value2 como desc.

  • Form Data Parsing

    • Descrição: O módulo de análise de formulário processa e reestrutura dados application/x-www-form-urlencoded de acordo com a RFC 1866. O módulo suporta análise abrangente de dados de formulários HTML, incluindo pares chave-valor, parâmetros de array, campos de upload de arquivo e estruturas aninhadas. O processo inclui decodificação de URL, processamento de conjunto de caracteres, reconhecimento de separadores de parâmetros e conversão de tipos de dados. Padronizar o formato de dados de formulário melhora a capacidade das regras do WAF de detectar conteúdo malicioso em payloads de formulário.

    • Exemplo: Para a entrada Hello=World, a análise de formulário extrai a key como Hello e o value como World.

  • Multipart Data Parsing

    • Descrição: O módulo de análise multipart processa e reestrutura dados multipart/form-data de acordo com a RFC 2046. O módulo suporta análise abrangente de uploads de arquivos HTTP e dados de formulários complexos, incluindo campos de arquivo, campos de texto, delimitadores de limite e estruturas aninhadas. O processo inclui detecção de limites, análise de campos, extração de conteúdo de arquivo e conversão de codificação. Padronizar o formato multipart melhora a capacidade das regras do WAF de detectar conteúdo malicioso em uploads de arquivos e payloads de formulários complexos.

    • Exemplo: Para a seguinte entrada, a análise multipart extrai a key como Hello e o value como World.

      ------WebKitFormBoundary7MA4YWxkTrZu0gW 
      Content-Disposition: form-data; name="Hello"
      
      World
      ------WebKitFormBoundary7MA4YWxkTrZu0gW--
  • GraphQL Parsing

    • Descrição: O módulo de análise GraphQL processa e reestrutura dados da linguagem de consulta GraphQL conforme a especificação GraphQL. O módulo suporta análise abrangente de consultas GraphQL, definições de variáveis, argumentos e diretivas, incluindo seleções de campo, parâmetros de consulta, substituições de variáveis, aliases e consultas aninhadas. O processo suporta análise de parâmetros de URL, payloads JSON, consultas GraphQL brutas e o formato de upload de arquivos multipart. Padronizar o formato GraphQL melhora a capacidade das regras do WAF de detectar conteúdo malicioso em payloads GraphQL.

    • Exemplo: Para a consulta de entrada HelloWorld{ desc(Hello:"World"){ Hello } }, a análise GraphQL extrai a key como Hello e o value como World.

Decodificação

  • Base64 Decoding

    • Descrição: O mecanismo de decodificação Base64 reverte a codificação Base64 conforme definido na RFC 4648. Este módulo lida com o conjunto de caracteres Base64 padrão (A-Z, a-z, 0-9, +, /) e o caractere de preenchimento (=). O processo de decodificação inclui validação de caracteres, tratamento de preenchimento, alinhamento de bytes e verificações de integridade de dados para garantir a precisão e confiabilidade dos dados binários.

    • Exemplo: A entrada SGVsbG8gV29scmQh é decodificada para Hello World!.

  • HTML Entity Decoding

    • Descrição: O mecanismo de decodificação de entidades HTML analisa referências de entidades de caracteres com base na especificação HTML 5.2 (Recomendação W3C). Este módulo suporta processamento padronizado de referências numéricas de caracteres (&#x;) e entidades de caracteres nomeadas (&amp;).

    • Exemplo: A entrada &#72;&#101;&#108;&#108;&#111;&#32;&#87;&#111;&#114;&#108;&#100;&excl; é decodificada para Hello World!.

  • PHP Deserialization

    • Descrição: O mecanismo de desserialização PHP reverte a função serialize() do PHP. Com base no protocolo de serialização PHP, este módulo analisa a sintaxe do formato serializado, incluindo identificadores de tipo (como i, s, a e O), metadados de comprimento e estruturas de dados recursivas. O processo inclui validação de tipo, verificações de segurança de memória e reconstrução de gráfico de objetos, suportando análise completa de tipos escalares, tipos compostos e serialização de objetos.

    • Exemplo: Para a entrada payload=O:5:"Hello":1:{s:4:"desc";s:6:"World!";}, a desserialização PHP extrai a key como payload.Hello.desc e o value correspondente como World!.

  • Java Deserialization

    • Descrição: A desserialização Java reverte o ObjectInputStream com base no protocolo de serialização Java. Este módulo analisa o formato binário do fluxo de serialização Java, incluindo descritores de classe, metadados de campo e informações de estado do objeto. O processo de decodificação segue a especificação de serialização JVM e suporta análise recursiva de gráficos de objetos complexos.

    • Exemplo: Para a entrada rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABdAAFSGVsbG90AAZXb3JsZCF4, a desserialização Java extrai a classe Java java.util.HashMap.

  • UTF-7 Decoding

    • Descrição: O mecanismo de decodificação UTF-7 converte codificações de caracteres de comprimento variável de acordo com a RFC 2152. Este módulo processa marcadores de codificação UTF-7 (+/-) e sequências de caracteres Unicode codificadas em Base64. O algoritmo suporta transmissão Unicode em ambientes ASCII de 7 bits e inclui uma máquina de estados de codificação, troca de conjuntos de caracteres e compatibilidade com protocolos legados. Isso o torna adequado para sistemas de e-mail e cenários de transmissão de mensagens MIME.

    • Exemplo: A entrada +/v8 +AEgAZQBsAGwAbwAgAFcAbwByAGwAZAAh- é decodificada para Hello World!.

  • Unicode Decoding

    • Descrição: A decodificação Unicode é um processo de conversão de codificação de caracteres baseado no padrão Unicode (ISO/IEC 10646). Este módulo analisa sequências de escape UTF-16, suportando a notação hexadecimal de quatro bytes \uXXXX e o formato estendido \u{XXXXXX}. O processo de decodificação segue a especificação Unicode 15.0 para garantir a codificação padronizada de caracteres.

    • Exemplo: Para a entrada \u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064\u0021, a saída após a decodificação Unicode é Hello World!.

  • URL Decoding

    • Descrição: A decodificação de URL reverte a codificação percentual com base na RFC 3986. Este mecanismo processa a codificação de caracteres reservados, caracteres não ASCII e caracteres especiais na sintaxe genérica de URI. O algoritmo de decodificação segue a especificação do tipo MIME application/x-www-form-urlencoded e suporta análise padrão de parâmetros de solicitação HTTP.

    • Exemplo: A entrada Hello%20World%21 é decodificada para Hello World!.

  • Hex Decoding

    • Descrição: A decodificação hexadecimal converte uma string hexadecimal em dados binários com base na RFC 4648. Este módulo usa ordem de bytes big-endian e suporta o conjunto de caracteres hexadecimais padrão (0-9, A-F, a-f). O processo de decodificação inclui validação de entrada, normalização de caracteres e alinhamento de bytes.

    • Exemplo: A entrada \x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21 é decodificada para Hello World!.

  • Octal Decoding

    • Descrição: O mecanismo de decodificação octal processa codificações de caracteres representadas por uma barra invertida seguida de dígitos octais, como \123. Com base na tabela ASCII, este módulo converte números octais em seus caracteres correspondentes, suporta o intervalo octal padrão de 0-377 (0-255 em decimal) e pode analisar sequências de escape octais em texto misto em lotes.

    • Exemplo: A entrada \110\145\154\154\157\040\127\157\162\154\144\041 é decodificada para Hello World!.

Descompressão

  • Gzip Decompression

    • Descrição: O mecanismo de descompressão Gzip opera com base na RFC 1952 e utiliza o algoritmo DEFLATE. Este módulo processa o cabeçalho do formato de arquivo Gzip (número mágico 0x1f8b, método de compressão e sinalizadores), soma de verificação CRC32 e descompacta blocos de dados comprimidos. O algoritmo suporta processamento de fluxo e descompressão em lote, e inclui gerenciamento de máquina de estados, processamento de arquivos multi-membros e mecanismos de recuperação de erros. É adequado para transmissão web, arquivamento de arquivos e cenários de compressão de dados.

    • Exemplo: Para os dados binários de entrada 1f 8b 08 00 11 39 00 69 00 ff 01 0c 00 f3 ff 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 a3 1c 29 1c 0c 00 00 00 (apresentados em formato hexadecimal para legibilidade), a descompressão Gzip produz a saída Hello World!.

Pré-processamento

  • Comment Stripping

    • Descrição: O módulo de remoção de comentários reconhece e remove sintaxe de comentários com base no padrão SQL e na sintaxe estendida do MySQL. Este módulo suporta dois formatos de comentários definidos pelo padrão ANSI SQL: comentários de linha única (-- seguidos por quaisquer caracteres até o final da linha) e comentários de várias linhas (qualquer sequência de caracteres delimitada por / /). Também é compatível com a sintaxe de comentários condicionais específica do MySQL (/! ... /). O processo inclui reconhecimento de marcadores de comentário, tratamento de comentários aninhados, análise de condições de versão e validação de limites de sintaxe. Ao remover o conteúdo dos comentários, este módulo melhora a precisão de detecção do mecanismo de regras do WAF para instruções SQL maliciosas e reduz o risco de invasores contornarem regras usando comentários.

    • Exemplo: Para a entrada /*!40101 SET */@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;, a remoção de comentários produz a saída SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;.

  • Whitespace Compression

    • Descrição: O módulo de compressão de espaços em branco normaliza caracteres de espaço em branco consecutivos. Este módulo detecta sequências de caracteres de espaço em branco consecutivos na string de entrada e os comprime em um único espaço. O processo inclui tratamento unificado de espaços em branco consecutivos iniciais, finais e intermediários para garantir a padronização e consistência do formato de texto.

    • Exemplo: Para a entrada Hello World!, a compressão de espaços em branco produz a saída Hello World!.