Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo
Tai aš rašau scenarijų, skirtą surašyti POST užklausos parametrus gov.tr, sėdžiu priešais sieną su Kroatija.

Kaip viskas prasidėjo

Su žmona keliaujame po pasaulį ir dirbame nuotoliniu būdu. Neseniai iš Turkijos persikėlėme į Kroatiją (geriausias taškas aplankyti Europą). Kad nepatektumėte į karantiną Kroatijoje, ne vėliau kaip likus 48 valandoms iki atvykimo turite turėti neigiamo COVID testo pažymą.

Sužinojome, kad palyginti pelninga (2500 rublių) ir greitai (visi rezultatai ateina per 5 valandas) atlikti testą Stambulo oro uoste, iš kurio ką tik išskridome.

Atvykome į oro uostą likus 7 valandoms iki išvykimo, radome bandymo tašką. Jie viską daro chaotiškai: sugalvoji, duodi pasą, sumoki, gauni 2 lipdukus su brūkšniniu kodu, eini į mobilią laboratoriją, kur iš tavęs paima vieną iš šių lipdukų, kad nustatytų tavo analizę. Kai išeisite, jie jums pasakys: eikite į šią svetainę: enabiz.gov.tr/PcrTestSonuc, įveskite savo brūkšninį kodą ir paskutinius 4 paso skaitmenis, po kurio laiko bus rezultatas.

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Bet jei įvesite duomenis iš karto po analizės, puslapis pateikia klaidą.

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo
Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Jau tada į galvą šovė mintys apie „gražią“ UX, kurioje su bet kokia paso duomenis važiavusio operatoriaus klaida niekaip nepavyksta sužinoti tavo rezultato.

Prieš išvykstant

Ateina išvykimo laikas, suvedu savo duomenis ir matau, kad dokumentai jiems jau yra, nors testo rezultato dar nėra.

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo
Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Netgi aišku, kad tyrimai į laboratoriją atkeliavo prieš 1.5 valandos. Bet mano žmonos duomenų įvedimas vis tiek pateikia klaidą, kad įrašas nerastas. Ir svarbiausia, jūs negalėsite tiesiog eiti ir paklausti, kas negerai, nes. Išlaikėme testą zonoje prieš pasų kontrolę.

Įlipant į skrydį mūsų paprašė testo rezultatų, bet, laimei, pavyko įtikinti oro uosto atstovą, kad jie tuoj pasirodys (parodė brūkšninius kodus), ir, kraštutiniu atveju, keliausime į karantiną.

Kai tik įlipau į lėktuvą, mano kodas parodė, kad testas yra neigiamas.

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Atvykus

Ir čia prasideda linksmybės! Kai tik atskridome ir prisijungėme prie vietinio WiFi, paaiškėjo, kad žmonos įrašo duomenų bazėje nėra. O pačioje pasienyje prie dokumentų buvo kreipiamasi labai atsargiai: pasienietis atliko koronaviruso testą ir nunešė į atskirą patalpą patikrinti tikroviškumo. Nusprendėme, kad papasakosime savo pasitikėjimo istoriją tokią, kokia ji yra, ir išsiaiškinsime, kokių galimybių turime.

Kol stovėjome eilėje, nusprendžiau patikrinti, ar nėra teisingų (mano) ir neteisingų duomenų, kaip reaguoja patvirtinimo puslapis.

Paaiškėjo, kad ji siunčia pašto užklausą www.enabiz.gov.tr/PcrTestSonuc/GetPcrRaporVerifyWithKimlik, su šiais parametrais:

brūkšninio kodo Nr.=XX
kimlikNo=YY
kimlikTipi=2
kur brūkšninis kodasNr - brūkšninio kodo numeris, kimlikNe - Paso ID, kimlik Tipi – fiksuotas parametras lygus 2 (jei užpildyti tik pirmi du laukai). Jokių žetonų nesimatė. Užklausoje buvo pateikta 1 už teisingus parametrus (mano duomenys), o už neteisingus - 0.

Iš paštininko bandžiau surūšiuoti 40 kombinacijų (staiga vieno simbolio klaida), bet nieko neišėjo.

Tuo metu priėjome prie pasieniečio, jis išklausė mūsų pasakojimą ir pasiūlė karantinuoti. Bet aiškiai nenorėjome sėdėti bute 14 dienų, todėl paprašėme šiek tiek palaukti tranzitinėje zonoje, kad per porą valandų pabandytume išspręsti problemą. Pasienietis įėjo į mūsų vietą, nuėjo pažiūrėti, ar galime sėdėti baltojoje zonoje ir, viršininkui sutikus, pasakė: „gerai, tik pora valandų“.

Pradėjau ieškoti tų, kurie atliko karūnos testą, telefonų ir lygiagrečiai nusprendžiau išbandyti beprotišką hipotezę: jei ši sistema turi tokį baisų UX, tai apsaugos sistema neturėtų būti gera, nors gov.tr ​​​​domenas.

Dėl to, sėdėdamas prie skambučių, parašiau nedidelį scenarijų, kuris lauke kimlikNo surūšiavo visus skaičius nuo 0000 iki 9999. barkodNeturėjome lipduko, todėl negalėjo būti klaidinga.

Įsivaizduokite mano nuostabą, kai net po 500 nuolatinių užklausų nebuvau uždraustas, o scenarijus veikė 20 užklausų per sekundę iš oro uosto WiFi.

Skambučiai didelės sėkmės nedavė: buvau nukreiptas iš vieno skyriaus į kitą. Tačiau labai greitai scenarijus davė trokštamą reikšmę 6505, kuri visiškai nebuvo panaši į tikrus 4 paso skaitmenis.

Įkėlus dokumentą paaiškėjo, kad tai aiškiai ne mano žmonos pasas (užsieniečiai rusai tokių numerių net neturi), bet visi kiti duomenys (įskaitant vardą, pavardę ir gimimo datą) yra teisingi.

Kaip prastai suprojektuotas UX atliekant koronaviruso testą mus beveik izoliavo, tačiau saugumo skylė mus išgelbėjo

Įdomiausia, kad brūkšniniai kodai taip pat nėra atsitiktiniai, o eina beveik po vieną. Taigi teoriškai galėčiau rasti kontaktus, kurie gavo mano žmonos paso numerį, ir apskritai sklandžiai išpumpuoti kitų žmonių asmeninius duomenis.

Bet buvo 9 ryto ir naktis be miego, pavėlavau į internetinį susitikimą ir džiaugiausi, kad mus įleido be karantino, tad tik pradėjau kelionę po Europą.

Šaltinis: www.habr.com

Добавить комментарий