Sikkerhedsmand Troy Hunt har en pudsig historie på sin blog. Den handler om kode hos en webshop, der ifølge Hunt har til formål på den ene side at forhindre, at brugeren får en browser-advarsel om manglende https på sitet, samtidig med der faktisk ikke er https på sitet.
Som flere ved, så gør flere moderne browsere opmærksom på manglende https-forbindelse i forskellige sammenhænge.
Hunt fortæller, at både Firefox og Chrome tidligere på året begyndte at advare brugeren ved login-forme uden https. Og https bør man bruge, fortæller Hunt i bloginlægget:
»You should use it. No really, if you're not HTTPS'ing all your things then you're doing it wrong. The browser vendors know this and they're increasingly holding non-compliant websites to account.«
I den forbindelse fremhæver sikkerhedsmanden et eksempel, han har fået tilsendt. Det drejer sig om en webshop, som anvender en standard online-shopping web-app.
Advarslerne fra browseren kommer først og fremmest, såfremt der optræder et input-felt af typen password. For at undgå, at browseren advarer og samtidig vise brugeren, hvad der ligner et HTML-password-felt, har webbutikken, da Hunt testede, anvendt følgende Javascript-kode.
<input id="pw" placeholder="Password" name="pw" maxlength="100" class="textbox" style="width:230px;margin-bottom:5px;" onclick="javascript:this.placeholder='';" type="textbox">
Javascriptet, der knytter sig til koden, ser således ud:
<script> jQuery(document).on('click', '#pw', function() { jQuery(this).addClass('text-security'); }) </script>
Og CSS-koden, som Javascript'et henviser til, ser ud som følger:
.text-security { font-family: 'text-security-disc'; }
Resultatet af ovenstående er, at mens det for brugeren ser ud, som om login-feltet er et almindeligt password-felt - altså af den type, som kunne resultere i en browser-advarsel ved manglende https - så er der reelt tale om en almindelige HTML-textbox.
Fonten, der er anvendt i boksen, gør, at skrifttegn bliver til runde skiver - altså ikke ulig det visuelle udtryk i et password-felt.
Hunt konkluderer i sit indlæg, at der er tale om et helt bevidst forsøg på på den ene side at undgå browser-advarslen og på den anden side ikke at have https.
»This is clearly ridiculous and it didn't happen by accident either. I mean there wasn't some other design decision made and then, as a by-product, the browser security warning disappeared. This is a premeditated attempt at hiding valuable security feedback designed to protect the user.«
Troy Hunt gør herefter opmærksom på, at tricket ikke længere virker fra Chrome 62, hvor alle input-felter - altså ikke bare HTML-password-feltet - nu resulterer i en synlig besked om, at forbindelsen ikke er sikker.