Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os
Det er mig, der skriver et script til at opregne parametre for en POST-anmodning til gov.tr, der sidder foran grænsen til Kroatien.

Hvordan det hele begyndte

Min kone og jeg rejser verden rundt og arbejder på afstand. Vi flyttede for nylig fra Tyrkiet til Kroatien (det bedste sted at besøge Europa). For ikke at komme i karantæne i Kroatien skal du senest 48 timer før indrejsen have lavet et certifikat på en negativ covid-test.

Vi fandt ud af, at det er relativt rentabelt (2500 rubler) og hurtigt (alle resultater kommer inden for 5 timer) at tage en test i Istanbul lufthavn, hvorfra vi lige fløj ud.

Vi ankom til lufthavnen 7 timer før afgang, fandt et testpunkt. De gør alting kaotisk: du kommer op, giver dit pas, betaler, får 2 klistermærker med en stregkode, går til det mobile laboratorium, hvor de tager et af disse klistermærker fra dig for at identificere din analyse. Når du er gået, og de fortæller dig: gå til denne side: enabiz.gov.tr/PcrTestSonuc, kør din stregkode og de sidste 4 cifre i dit pas ind, efter et stykke tid kommer der et resultat.

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Men hvis du indtaster data umiddelbart efter at have bestået analysen, giver siden en fejl.

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os
Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Allerede dengang sneg tankerne sig om den "smukke" UX ind i mit hoved, hvor der, med enhver fejl fra operatøren, der kørte i pasdataene, ikke er nogen måde at finde ud af dit resultat.

Før afgang

Afrejsetidspunktet kommer, jeg indtaster mine data og ser, at dokumenterne for dem allerede er der, selvom der ikke er noget testresultat endnu.

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os
Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Det er endda klart, at testene ankom til laboratoriet for 1.5 time siden. Men min kones dataindtastning giver stadig en fejl om, at indtastningen ikke blev fundet. Og vigtigst af alt, vil du ikke bare kunne gå og spørge, hvad der er galt, fordi. Vi bestod testen i zonen før paskontrollen.

Da vi gik ombord på flyet, blev vi bedt om testresultater, men heldigvis var vi i stand til at overbevise lufthavnsrepræsentanten om, at de snart ville dukke op (viste dem stregkoderne), og som en sidste udvej ville vi gå i karantæne.

Så snart jeg kom ombord på flyet, viste min kode, at jeg havde en negativ test.

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Ved ankomst

Og det er her det sjove begynder! Så snart vi fløj ind og oprettede forbindelse til det lokale WiFi, viste det sig, at min kones rekord ikke var i databasen. Og ved selve grænsen blev dokumenterne nærmet sig meget omhyggeligt: ​​Grænsevagten tog en test for coronavirus og tog den til et separat rum for at kontrollere dets virkelighed. Vi besluttede, at vi ville fortælle vores tillidshistorie, som den er, og finde ud af, hvilke muligheder vi har.

Mens vi stod i kø, besluttede jeg at tjekke for korrekte (mine) og forkerte data, hvordan valideringssiden reagerer.

Det viste sig, at hun sender en postanmodning til www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, med følgende parametre:

stregkodenummer=XX
kimlikNo=YY
kimlikTipi=2
где stregkodenr – stregkodenummer, kimlikNr - pas-id, kimlik Tipi – fast parameter lig med 2 (hvis kun de to første felter er udfyldt). Ingen tokens var synlige. Forespørgslen returnerede 1 for de korrekte parametre (mine data) og 0 for de forkerte.

Fra postbuddet forsøgte jeg at sortere gennem 40 kombinationer (pludselig en fejl på én karakter), men der kom intet ud af det.

I det øjeblik henvendte vi os til grænsevagten, han lyttede til vores historie og foreslog karantæne. Men vi havde tydeligvis ikke lyst til at sidde i lejligheden i 14 dage, så vi bad om at vente lidt i transitzonen for at prøve at løse problemet i løbet af et par timer. Grænsevagten gik ind i vores stilling, gik for at se, om vi kunne sidde i den hvide zone, og sagde med chefens samtykke: "okay, bare et par timer."

Jeg begyndte at lede efter telefonerne til dem, der lavede kronetesten, og besluttede samtidig at teste en skør hypotese: Hvis dette system har sådan en forfærdelig UX, så burde sikkerhedssystemet ikke være godt, selvom gov.tr​ domæne.

Som et resultat, mens jeg sad på opkald, skrev jeg et lille script, der sorterede gennem alle numrene fra 0000 til 9999 i kimlikNo-feltet. barkodNo havde vi på et klistermærke, så det kunne ikke være forkert.

Forestil dig min overraskelse, da jeg selv efter 500 kontinuerlige anmodninger ikke blev forbudt, og scriptet blev ved med at køre med 20 anmodninger i sekundet fra lufthavnens WiFi.

Opkald gav ikke meget succes: Jeg blev omdirigeret fra en afdeling til en anden. Men meget hurtigt gav manuskriptet den eftertragtede værdi 6505, som slet ikke var som de rigtige 4 cifre i passet.

Efter at have uploadet dokumentet viste det sig, at det tydeligvis ikke var min kones pas (russiske udlændinge har ikke engang sådanne numre), men alle andre data (inklusive fornavn, efternavn og fødselsdato) er korrekte.

Hvor dårligt designet UX på en Coronavirus-test næsten satte os i selvisolation, men et sikkerhedshul reddede os

Det mest interessante er, at stregkoderne heller ikke er tilfældige, men går næsten én efter én. Således kunne jeg i teorien finde kontakter, der fik min kones pasnummer, og i det hele taget uden problemer pumpe andres private data ud.

Men klokken var 9 og en nat uden søvn, jeg kom for sent til et onlinemøde og var glad for, at de slap os igennem uden karantæne, så jeg startede lige min rejse rundt i Europa.

Kilde: www.habr.com

Tilføj en kommentar