1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Portscan: Ebay.de scannt den Rechner…

Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

Am 17. Juli erscheint Ghost of Tsushima; Assassin's Creed Valhalla und Watch Dogs Legions konnten wir auch gerade länger anspielen - Anlass genug, um über Actionspiele, neue Games und die Next-Gen-Konsolen zu sprechen! Unser Chef-Abenteurer Peter Steinlechner stellt sich einer neuen Challenge: euren Fragen.
Er wird sie am 16. Juli von 14 Uhr bis 16 Uhr beantworten.
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: katze_sonne 25.05.20 - 14:14

    Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

  2. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: crash 25.05.20 - 14:21

    Alle Browser implementieren Websockets (siehe Screenshot im Artikel).

  3. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: devman 25.05.20 - 14:22

    katze_sonne schrieb:
    --------------------------------------------------------------------------------
    > Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Weil JavaScript Sockets aufbauen kann. Das ist doch der Sinn bei beim dynamischen Nachladen von Inhalten.

  4. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: mibbio 25.05.20 - 14:27

    Es ist eher ein indirekter Portscan, indem eine simple Websocket Verbindung erstellt wird. Da wird halt für jeden fraglichen Port eine solche Verbindung aufgebaut um daraus abzuleiten, ober der Port offen ist für Verbindungen.

  5. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: katze_sonne 25.05.20 - 14:38

    devman schrieb:
    --------------------------------------------------------------------------------
    > katze_sonne schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?
    >
    > Weil JavaScript Sockets aufbauen kann. Das ist doch der Sinn bei beim
    > dynamischen Nachladen von Inhalten.

    Aber warum geht das zum localhost? Zur selben Domain ok, aber localhost?! Hmm...

  6. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: mibbio 25.05.20 - 14:58

    Weil Websocket ein ganz legitimes Werkzeug ist, mit der eine im Browser laufende Webseite/Webanwendung dynamisch Daten abrufen oder senden kann. Die Ziel-Domain ist da nicht zwangsweise die Domain der Webseite, sondern kann ja auch ein externer Dienst sein oder der lokale Testserver.

  7. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: ashahaghdsa 25.05.20 - 15:15

    Es würde dennoch Sinn machen, wenn *jeder* locale Request von externen Domains bestätigt werden müsste. Für normale Nutzer ist mir keine sinnvolle Anwendung bekannt, wo externe Webseiten auf Resourcen im Heimnetz zugreifen müssen.

    Es gab ja auch Fälle, wo der Router umkonfiguriert werden konnte (war das per CSRF oder sowas?).

    *edit* Ok, wenn man irgendwas P2P machen will und im eigenen LAN ist, dann macht das Sinn... aber Localhost finde ich wirklich nichts für normale Nutzer (Entwickler schon).



    1 mal bearbeitet, zuletzt am 25.05.20 15:16 durch ashahaghdsa.

  8. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: rubberduck09 25.05.20 - 15:41

    3x darfst du raten wie Folding@home arbeitet...

  9. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: Gundel Gaukeley 25.05.20 - 15:45

    ashahaghdsa schrieb:
    --------------------------------------------------------------------------------
    > *edit* Ok, wenn man irgendwas P2P machen will und im eigenen LAN ist, dann
    > macht das Sinn... aber Localhost finde ich wirklich nichts für normale
    > Nutzer (Entwickler schon).

    Hm?? Ob Javascript, das von extern geladen wurde, auf localhost zugreifen können darf, ok, mit dieser Argumentation könnte ich mich ja noch anfreunden. Aber Zugriff von Javascript auf localhost grundsätzlich für fragwürdig zu erklären, das geht meilenweit am Ziel vorbei. Dann würden eine Menge Browser-Addons nicht mehr funktionieren. Mit KeepassXC und Joplin fallen mir da gleich zwei ein, die bei mir installiert sind. Und die sind definitiv nicht für "Entwickler", sondern für normale Anwender gedacht.

  10. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: wurstdings 25.05.20 - 15:50

    ashahaghdsa schrieb:
    --------------------------------------------------------------------------------
    > Es würde dennoch Sinn machen, wenn *jeder* locale Request von externen
    > Domains bestätigt werden müsste.
    Na sehr geil, diese komische Windows Firewall nervt doch schon genug rum. Wie wäre es zur Abwechslung mal damit, sofern man Serverdienste auf seinem Rechner laufen lässt, sichert man die entsprechend gegen Fremdzugriff ab?

    > Für normale Nutzer ist mir keine sinnvolle
    > Anwendung bekannt, wo externe Webseiten auf Resourcen im Heimnetz zugreifen
    > müssen.
    Da wären diese Treibersuchtools der Hardwarehersteller oder ein Bilderupload oder ein Webspiel, welches auf die Graphikkarte zugreifen muss, ...
    > Es gab ja auch Fälle, wo der Router umkonfiguriert werden konnte (war das
    > per CSRF oder sowas?).
    Auch da ist es besser den Router abzusichern, nur weil man einer Sprache den Zugriff verweigert, ist das Problem ja nicht gelöst.

    Ihr baut doch auch kein unsicheres Auto ohne Bremsen und Lenker um euch im Anschluss über die gefährlichen Bäume am Straßenrand zu beschweren?

  11. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: Lemo 25.05.20 - 15:55

    Ich glaube in diesem thread schlägt mein DAU oder DAA-Alarm aus

  12. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: twothe 25.05.20 - 16:33

    Die Cross-Domain Policy sagt, dass jeder Zugriff auf andere Domains untersagt ist, bzw. bestätigt werden muss. Das schließt den Zugriff auf Localhost ein, da ansonsten eine Software schlicht Dateien von der Festplatte hochladen könnte. Die gleiche Regelung sollte eigentlich auch bei WebSockets gelten, aber offensichtlich hat man das nicht so implementiert.

    Eigentlich müsste der User also einer Domain den Zugriff auf Localhost erst mal explizit freigeben. Da hat man wohl bei der Implementierung was übersehen.

  13. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: zilti 25.05.20 - 16:47

    Weil man heute halt ums Verrecken den Browser zu einem OS aufblähen muss.

  14. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: katze_sonne 25.05.20 - 17:04

    rubberduck09 schrieb:
    --------------------------------------------------------------------------------
    > 3x darfst du raten wie Folding@home arbeitet...

    Und das läuft per JavaScript im Browser?!

  15. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: katze_sonne 25.05.20 - 17:08

    mibbio schrieb:
    --------------------------------------------------------------------------------
    > Weil Websocket ein ganz legitimes Werkzeug ist, mit der eine im Browser
    > laufende Webseite/Webanwendung dynamisch Daten abrufen oder senden kann.
    > Die Ziel-Domain ist da nicht zwangsweise die Domain der Webseite, sondern
    > kann ja auch ein externer Dienst sein oder der lokale Testserver.

    Ich bin jetzt wirklich nicht so tief in der Webentwicklung drin, aber als ich zuletzt mal nachgeguckt hatte, gab es noch sowas wie die "same origin policy" usw., es war auf jeden Fall alles andere als gerne gesehen auf Ressourcen außerhalb der eigentlichen URL zuzugreifen.

    Ein externer Dienst? Meinetwegen, aber garantiert nicht localhost und eigentlich auch keine privaten IPs. Noch besser nur weitergeleitet durch den ursprünglichen Server. Das klingt so jetzt alles nach nem schönen Sicherheitsalptraum.

    Der lokale Testserver ist kein Argument, dafür kann man dann Lösungen wie Debug-Flags nutzen, die der User explizit setzen muss (oder noch radikaler wie Chrome das inzwischen mit self-signed Zertifikaten macht: Man muss "thisisbad" oder so eintippen; also nicht in ein Textfeld oder so, sondern "einfach so" auf dem Warnbildschirm).

  16. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: katze_sonne 25.05.20 - 17:12

    twothe schrieb:
    --------------------------------------------------------------------------------
    > Die Cross-Domain Policy sagt, dass jeder Zugriff auf andere Domains
    > untersagt ist, bzw. bestätigt werden muss. Das schließt den Zugriff auf
    > Localhost ein, da ansonsten eine Software schlicht Dateien von der
    > Festplatte hochladen könnte. Die gleiche Regelung sollte eigentlich auch
    > bei WebSockets gelten, aber offensichtlich hat man das nicht so
    > implementiert.
    >
    > Eigentlich müsste der User also einer Domain den Zugriff auf Localhost erst
    > mal explizit freigeben. Da hat man wohl bei der Implementierung was
    > übersehen.

    Danke, so sehe ich das eigentlich auch. Deswegen bin ich doch sehr verwundert darüber, dass man diese Prinzipien hier offenbar über den Haufen geworfen hat? Oder ist womöglich im Artikel ein Fehler?

    Und ich bin begeistert, wenn man was vonwegen "DAU"-Alarm gegen den Kopf geschmissen bekommt, aber die Erklärung, wieso weshalb warum einfach "weggelassen wird". Vermutlich ist er selber nämlich der (Sicherheits-)DAU? Keine Ahnung, ich habe bisher halt keine guten Argumente gefunden, wieso das ne gute Idee sein soll, dass eBay offenbar technisch die Möglichkeit hat, das ganze Netzwerk oder zumindest localhost scannen zu können.

  17. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: Quantium40 25.05.20 - 17:16

    ashahaghdsa schrieb:
    > Es würde dennoch Sinn machen, wenn *jeder* locale Request von externen
    > Domains bestätigt werden müsste. Für normale Nutzer ist mir keine sinnvolle
    > Anwendung bekannt, wo externe Webseiten auf Resourcen im Heimnetz zugreifen
    > müssen.

    Das machen diverse Update-Scanner diverser PC- und Hardwarehersteller so.

  18. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: MarcusK 25.05.20 - 18:08

    twothe schrieb:
    --------------------------------------------------------------------------------
    > Die Cross-Domain Policy sagt, dass jeder Zugriff auf andere Domains
    > untersagt ist, bzw. bestätigt werden muss. Das schließt den Zugriff auf
    > Localhost ein, da ansonsten eine Software schlicht Dateien von der
    > Festplatte hochladen könnte. Die gleiche Regelung sollte eigentlich auch
    > bei WebSockets gelten, aber offensichtlich hat man das nicht so
    > implementiert.
    >
    > Eigentlich müsste der User also einer Domain den Zugriff auf Localhost erst
    > mal explizit freigeben. Da hat man wohl bei der Implementierung was
    > übersehen.

    nein macht sie nicht. Die Cross-Domain Policy sorgt nur dafür das man die Antwort der Daten nicht bekommt.
    Wie soll es denn sonst funktionieren? Die eBay seite kann ja jederzeit behaupten, das sie auch resourcen von localhost braucht und es in ihren Header mitschicken.
    Wenn der "localhost" in seiner antwort nicht den passenden Header für eBay hat, werden die Daten nicht an das Javascript weitergeleitet - was aber keine rolle spielt, denn für einen Portscan braucht man die Antwort nicht.

    Außerdem lässt sich das ganze einfach umgehen in dem eBay eine dns wie localhost.ebay.de anlegt und dort die IP 172.0.0.01 einträgt.

  19. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: tomatentee 25.05.20 - 18:15

    Gundel Gaukeley schrieb:
    --------------------------------------------------------------------------------
    > ashahaghdsa schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > *edit* Ok, wenn man irgendwas P2P machen will und im eigenen LAN ist,
    > dann
    > > macht das Sinn... aber Localhost finde ich wirklich nichts für normale
    > > Nutzer (Entwickler schon).
    >
    > Hm?? Ob Javascript, das von extern geladen wurde, auf localhost zugreifen
    > können darf, ok, mit dieser Argumentation könnte ich mich ja noch
    > anfreunden. Aber Zugriff von Javascript auf localhost grundsätzlich für
    > fragwürdig zu erklären, das geht meilenweit am Ziel vorbei. Dann würden
    > eine Menge Browser-Addons nicht mehr funktionieren. Mit KeepassXC und
    > Joplin fallen mir da gleich zwei ein, die bei mir installiert sind. Und die
    > sind definitiv nicht für "Entwickler", sondern für normale Anwender
    > gedacht.
    Das sind aber Plugins und keine Website...

  20. Re: Wieso zur Hölle kann man per JavaScript auf offene Ports scannen?

    Autor: treysis 25.05.20 - 18:19

    Doch, z.B. so Sachen wie Spotify, dessen Webseite dann mit Websocket mit deiner lokalen Anwendung kommunizieren kann. Genauso IBMs Confluence, etc...

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Forschungszentrum Jülich GmbH, Jülich
  2. CCV GmbH, Au i.d. Hallertau, Moers
  3. Vodafone GmbH, Düsseldorf
  4. über duerenhoff GmbH, Raum Berlin

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Deal des Tages: Honor MagicBook 15 15,6 Zoll Full-HD-IPS Ryzen 5 für 548,53€, Asus ROG...
  2. (u. a. be quiet! Dark Rock Pro TR4 CPU-Kühler für 62,90€, be quiet! Dark Base Pro 900 rev.2 Big...
  3. 94,99€ (Bestpreis!)
  4. (u. a. Boxsets, Neuheiten, 10 Blu-rays für 50€, Hörspiele, Serien)


Haben wir etwas übersehen?

E-Mail an news@golem.de