CRM Help

Aprimoramentos de segurança no Zoho CRM API Framework

Uma notícia para usuários do Zoho CRM API.

O Zoho CRM fará alguns aprimoramentos de segurança para sua estrutura de API em 8 de abril de 2017. Esse aprimoramento implica que os usuários de API codifiquem alguns caracteres de um valor de parâmetro. A lista detalhada de caracteres é apresentada abaixo. Esses caracteres, quando usado como valores de parâmetros, não serão mais considerados seguros após essa atualização.

Portanto, é altamente recomendável que você examine suas chamadas de API e codifique todos os caracteres não seguros antes de 8 de abril de 2017. Não fazê-lo pode resultar em quebra das chamadas de API existentes.

Por que a codificação é necessária

Quando você usa caracteres não seguros em suas chamadas de API, você enfrenta o risco de estar vulnerável a problemas de segurança. Eis uma breve descrição da vulnerabilidade a que você está exposto quando usa caracteres não seguros:

The code that parses the HTTP request line permits invalid characters. This could be exploited, in conjunction with a proxy that may also permit the invalid characters but with a different interpretation, in order to inject data into the HTTP response. By manipulating the HTTP response, an attacker could poison a web-cache, perform an XSS attack, and/or obtain sensitive information from requests other than their own.

Por esse motivo, estamos fazendo esses aprimoramentos de segurança no próximo mês. Assim, incentivamos você a codificar os caracteres não seguros em suas chamadas de API antes de 8 de abril de 2017.

Caracteres a serem codificados

A seguir, a lista de caracteres seguros e não seguros. Os caracteres não seguros precisam ser codificados.

Os caracteres seguros não precisam de codificação:

  • Caracteres alfanuméricos: [0-9 a-z A-Z]
  • Caracteresespeciais: $ -_ . + ! * ' ( ) ,
  • Caracteresreservados quando usados para fins reservados(por ex., / ? : = &)

Caracteres não seguros que precisam de codificação

  • Caracteres de controle ASCII:
    Caracteres ISO-8859-1 (ISO-Latin) na faixa 00-1F hex (0-31 decimal) e 7F (127 decimal.)
  • Caracteres não-ASCII:
    Toda a “metade superior” do conjunto ISO-Latin 80-FF hex (128-255 decimal.)
  • Caracteres não seguros
    Espaço em branco/vazio e " <> # % { } | \ ^ ~ [ ] `
  • Caracteresreservados quando NÃO USADOS para fins reservados ou definidos.

Para exemplo, considere o seguinte URL:

URL incorreto:

https://crm.zoho.com/crm/private/xml/Leads/searchRecords?authtoken=<authtoken>&criteria=(Last Name:Amelia{Burrows)

Em Amelia{Burrows), pela lista acima, { é um caractere não seguro. Se você não codificar esse caractere, isso resultará em um erro depois do aprimoramento de segurança.

O caractere tem de ser codificado como %7B.

URL correto:

O valor de parâmetro incorreto foi codificado. Desse modo, o URL correto é o seguinte:

https://crm.zoho.com/crm/private/xml/Leads/searchRecords?authtoken=<authtoken>&criteria=%28Last+Name%3AScott%7BBurrows%29

Consulte a lista acima para conhecer os caracteres não seguros e codifique aqueles nos URLs adequadamente antes de 8 de abril de 2017.

Como codificar

Eis o procedimento para codificar os caracteres em idiomas diferentes.

Idioma Script
JAVAURLEncoder.encode("(Last Name:Amelia{Burrows)", "UTF-8");
RubyURI::encode("(Last Name:Amelia{Burrows)")
PHPurlencode("(Last Name:Amelia{Burrows)")

Se você tiver alguma dúvida, envie-nos um e-mail em support@zohocrm.com

Share this post : FacebookTwitter

Ainda não consegue encontrar o que você está procurando?

Escreva para nós: support@zohocrm.com