Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss
Dette er meg som skriver et skript for å telle opp parametere for en POST-forespørsel til gov.tr, som sitter foran grensen til Kroatia.

Hvordan det hele begynte

Min kone og jeg reiser verden rundt og jobber eksternt. Vi flyttet nylig fra Tyrkia til Kroatia (det beste punktet å besøke Europa). For ikke å gå i karantene i Kroatia, må du ha et sertifikat på en negativ covid-test senest 48 timer før innreise.

Vi fant ut at det er relativt lønnsomt (2500 rubler) og raskt (alle resultater kommer innen 5 timer) å ta en test på flyplassen i Istanbul, hvorfra vi nettopp fløy ut.

Vi ankom flyplassen 7 timer før avgang, fant et testpunkt. De gjør alt kaotisk: du kommer opp, gir passet ditt, betaler, får 2 klistremerker med strekkode, går til mobillaboratoriet, hvor de tar et av disse klistremerkene fra deg for å identifisere analysen din. Etter at du har gått, og de forteller deg: gå til denne siden: enabiz.gov.tr/PcrTestSonuc, kjør inn strekkoden din og de 4 siste sifrene i passet ditt, etter en stund kommer det et resultat.

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Men hvis du legger inn data umiddelbart etter å ha bestått analysen, gir siden en feil.

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss
Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Selv da snek tankene om den "vakre" UX seg inn i hodet mitt, der det, med enhver feil fra operatøren som kjørte inn passdataene, ikke er mulig å finne ut resultatet.

Før avgang

Avreisetiden kommer, jeg legger inn dataene mine og ser at dokumentene for dem allerede er der, selv om det ikke er noe testresultat ennå.

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss
Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Det er til og med klart at testene kom til laboratoriet for 1.5 time siden. Men min kones dataregistrering gir fortsatt en feilmelding om at oppføringen ikke ble funnet. Og viktigst av alt, du vil ikke kunne bare gå og spørre hva som er galt, fordi. Vi besto prøven i området før passkontrollen.

Da vi gikk ombord på flyet, ble vi spurt om testresultater, men heldigvis klarte vi å overbevise flyplassrepresentanten om at de snart ville dukke opp (viste dem strekkodene), og som en siste utvei ville vi gå i karantene.

Så snart jeg kom på flyet viste koden min at jeg hadde en negativ test.

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Ved ankomst

Og det er her moroa begynner! Så snart vi fløy inn og koblet til den lokale WiFi-en, viste det seg at min kones post ikke var i databasen. Og ved selve grensen ble dokumentene nærmet seg veldig nøye: grensevakten tok en test for koronavirus og tok den med til et eget rom for å sjekke virkeligheten. Vi bestemte oss for at vi skulle fortelle vår tillitshistorie slik den er og finne ut hvilke muligheter vi har.

Mens vi sto i kø bestemte jeg meg for å se etter korrekte (mine) og feil data, hvordan valideringssiden reagerer.

Det viste seg at hun sender en postforespørsel til www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, med følgende parametere:

strekkodenr=XX
kimlikNo=YY
kimlikTipi=2
der strekkodenr – strekkodenummer, kimlikNo - Pass ID, kimlik Tipi – fast parameter lik 2 (hvis bare de to første feltene er fylt ut). Ingen tokens var synlige. Forespørselen returnerte 1 for de riktige parameterne (mine data), og 0 for de feil.

Fra postmannen prøvde jeg å sortere gjennom 40 kombinasjoner (plutselig en feil på én karakter), men det ble ingenting av det.

I det øyeblikket henvendte vi oss til grensevakten, han lyttet til historien vår og foreslo karantene. Men vi ønsket tydeligvis ikke å sitte i leiligheten på 14 dager, så vi ba om å vente litt i transittsonen for å prøve å ordne opp i problemet i løpet av et par timer. Grensevakten gikk inn i vår posisjon, gikk for å se om vi kunne sitte i den hvite sonen, og med samtykke fra hodet sa: "ok, bare et par timer."

Jeg begynte å lete etter telefonene til de som gjorde kronetesten, og bestemte meg samtidig for å teste en sprø hypotese: hvis dette systemet har en så forferdelig UX, burde ikke sikkerhetssystemet være bra, selv om gov.tr domene.

Som et resultat, mens jeg satt på samtaler, skrev jeg et lite skript som sorterte gjennom alle tallene fra 0000 til 9999 i kimlikNo-feltet. barkodNo hadde vi på et klistremerke, så det kunne ikke være feil.

Se for deg overraskelsen min da jeg ikke ble utestengt etter 500 kontinuerlige forespørsler og skriptet fortsatte å kjøre med 20 forespørsler per sekund fra flyplassens WiFi.

Samtaler ga ikke mye suksess: Jeg ble omdirigert fra en avdeling til en annen. Men veldig snart ga manuset den ettertraktede verdien 6505, som slett ikke var som de ekte 4 sifrene i passet.

Etter å ha lastet opp dokumentet viste det seg at det tydeligvis ikke var passet til min kone (russiske utlendinger har ikke engang slike numre), men alle andre data (inkludert fornavn, etternavn og fødselsdato) er korrekte.

Hvor dårlig utformet brukeropplevelse på en koronavirustest nesten satte oss i selvisolasjon, men et sikkerhetshull reddet oss

Det mest interessante er at strekkodene heller ikke er tilfeldige, men går nesten én etter én. Dermed kunne jeg i teorien finne kontakter som fikk min kones passnummer, og generelt sett jevnt ut andres private data.

Men klokken var 9 og en natt uten søvn, jeg kom for sent til et nettmøte og var glad for at de slapp oss gjennom uten karantene, så jeg startet nettopp reisen rundt i Europa.

Kilde: www.habr.com

Legg til en kommentar