Escape do XML (proteção de segurança da instância)

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • A propriedade glide.ui.escape_text força o escape de valores XML no nível do analisador antes de transmiti-los ao navegador do cliente.

    Nota:
    Essa propriedade é definida como true por padrão em Vancouver e versões posteriores, e não pode ser alterada pelos administradores. Para um caso de uso em que a propriedade precise ser alterada, entre em contato com o suporte ao cliente.
    O script entre sites ocorre quando um invasor injeta JavaScript mal-intencionado em um ponto de entrada. A plataforma/aplicação não consegue escapar do JavaScript malicioso antes de transmiti-lo ao navegador da vítima para execução. O escape neste contexto significa o seguinte:
    • & --> &
    • < --> <
    • > --> >
    • " --> "
    • ' --> '
    • / --> /

    Exemplo: <![CDATA[<script> alert('Ataque XSS');</script> ]]>

    Escape: <script>alert('XSS Attack');</script>

    Mais informações

    Atributo Descrição
    Nome da propriedade glide.ui.escape_text
    Tipo de configuração Propriedades do sistema (/sys_properties_list.do)
    Configurar em Instance Security Center Sim
    Finalidade O escape de XML garante que os navegadores não analisem o JavaScript mal-intencionado incorporado em dados não confiáveis e o executem como JavaScript.
    • Um usuário mal-intencionado pode tentar um ataque XSS para sequestrar a sessão de outros usuários ou redirecionar o usuário para um site mal-intencionado.
    • A Now Platform contém código para proteger os cookies, mas o escape depende desta propriedade ser definida como verdadeira.
    Valor recomendado verdadeiro
    Impacto funcional (Médio) Essa correção impõe a codificação XML no nível do analisador XML na interface do usuário. Ele renderiza os resultados codificados para o usuário, o que pode ter um impacto na funcionalidade com base na interação do usuário da instância com os dados resultantes.
    Risco à segurança (Alto) A validação de entrada deve ocorrer na aplicação para defesa contra ataques de script entre sites. Esses ataques permitem que scripts externos sejam executados na sessão do usuário no contexto do navegador logado. Os invasores podem usá-los para roubar informações da sessão e dados confidenciais.
    Solução alternativa

    Depois de definir esta propriedade como verdadeira, a renderização é interrompida nos marcadores HTML na descrição do item do catálogo ou no texto de ajuda da variável do item do catálogo. Você pode não conseguir usar a formatação HTML em alguns campos.

    No entanto, se a propriedade glide.ui.escape_text for desativada, todas as expressões JEXL serão prefixadas com um codificador de saída:

    $⁠{JS:expression}

    $⁠{HTML:expression}

    ou

    $⁠{JS,HTML:expression}

    Referências

    Configurações de Alta Segurança

    Para saber mais sobre como adicionar ou criar uma propriedade do sistema, consulte Add a system property.