A worthy Friday story unfolded with American security researcher Joseph Tartaro. He wanted to stand out by ordering not just a personalized license plate, but also linking it to his profession. His first thought was to play around with SEGFAULT or something similar. However, he ultimately settled on the plate NULL for his car and VOID for his wife. Did you sense something amiss? Read on to find out how this innocent prank turned into a saga, another quirky Mister Null, and the lessons about bugs in data type checks from user input.

So, in 2016, our programming joker received his brand new humorous license plates and surely rubbed his hands gleefully. He even hoped that this move would spare him from speeding tickets. Not that he broke the law significantly, but the idea of breaking the system like this seemed quite interesting to a security expert.
Problems began a year later when he tried to renew his plates online. This confused the designated website immensely.

The system deemed the number he entered as invalid. The programmers messed up somewhere, and the NULL he entered as a string value was apparently checked incorrectly. A loose type-checking error? Nonetheless, he managed to renew the plate for a year using the code in the link, and somewhat later he forgot about all of it.
However, as it turned out, this was far from the end of his troubles. The story then resembled an old joke:
A soldier in the middle of a field is trying to somehow repair a track that fell off a tank. Suddenly, out of nowhere, a fairy appears and asks:
— What are you up to, soldier?
— Well, I'm struggling a bit.
— Want to do it properly?
— (dreamily) I want to…
The fairy waved her wand… And the tank's turret fell off.
Nii et, 2018. aasta alguses sai ta täiesti teenitud trahvi summas $35. Ta oleks võinud selle vaidlustada, kuid maksta oli lihtsam, summa ei olnud suur. Ja siis lehvitas haldjas oma võlukeppi... Ja tema postkasti sadasid trahvid tasumata parkimise, valeparkimise ja muu sellise eest. Kümnetest ja kümnetest trahvidest summades $37, $60, $74, $80... Erinevatest California nurkadest. Erinevate automudelite tõttu. Üks hälve tüüpimisvõimekontrollis seostas NULL väärtuse tema isikuandmetega. Ja iga kord, kui tubli korrakaitsja unustas trahvi välja kirjutades auto numbri süsteemi sisestada, läks auhind meie kangelasele (siinkohal võiks nüpeldada ka frontendi arendajaid, et nad ei olnud kontrollinud ühe võtmeparameetri täitmist).
Mingi hetk sai ta kaks trahvi, mis olid välja kirjutatud samas kohas mitme tunni vahega täiesti erinevatele autodele. Täiendava õnne saavutamiseks rakendati talle retrospektiivselt vanu trahve, millel ei olnud numbrit. Nii sai ta isegi trahvid, mis kuulusid aastasse 2014, mil tal ei olnud isegi seda numbrit. Lõpuks tekkis tal üle $12000 ulatuses trahve.

Parkimistrahvidega tegeles erafirma Citation Processing Center. Loomulikult võttis Joseph nendega ühendust ja püüdis olukorda selgitada. Loomulikult oli telefonimanagersõbralikkus, kuid palus neil saata neile tagasi tõendite koopiad, et nad saaksid seal olukorra üle vaadata. Kuid see tähendaks ainulaadse püsiva koopia kaotamist, mis kinnitas trahvi vale väljakirjutamist. Ja hästi, et ta ei saatnud. Hiljem märkas ta, et veebis saadaval olevas avatud trahvide andmebaasis oli algne automudel asendatud tema omaga. Veel üks vooru vestlusi managereid, sama kasutu.
Lõpuks pidi ta otse DMV (Department of Motor Vehicles, transpordi registreerimisega tegeleva riigiasutuse) poole pöörduma ning nende abiga õnnestus tal üsna kiiresti summa 6262 $ võrra vähendada, kuid see ei lahendanud algset probleemi. Uusi trahve jätkuvalt laekus. Originaali artikli kirjutamise ajal Wiredis olid tasumata kaks trahvi kokku 140 $. Mis kõige kurvem, DMV keeldub temalt numbrite pikendamisest järgmiseks aastaks, kuni trahvid on tasutud. Veelgi enam, ei ole selge, kuhu minna ja kellele ütelda, et see probleem lahendada. DMV märgib, et nende süsteem tuvastab õigesti tema numbrid ja mõistab olukorra absurdsust. Kuid parkimisküsimustega tegelevad kohalikud ametivõimud, millele nad ei saa kuidagi mõju avaldada. Seetõttu võib lugu veel jätkuda. Nali torunes.
Hr. Null
Christopher Null'il (Kristopher Null) läks veel halvemini. Tal on halba õnne sünniga sellise perekonnanimega. Kui Joseph Tartaro kannatab ainult trahvide all ja vaid umbes aasta, siis Christopher sukeldub pidevalt sügavamale kannatuste kuristikku koos digitaaltehnoloogiate arenguga.
Eriti ebamugavust toob talle laialdaselt levinud MVP (minimum viable product, minimaalne elujõuline toode) mõisted, mis mõnel juhul kattuvad otsekohe «härrah-härrah ja tootmisse» kontseptsiooniga.
Kui isegi jätta kõrvale kõik algtaseme naljad tema perekonnanime üle ning süüdistused katsetes seeläbi tähelepanu tõmmata (mis on hea meetod, kui oled tehniline ajakirjanik, nagu Christopher), siis kummalised asjaolud tekivad teatud veebisaitide ja rakendustega töötamisel.
Christopheri väitel töötlevad enamiku veebisaitide süsteem perekonnanime Null õigesti. Mõned teatavad, et väli ei saa olla tühi või et see on reserveeritud sõna. Harvadel juhtudel rakendused lihtsalt kokku kukuvad. Huvi pärast on ta märganud, et mida suurem on ettevõte, kes rakenduse või saidi taga seisab, seda rohkem on probleeme tema perekonnanimega.
Eraldi rõõmustab tema andmete filtreerimine, mis eemaldab Null juba salvestatud andmetest. Nii juhtub, et ta saab kirju Media LLC aadressile (samal ajal kui ettevõtte nimi on Null Media LLC), aga mõnikord pöördutakse temaga lihtsalt kui "Hr." spammis. Tal tuli isegi välja töötada ümbersõidud. Näiteks, sisestades teise nime või initsiaali samasse väljade perekonnanimega või lihtsalt lisades punkti lõppu. Aga mõnikord on süsteemi jonn ületamatu.
Nii keeldus Bank of America täielikult vastu võtmast tema e-kirja null@nullmedia.com. Nende süsteem lihtsalt keeldus aktsepteerimast nulli kasutajanime osas, tuli isegi luua alias info@ spetsiaalselt panga jaoks. Aga pangasoftware arenes aktiivselt ja mõne aasta pärast... ei aktsepteerinud nulli isegi domeeninime osana. Vaesel mehel tuli luua tavaline Gmaili konto, mis sisaldas samuti nulli, kuid mitte kasutajanime alguses.
Kas olete sattunud mõnele naljakale olukorrale süsteemsete väärtuste töötlemisel? Jagage oma kogemusi kommentaarides.
Aitäh, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite näha rohkem huvitavat sisu? Toetage meid tellimuse esitamise või tuttavatele soovitamisega, 30% allahindlus Habr'i kasutajatele ainulaadsele sissetuleku tasemel serverile, mille oleme teie jaoks välja mõelnud: (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).
Dell R730xd kaks korda odavam? Ainult meie juures Hollandis! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — alates $99! Lugege sellest
Allikas: habr.com
