De check van eBay controleert normaal gesproken of er JavaScript aanwezig is of verwezen wordt naar een extern script. Als dit het geval is verschijnt er een foutmelding en kan de gebruiker de pagina niet opslaan.

Dankzij een "simpel" trucje, genaamd JSFuck, kan een script geschreven worden met maar zes verschillende karakters. Deze karakters worden niet opgepikt door het systeem van eBay waardoor mensen toch nog JavaScript kunnen toevoegen aan hun pagina. Deze schrijfvorm wordt ook door verscheidene intrusion prevention systems en web application firewalls over het hoofd gezien waardoor kwaadwillenden flink wat schade aan zouden kunnen richten.

In het geval van eBay moet een aanvaller een online eBay store maken. Het aanroepen van externe JS-code doet men door de code in te voeren volgens de JSFuck-manier. In een proof of concept laten de onderzoekers van Check Point software zien hoe dit lek misbruikt kan worden.

De werking

In een blogpost leggen de onderzoekers uit hoe de JSFuck-truc in elkaar zit en hoe alfanummerieke tekens "vertaald" worden naar volgende zes tekens:

[ ] ( ) ! +

Het schrijven van code op deze manier kan natuurlijk een tijdrovende aangelegenheid zijn. Echter, op www.jsfuck.com kunnen gebruikers met behulp van een scriptje hun code met een druk op de knop vertalen.

Geen fix

Ebay heeft aangegeven het lek niet te dichten omdat dit andere functionaliteit op de site zou breken. "Ebay doet er alles aan een veilige marktplaats te hosten voor miljoenen klanten wereldwijd. We nemen gemelde beveiligings-issues heel serieus en evalueren deze zo snel mogelijk binnen de context van onze gehele beveiligings-infrastructuur. We hebben geen frauduleuze activiteit gevonden op basis van dit incident."