Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou
Este sou eu, escrevendo um script para enumerar parâmetros para uma solicitação POST para gov.tr, sentado em frente à fronteira com a Croácia.

Como tudo começou

Minha esposa e eu viajamos pelo mundo e trabalhamos remotamente. Recentemente nos mudamos da Turquia para a Croácia (o melhor ponto para visitar a Europa). Para não entrar em quarentena na Croácia, você precisa ter um certificado de teste de covid negativo feito até 48 horas antes da entrada.

Descobrimos que é relativamente lucrativo (2500 rublos) e rápido (todos os resultados chegam em 5 horas) fazer um teste no aeroporto de Istambul, de onde acabamos de sair.

Chegamos ao aeroporto 7 horas antes da partida, encontramos um ponto de teste. Eles fazem tudo caoticamente: você sobe, entrega o passaporte, paga, ganha 2 adesivos com código de barras, vai ao laboratório móvel, onde tiram um desses adesivos para identificar sua análise. Depois que você sair, e eles te falarem: vá nesse site: enabiz.gov.tr/PcrTestSonuc, insira seu código de barras e os últimos 4 dígitos do seu passaporte, depois de um tempo haverá um resultado.

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

Mas se você inserir os dados imediatamente após passar na análise, a página apresentará um erro.

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou
Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

Mesmo assim, pensamentos sobre o “belo” UX surgiram na minha cabeça, em que, com qualquer erro da operadora que dirigiu os dados do passaporte, não há como saber o seu resultado.

Antes da partida

Chega a hora da saída, insiro meus dados e vejo que os documentos para eles já estão lá, embora ainda não haja resultado do exame.

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou
Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

É até claro que os testes chegaram ao laboratório há 1.5 horas. Mas a entrada de dados da minha esposa ainda apresenta um erro informando que a entrada não foi encontrada. E o mais importante, você não poderá simplesmente perguntar o que há de errado, porque. Passamos no teste na zona antes do controle de passaporte.

No embarque, nos pediram resultados de exames, mas, felizmente, conseguimos convencer o representante do aeroporto de que logo apareceriam (mostrou os códigos de barras) e, como último recurso, entraríamos em quarentena.

Assim que entrei no avião, meu código mostrou que eu tinha um teste negativo.

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

Na chegada

E é aqui que a diversão começa! Assim que voamos e nos conectamos ao WiFi local, descobrimos que o registro de minha esposa não estava no banco de dados. E na própria fronteira, os documentos foram abordados com muito cuidado: o guarda de fronteira fez um teste para coronavírus e levou para uma sala separada para verificar sua realidade. Decidimos que contaríamos nossa história de confiança como ela é e descobriríamos quais opções temos.

Enquanto estávamos na fila, resolvi verificar se há dados corretos (meus) e incorretos, como reage a página de validação.

Descobriu-se que ela envia uma solicitação de postagem para www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, com os seguintes parâmetros:

código de barrasNº=XX
kimlikNo=AA
kimlikTipi=2
onde código de barrasNão - número do código de barras, kimlikNão - número do passaporte, Kimlik Tipi – parâmetro fixo igual a 2 (se apenas os dois primeiros campos forem preenchidos). Nenhum token estava visível. A solicitação retornou 1 para os parâmetros corretos (meus dados) e 0 para os incorretos.

Do carteiro, tentei classificar 40 combinações (de repente um erro de um caractere), mas não deu em nada.

Nesse momento, abordamos o guarda de fronteira, ele ouviu nossa história e sugeriu a quarentena. Mas claramente não queríamos ficar sentados no apartamento por 14 dias, então pedimos para esperar um pouco na zona de trânsito para tentar resolver o problema em algumas horas. O guarda de fronteira entrou na nossa posição, foi ver se podíamos sentar na zona branca e, com o consentimento do chefe, disse: “ok, só algumas horas”.

Comecei a procurar os telefones de quem fez o teste da coroa e, paralelamente, resolvi testar uma hipótese maluca: se esse sistema tem uma UX tão ruim, o sistema de segurança não deve ser bom, mesmo que o gov.tr ​​​​domínio.

Como resultado, durante as chamadas, escrevi um pequeno script que classificava todos os números de 0000 a 9999 no campo kimlikNo. nós tínhamos um adesivo, então não poderia estar errado.

Imagine minha surpresa quando, mesmo após 500 solicitações contínuas, não fui banido e o script continuou rodando a 20 solicitações por segundo no WiFi do aeroporto.

As ligações não deram muito sucesso: fui redirecionado de um departamento para outro. Mas logo o script deu o cobiçado valor 6505, que não era nada parecido com os 4 dígitos reais do passaporte.

Depois de fazer o upload do documento, descobri que claramente não era o passaporte da minha esposa (os estrangeiros russos nem têm esses números), mas todos os outros dados (incluindo nome, sobrenome e data de nascimento) estão corretos.

Como UX mal projetado em um teste de coronavírus quase nos colocou em auto-isolamento, mas uma falha de segurança nos salvou

O mais interessante é que os códigos de barras também não são aleatórios, mas vão quase um a um. Assim, em teoria, eu poderia encontrar contatos que obtivessem o número do passaporte de minha esposa e, em geral, bombear sem problemas os dados privados de outras pessoas.

Mas eram 9h e uma noite sem dormir, estava atrasado para uma reunião online e fiquei feliz por nos deixarem entrar sem quarentena, então comecei minha jornada pela Europa.

Fonte: habr.com

Adicionar um comentário