WIFI in de trein hack

  • 27 September 2022
  • 9 reacties
  • 320 Bekeken

De website van portal.nstrein.nl.nl bevat en fout.

Als je die pagina bereikt, kan ik op accepteer de voorwaarden klikken, maar de knop verbind doet niets. Dit komt door een fout in de JavaScript van de website. Zie hier een analyse.

De functie connectToInternet probeert $.ajax aan te roepen.

Uncaught ReferenceError: $ is not defined
    connectToInternet http://portal.nstrein.ns.nl/:31

 

function connectToInternet() {
    if(document.getElementById('accept-terms').checked){
        $.ajax({
            type: 'POST', url: '/nstrein:main/internet?csrfToken=' + document.getElementById('csrfToken').value,
            success : function(){
                $('#not_connected').hide();
                $('#connected').removeAttr('style');
                /* Iphone needs a page refresh to accept internet connection, do not remove next lines */
                var url = window.location.href;
                if (url.indexOf('?') !== -1){
                    url += '&connected=1'; }
                else {
                    url += '?connected=1'; }
                window.location.href = url; }
            });
        }
    }

 

Maar als je handig genoeg bent kun je dit wel omzeilen. Als de knop het iet doet, dan in een console (CTRL-SHIFT-I in Firefox) de volgende regel plaatsen:

 

window.location.href = 'http://portal.nstrein.ns.nl/nstrein:main/internet?csrfToken='  + document.getElementById('csrfToken').value

Voila instant toegang…

 

Beste NS kunnen jullie de websites beter testen?

 

 

 


9 reacties

Hallo Johan Ten Houten en welkom bij de NS Community,

 

Het ontgaat mij even of dit een signaal is waar onze IT naar dient te kijken of is dit een suggestie die wij als klantenservice aan de reiziger kunnen geven?

Reputatie 5
Badge

Hallo Johan Ten Houten en welkom bij de NS Community,

 

Het ontgaat mij even of dit een signaal is waar onze IT naar dient te kijken of is dit een suggestie die wij als klantenservice aan de reiziger kunnen geven?

Dit lijkt vooral een signaal voor de IT-afdeling te zijn. Blijkbaar kun je de voorwaarden voor WiFi in de trein nu niet accepteren, tenzij je een beetje handig bent in de ontwikkelaarstools van je browser. 

Reputatie 7
Badge

@Johan ten Houten 

De error klinkt alsof jQuery niet wordt ingeladen. Enig idee hoe dit gaat? Via een CDN of staat deze library op de webserver in de trein?

Reputatie 7
Badge

Ik heb het zojuist in een trein geprobeerd, maar bij mij werkte alles zoals het hoorde. Mogelijk een foutje in dit specifieke treinstel geweest?

Ik heb er in ieder geval een melding van gemaakt zodat dit uitgezocht kan worden. 

Badge +3

@Johan ten Houten

De error klinkt alsof jQuery niet wordt ingeladen. Enig idee hoe dit gaat? Via een CDN of staat deze library op de webserver in de trein?

Na het verbinden met Wifi in de trein kom je in ieder geval (als het allemaal werkt) op een soort ‘intranet’ pagina (nstrein.ns.nl) van precies die trein, dus dat lijkt inderdaad iets lokaals.

Johan weet je heel toevallig nog het treinstelnummer? Kan je tevens het traject + tijdstip van vertrek sturen?

Dit overkwam mij gisteren twee keer (dinsdag 27 spet ).

Eerst in de trein van den Haag naar Utrecht (11.10 → 11.47).

Daarna op de terugweg in de trein van Amersfoort naar Den Haag (16.40 → 17.36).

 

Beide keren dezelfde fout en dezelfde hack.

Ik denk dat Aar gelijk heeft dat JQUERY niet wordt geladen. Maar die pagina kan ik nu niet meer bekijken. Dus de oorzaak kan ik niet meer achterhalen.

Bedankt voor de verdere informatie. Ik heb het doorgegeven, hopelijk kan dit worden opgelost!

Reageer