Wallpappe: LAN IP hinter Router/NAT

problematische Seite

Problematische Seite zeigt meine lokale IP. Wie machen die das? Bzw. was gibt mein Router da raus und wie kann ich das abstellen!? Danke im Vorab.

  1. problematische Seite

    Die machen das mit Javascript:

                function checkLocal() {
                    window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;   //compatibility for firefox and chrome
                    var pc = new RTCPeerConnection({iceServers: []}), noop = function () {
                    };
                    pc.createDataChannel("");    //create a bogus data channel
                    pc.createOffer(pc.setLocalDescription.bind(pc), noop);    // create offer and set local description
                    pc.onicecandidate = function (ice) {  //listen for candidate events
                        if (!ice || !ice.candidate || !ice.candidate.candidate) return;
                        var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate)[1];
                        jQuery(document).ready(function () {
                            jQuery("#local-ip").append("<li class=\"list-group-item\">Ihre locale IP ist: " + myIP + "</li>");
                            jQuery("#local-ip").show("slow");
                        });
    
                        pc.onicecandidate = noop;
                    };
    

    Dein Router gibt da also nichts raus. Es gibt allerdings Proxys, die mit Forwared-For-Header die IP des Clients verraten, das ist aber bei Dir nicht wohl nicht der Fall.

    1. problematische Seite

      Unglaublich! Aber wahr 😉 Danke Dir!

      1. problematische Seite

        Hier der getestete "Stand-Alone-Nachbau". Ich halte das übrigens für ein Sicherheitsrisiko, weil es missbraucht werden kann um einem Angreifer Informationen zu liefern.

        <html>
        <p>Lokale IP: <span id="locIP">Unbekannt</span></p>
        
        <script>
        function checkLocal() {
        	window.RTCPeerConnection = window.RTCPeerConnection 
        	|| window.mozRTCPeerConnection 
        	|| window.webkitRTCPeerConnection;   //compatibility for firefox and chrome
        
        	var pc = new RTCPeerConnection( { iceServers: [] } ), noop = function () { };
        
        		pc.createDataChannel("");    //create a bogus data channel
        		pc.createOffer(pc.setLocalDescription.bind(pc), noop);    // create offer and set local description
        
        		pc.onicecandidate = function (ice) {  //listen for candidate events
        			
        			if (!ice || !ice.candidate || !ice.candidate.candidate) {
        				return;
        			}
        
        			var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec( ice.candidate.candidate )[1];
                    document.getElementById('locIP').innerHTML = myIP;
        
        			pc.onicecandidate = noop;
        		};
        }
        checkLocal();
        </script>
        </html>
        

        Resultat:

        1. problematische Seite

          Ich sehe das auch problematisch: Der Browser leckt. Auf die Idee, daß man diesbezüglich den Browser mit JS anzapfen kann bin ich gar nicht gekommen. Wer weiß was der noch alles an Informationen rausgibt. Sauber an der DSVG vorbei.

          1. problematische Seite

            Auf die Idee, daß man diesbezüglich den Browser mit JS anzapfen kann bin ich gar nicht gekommen.

            Dito.

            "Sauber an der DSVG vorbei" geht das erst, wenn jemand auf die Idee kommt, diese Daten an einen Server zu schicken, dort zu verarbeiten und/oder zu speichern. (Die "problematische Seite" SCHEINT das nicht zu tun, benutzt aber Cookies mit merkwürdigen Inhalten, deren Herkunft ich noch nicht nachvollzogen habe.)

            Andererseits könnte eben diese Funktion in lokalen Netzen (Intranets) mit mehreren Adressbereichen durchaus eine fassbare Funktion und Bedeutung haben…

            Grüße an die LKA und das BKA!

            Die benutzen das sicherlich schon lange, um (nach dem Kapern eines .onion-Servers) Tor-Benutzer identifizieren zu können, die Javascript angeschaltet haben

            Andererseits haben die Staatsorgane mindestens der DDR und der BRD eine gemeinsame Eigenschaft: Die unter deren Subjekten auffällig starke Verbreitung einer geradezu unfassbaren Dummheit.

            1. problematische Seite

              Auf die Idee, daß man diesbezüglich den Browser mit JS anzapfen kann bin ich gar nicht gekommen.

              Dito.

              "Sauber an der DSVG vorbei" geht das erst, wenn jemand auf die Idee kommt, diese Daten an einen Server zu schicken, dort zu verarbeiten und/oder zu speichern.

              Es geht in dem Moment an der DSGV vorbei wenn der Browser über eine fremde Seite auf lokale Daten zugreift ohne den Anwender zu fragen!

              1. problematische Seite

                Es geht in dem Moment an der DSGV vorbei wenn der Browser auf lokale Daten zugreift ohne den Anwender zu fragen!

                Nein. Die DSGV greift (jedenfalls so lange die Daten nicht an einen Server gesendet werden) nicht, weil der Browser vom Benutzer selbst gestartet, gesteuert und beendet wird und die Anzeige der IP (hier) auch nur für den Benutzer erfolgt.

                Du kannst in einer Konsole bzw. einem Terminal auch ip a, ifconfig -a oder ipconfig /all eingeben und siehst auch diese Information.

                1. problematische Seite

                  Ich fühle mich gerade mächtig hintergangen und eins kann ich Dir versichern: Dieses Gefühl ist einfach nur beschissen!

                  1. problematische Seite

                    Ich fühle mich gerade mächtig hintergangen

                    Unbedingt. Sowas müsste man aktiv und mit Warnung aktivieren müssen.

                2. problematische Seite

                  Hello,

                  Es geht in dem Moment an der DSGV vorbei wenn der Browser auf lokale Daten zugreift ohne den Anwender zu fragen!

                  Nein. Die DSGV greift (jedenfalls so lange die Daten nicht an einen Server gesendet werden) nicht, weil der Browser vom Benutzer selbst gestartet, gesteuert und beendet wird und die Anzeige der IP (hier) auch nur für den Benutzer erfolgt.

                  Du kannst in einer Konsole bzw. einem Terminal auch ip a, ifconfig -a oder ipconfig /all eingeben und siehst auch diese Information.

                  Lässt die sich hier nicht in einen AJAX-Request stopfen? Greift da doch noch eine Schutzhürde?

                  Glück Auf
                  Tom vom Berg

                  --
                  Es gibt nichts Gutes, außer man tut es!
                  Das Leben selbst ist der Sinn.
                  1. problematische Seite

                    Tach!

                    Lässt die sich hier nicht in einen AJAX-Request stopfen? Greift da doch noch eine Schutzhürde?

                    Nach dem Ermitteln der Adresse ist das ein String, und da gibts keine Hürde, einen solchen auf welche Art auch immer weiterzuverarbeiten. Dass es eine solche Möglichkeit gibt, ändert aber immer noch nichts daran, dass in diesem Fall die Daten nicht nach außen gesendet werden und die DSGVO damit nicht relevant ist.

                    dedlfix.

                    1. problematische Seite

                      Hello,

                      Lässt die sich hier nicht in einen AJAX-Request stopfen? Greift da doch noch eine Schutzhürde?

                      Nach dem Ermitteln der Adresse ist das ein String, und da gibts keine Hürde, einen solchen auf welche Art auch immer weiterzuverarbeiten. Dass es eine solche Möglichkeit gibt, ändert aber immer noch nichts daran, dass in diesem Fall die Daten nicht nach außen gesendet werden und die DSGVO damit nicht relevant ist.

                      Es wäre demnach aber möglich diesen String per AJAX o. ä. zum Server zu transportieren?

                      Glück Auf
                      Tom vom Berg

                      --
                      Es gibt nichts Gutes, außer man tut es!
                      Das Leben selbst ist der Sinn.
                      1. problematische Seite

                        Tach!

                        Es wäre demnach aber möglich diesen String per AJAX o. ä. zum Server zu transportieren?

                        Sagte ich ja bereits, ist nur ein String.

                        dedlfix.

                        1. problematische Seite

                          Hello,

                          Es wäre demnach aber möglich diesen String per AJAX o. ä. zum Server zu transportieren?

                          Sagte ich ja bereits, ist nur ein String.

                          Naja, der Filename im Dzrchsuchen-Feld ist auch nur ein String und man daf/durfte(?) ihn irgendwann nicht mal mehr ins src-Attribut eines image-Tags übertragen.

                          Glück Auf
                          Tom vom Berg

                          --
                          Es gibt nichts Gutes, außer man tut es!
                          Das Leben selbst ist der Sinn.
                          1. problematische Seite

                            Tach!

                            Naja, der Filename im Dzrchsuchen-Feld ist auch nur ein String und man daf/durfte(?) ihn irgendwann nicht mal mehr ins src-Attribut eines image-Tags übertragen.

                            Ist der Filename einfach nur irgendein String oder ist er ein Javascript-String, der in einer Variable oder Objekteigenschaft vorliegt?

                            dedlfix.

                  2. problematische Seite

                    Lässt die sich hier nicht in einen AJAX-Request stopfen? Greift da doch noch eine Schutzhürde?

                    Du meinst ahnlich <input type="file" value=..> das ist wohl nicht der Fall. Sicher wird ein Browser in den lokalen IPStack greifen müssen und RTCPeerConnection ist auch nicht undokumentiert. Für Anwender jedoch die nun wissen daß sie damit hintergangen werden können ohne gefragt zu werden ist die DSGVO denn mehr ein Witz als in irgendeiner Weise hilfreich und da bin ich nicht der Einzige!

                    1. problematische Seite

                      Tach!

                      Für Anwender jedoch die nun wissen daß sie damit hintergangen werden können ohne gefragt zu werden ist die DSGVO denn mehr ein Witz als in irgendeiner Weise hilfreich.

                      Die Aussage ist nicht weiter sinnvoll. Die DSGVO ist kein technisches Hindernis, wenn es darum geht, Daten zu übertragen. Sie gibt lediglich mehr oder weniger klare rechtliche Bedingungen für die Beteiligten vor. Ob jemand diese beachtet oder unerlaubt Daten sendet, kann die DSGVO nicht beeinflussen. Das geht auch ohne die Erkenntnis, dass RTCPeerConnection lokale IP-Adressen lesen kann.

                      dedlfix.

        2. problematische Seite

          Hello,

          Hier der getestete "Stand-Alone-Nachbau". Ich halte das übrigens für ein Sicherheitsrisiko, weil es missbraucht werden kann um einem Angreifer Informationen zu liefern.

          <html>
          <p>Lokale IP: <span id="locIP">Unbekannt</span></p>
          
          <script>
          function checkLocal() {
          	window.RTCPeerConnection = window.RTCPeerConnection 
          	|| window.mozRTCPeerConnection 
          	|| window.webkitRTCPeerConnection;   //compatibility for firefox and chrome
          
          	var pc = new RTCPeerConnection( { iceServers: [] } ), noop = function () { };
          
          		pc.createDataChannel("");    //create a bogus data channel
          		pc.createOffer(pc.setLocalDescription.bind(pc), noop);    // create offer and set local description
          
          		pc.onicecandidate = function (ice) {  //listen for candidate events
          			
          			if (!ice || !ice.candidate || !ice.candidate.candidate) {
          				return;
          			}
          
          			var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec( ice.candidate.candidate )[1];
                      document.getElementById('locIP').innerHTML = myIP;
          
          			pc.onicecandidate = noop;
          		};
          }
          checkLocal();
          </script>
          </html>
          

          Resultat:

          Daran sieht man aber wieder mal: der Feind sitzt meistens innen!
          Unc Leute, die JavaScript abschalten, haben doch keinen Knall.

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
          1. problematische Seite

            Hallo TS,

            die Wikipedia benennt das Problem und nennt Lösungsmöglichkeiten.

            Einfach mal wertneutrale Info, ohne was geprüft zu haben.

            Rolf

            --
            sumpsi - posui - clusi
            1. problematische Seite

              Hello Rolf,

              die Wikipedia benennt das Problem und nennt Lösungsmöglichkeiten.

              Einfach mal wertneutrale Info, ohne was geprüft zu haben.

              Danke für den Tipp.
              Muss ich nachher gleich mal unsere Freifunk-JavaScripts untersuchen. Nicht dass da auch so ein "Wurm" drinsteckt.

              Glück Auf
              Tom vom Berg

              --
              Es gibt nichts Gutes, außer man tut es!
              Das Leben selbst ist der Sinn.