Money for nothing, discounts for free: rocking the gift card loop

Picture of vantico

vantico

Money for nothing, discounts for free: rocking the gift card loop

1.0 Entendendo os Gift Cards e Cupons de Desconto

Com uma certa frequência, me aparece a oportunidade de realizar pesquisa de vulnerabilidades em e-commerces e, sendo bem franco, apesar do contexto ser o mesmo, cada uma das oportunidades acaba sendo única. Sempre existe ao menos uma peculiaridade nas aplicações e, recentemente, teve um caso envolvendo Gift Cards que acredito valer a pena o esforço de escrever uma publicação.

Sites de comercialização de qualquer tipo de item possuem uma enorme complexidade em torno de suas lógicas e, normalmente, quando isso acontece, fica um tanto quanto difícil garantir que todos os fluxos tenham as medidas de seguranças adequadas. Nessa publicação, iremos falar especificamente sobre duas específicas em um e-commerce: gift cards & cupons de descontos.

Gift cards: espécie de cartão pré-pago virtual que os clientes podem adquirir para si ou para presentear outras pessoas. Ele possui um valor monetário associado que pode ser utilizado para fazer compras no site, permitindo que o destinatário escolha os produtos ou serviços que deseja adquirir, até que o saldo do gift card seja utilizado por completo.

Cupom de desconto: é um código normalmente alfanumérico fornecido aos clientes para reduzir o preço de compra de produtos ou serviços. Ao aplicar o cupom durante o processo de pagamento, o cliente recebe um desconto ou benefício específico, como uma porcentagem de desconto ou frete grátis, tornando a compra mais vantajosa.

 

2.0 Rocking the gift card loop

Exemplo de compra de Gift Card em e-commerce
Exemplo de compra de Gift Card em e-commerce.

 

Imagine um cenário hipotético, onde um site possui essa opção de compra de gift card e, ao mesmo tempo, permite que um cupom de desconto seja utilizado nessa compra. Exemplo: iremos comprar um gift card de R$ 150,00 e utilizar um cupom 15OFF que representa 15% de desconto, ou seja, R$ 15,00 nesse caso. Assim, iremos pagar apenas R$ 135,00 por algo que irá continuar valendo R$ 150,00.

Comprando um Gift Card com Cupom de Desconto em e-commerce
Comprando um Gift Card com Cupom de Desconto em e-commerce

 

Mas qual o problema aqui? Esse gift card nos permite comprar outro gift card, aplicando novamente o cupom de desconto. Assim na próxima compra podemos novamente comprar um gift card de R$ 150,00, mas agora pagando somente R$ 120,00. Identificou o padrão? A cada compra estamos “criando” R$ 15,00 de saldo extra.

Se isso for feito 10x seguidas, teremos um retorno de 100% do saldo de R$ 150,00 que foi criado, iremos ter um total de R$ 300,00. Categorizando essa ação como uma fraude.

Além disso, cada operação financeira em um e-commerce normalmente possui uma taxa de transação. Então provavelmente isso seria cobrado em cada uma das 10x desse ciclo, prejudicando mais um pouquinho a plataforma que está realizando a venda.

 

3.0 Propostas de solução

Essa vulnerabilidade explora por erros de lógica de negócios, então para tentar realizar uma mitigação iremos precisar rever esse fluxo. A primeira opção, mais simples e com uma mitigação direta, é criar uma nova regra que não permita o uso de gift card durante as compras de outros gift cards. Mais uma regra que pode adicionar um pouco mais de maturidade no mecanismo seria não permitir o uso de cupons de descontos em compras de gift card.

Além disso, é altamente recomendado que e-commerce tenham uma implementação de uma Engine para detecção de fraudes.

 

4.0 Referências

  1. Common Security Issues in Financially- Oriented Web Applications – NCC Group
  2. Gift Card Fraud Prevention Methods & Solutions

5.0 Créditos

Heitor Gouvêa | LinkedIn

veja também

Outros conteúdos sobre Segurança Cibernética