Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó
Este soy yo, escribiendo un script para enumerar parámetros para una solicitud POST a gov.tr, sentado frente a la frontera con Croacia.

¿Cómo empezó todo

Mi esposa y yo viajamos por el mundo y trabajamos de forma remota. Recientemente nos mudamos de Turquía a Croacia (el mejor punto para visitar Europa). Para no entrar en cuarentena en Croacia, debe tener un certificado de una prueba de covid negativa realizada a más tardar 48 horas antes de la entrada.

Descubrimos que es relativamente rentable (2500 rublos) y rápido (todos los resultados llegan en 5 horas) realizar una prueba en el aeropuerto de Estambul, desde donde acabamos de volar.

Llegamos al aeropuerto 7 horas antes de la salida, encontramos un punto de prueba. Todo lo hacen de forma caótica: subes, das tu pasaporte, pagas, te dan 2 stickers con un código de barras, vas al laboratorio móvil, donde te quitan uno de estos stickers para identificar tu análisis. Después te vas, y te dicen: ve a este sitio: enabiz.gov.tr/PcrTestSonuc, ingrese su código de barras y los últimos 4 dígitos de su pasaporte, después de un tiempo habrá un resultado.

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

Pero si ingresa datos inmediatamente después de pasar el análisis, la página da un error.

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó
Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

Incluso entonces, los pensamientos sobre la UX "hermosa" se deslizaron en mi cabeza, en la que, con cualquier error del operador que ingresó los datos del pasaporte, no hay forma de averiguar su resultado.

Antes de la salida

Llega la hora de salida, introduzco mis datos y veo que ya están los documentos para ellos, aunque todavía no hay resultado de la prueba.

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó
Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

Incluso está claro que las pruebas llegaron al laboratorio hace 1.5 horas. Pero la entrada de datos de mi esposa todavía da un error de que no se encontró la entrada. Y lo más importante, no podrá simplemente ir y preguntar qué sucede, porque. Pasamos la prueba en la zona antes del control de pasaportes.

Al abordar el vuelo, nos pidieron los resultados de las pruebas, pero, afortunadamente, pudimos convencer al representante del aeropuerto de que pronto aparecerían (les mostró los códigos de barras) y, como último recurso, entraríamos en cuarentena.

Tan pronto como subí al avión, mi código mostró que tenía una prueba negativa.

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

A la llegada

¡Y aquí es donde comienza la diversión! Tan pronto como volamos y nos conectamos al WiFi local, resultó que el registro de mi esposa no estaba en la base de datos. Y en la propia frontera, los documentos fueron abordados con mucho cuidado: el guardia fronterizo le hizo un test de coronavirus y lo llevó a una sala aparte para comprobar su realidad. Decidimos que contaríamos nuestra historia de confianza tal como es y averiguaríamos qué opciones tenemos.

Mientras hacíamos fila, decidí verificar si los datos eran correctos e incorrectos, cómo reacciona la página de validación.

Resultó que ella envía una solicitud de publicación a www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, con los siguientes parámetros:

código de barras No=XX
kimlikNo=AA
kimlikTipi=2
donde código de barrasNo - codigo de barras, kimlik No - Passport ID, kimlik tipi – parámetro fijo igual a 2 (si solo se rellenan los dos primeros campos). No se veían fichas. La solicitud devolvió 1 para los parámetros correctos (mis datos) y 0 para los incorrectos.

Del cartero, traté de clasificar 40 combinaciones (de repente, un error de un carácter), pero no salió nada.

En ese momento nos acercamos al guardia fronterizo, escuchó nuestra historia y sugirió cuarentena. Pero claramente no queríamos sentarnos en el apartamento durante 14 días, así que pedimos esperar un poco en la zona de tránsito para tratar de solucionar el problema en un par de horas. El guardia fronterizo entró en nuestra posición, fue a ver si podíamos sentarnos en la zona blanca y, con el consentimiento del jefe, dijo: “está bien, solo un par de horas”.

Empecé a buscar los teléfonos de los que hicieron la prueba de la corona y, en paralelo, decidí probar una hipótesis loca: si este sistema tiene un UX tan terrible, entonces el sistema de seguridad no debería ser bueno, aunque el gov.tr dominio.

Como resultado, mientras estaba sentado en las llamadas, escribí un pequeño script que ordenaba todos los números del 0000 al 9999 en el campo kimlikNo. barkodNo, teníamos una pegatina, así que no podía estar mal.

Imagínese mi sorpresa cuando, incluso después de 500 solicitudes continuas, no me prohibieron y el script siguió ejecutándose a 20 solicitudes por segundo desde el WiFi del aeropuerto.

Las llamadas no dieron mucho éxito: me redirigían de un departamento a otro. Pero muy pronto el script dio el codiciado valor 6505, que no se parecía en nada a los 4 dígitos reales del pasaporte.

Después de cargar el documento, resultó que claramente no era el pasaporte de mi esposa (los extranjeros rusos ni siquiera tienen esos números), pero todos los demás datos (incluido el nombre, el apellido y la fecha de nacimiento) son correctos.

Cómo la UX mal diseñada en una prueba de coronavirus casi nos pone en autoaislamiento, pero un agujero de seguridad nos salvó

Lo más interesante es que los códigos de barras tampoco son aleatorios, sino que van casi uno a uno. Por lo tanto, en teoría, podría encontrar contactos que obtuvieron el número de pasaporte de mi esposa y, en general, extraer sin problemas los datos privados de otras personas.

Pero eran las 9 am y una noche sin dormir, llegué tarde a una reunión en línea y me alegré de que nos dejaran pasar sin cuarentena, así que recién comencé mi viaje por Europa.

Fuente: habr.com

Añadir un comentario