0

Gibt es eine Möglichkeit, die ausgehende Netzwerkkommunikation einer Chrome-Erweiterung von einer Website aus zu verfolgen?Datenschutz - Verfolgen der ausgehenden AJAX-Abfragen der Chrome-Erweiterung

Angenommen, eine Chrome-Inhaltsskript-Erweiterung sendet AJAX-Abfragen an einen Server auf einer angegebenen IP-Adresse, um benutzerdefinierte Analysen zu erstellen. Diese Erweiterung funktioniert im Browser, während der Benutzer verschiedene Websites durchsucht.

Gibt es eine Möglichkeit für diese Websites zu verfolgen, was die Erweiterung tut (dass es AJAX öffnet) oder wo es Daten sendet? (Um welche IP er versuchte, AJAX-Abfrage zu senden)

UPDATE

klar sein, ich bin gespannt, etwa eine unabhängige Drittanbieter-Website Tracking-Fähigkeiten, nicht die Erweiterung-Benutzers.

UPDATE

Weitere Klarstellung: die Erweiterung sendet Anfrage nicht auf einen Server mit den Servern im Zusammenhang/Websites der Benutzer surft.

Beispiel

Benutzer ist das Surfen Youtube, und täglich Facebook. Diese Erweiterung sendet AJAX-Abfragen an einen Speicherserver, auf dem die besuchten URLs des Benutzers gespeichert sind. (Youtube und Facebook). Was ich gerne wissen würde, ist z. Facebook weiß, dass diese Erweiterung das tut, und was ist die IP des Storage Servers?

+0

Senden Sie diese Anfragen auf der Hintergrundseite Ihrer Erweiterung. – wOxxOm

+1

Ich denke, wenn content_scripts keinen Zugriff auf Variablen oder Funktionen hat, die durch Webseiten definiert sind, dann ist die Umkehrung der Assertion zu wahr. Das heißt, die Webseite kann Anfragen von content_scripts nicht verfolgen. [Ausführungsumgebung] (https://developer.chrome.com/extensions/content_scripts # execution-environment) – UserName

+0

@wOxxOm Was ist der praktische Vorteil? –

Antwort

2

Grundsätzlich nein, wegen des Konzepts von isolated world. Hervorhebung von mir:

Inhaltsskripte werden in einer speziellen Umgebung ausgeführt, die als isolierte Welt bezeichnet wird. Sie haben Zugriff auf das DOM der Seite, in die sie eingefügt werden, aber nicht auf JavaScript-Variablen oder Funktionen, die von der Seite erstellt werden. Es sieht für jedes Inhaltsskript so aus, als ob auf der Seite, auf der es ausgeführt wird, kein anderes JavaScript ausgeführt wird. Dasselbe gilt umgekehrt: JavaScript, das auf der Seite ausgeführt wird, kann keine Funktionen aufrufen oder auf Variablen zugreifen, die von Inhaltsskripten definiert werden.

Also, wenn Sie wie zwingende XMLHttpRequest etwas zu tun dachten, würde dies nicht funktionieren, da ein Content-Skript einen „sicheren Hafen“ hat, kann man nicht berühren.

Und das ist noch vor der Möglichkeit, Netzwerkoperationen an das Hintergrundskript zu delegieren, was eine völlig andere Herkunft ist.

Es gibt eine Ausnahme: eine Erweiterung kann manchmal inject code directly into the page context. Dann koexistiert es mit der Website JavaScript und in der Theorie kann man eine andere ausspionieren. In der Praxis kann jedoch eine Erweiterung ihren Code ausführen, bevor einer der Codes der Website eine Chance hat, zu reagieren und sich daher selbst vor Interferenz zu schützen.

0

Vielleicht ist das Overkill, aber Sie können versuchen, Ihren eigenen Verkehr mit Wireshark (oder einem anderen Programm) zu schnüffeln und werfen Sie einen Blick auf die Anfragen. Wenn sie https verwenden, dann wird es schwieriger und Sie müssen den Verkehr entschlüsseln.

+0

Danke Pablo, aber wenn ich es richtig verstehe, müssen Wireshark und ähnliche Sachen auf dem Computer des Kunden installiert werden (der, der die Erweiterung verwendet) und nicht auf dem Besitzer der besuchten Website. Ich werde jetzt ein Update zu meiner Frage machen, um sicherzustellen, dass ich mir darüber im Klaren bin, dass ich neugierig bin auf die Fähigkeiten einer unabhängigen Website, nicht auf meine, als Nutzer der Erweiterung. –

+1

Ja, ich habe es falsch verstanden. Ich denke, sie können den Ursprung der Anfrage verfolgen. Stellen Sie sich zum Beispiel vor, dass Sie einen JSON aus _api/getUser.php abrufen? Id = 1_ Sie können $ _SERVER: [$ _SERVER PHP] (http://php.net/manual/en/reserved.variables) überprüfen .server.php) –

+0

Ja, das stimmt. Ich muss es ein bisschen mehr klären. Die Erweiterung sendet Anforderungen an einen anderen Server, der nicht mit dem Server verwandt ist, auf dem der Benutzer der Erweiterung surft. (Mit Cross-Domain JSONP reuqest) Ich werde diese Klarstellung bald an meine Frage anhängen. –