Warum lädt Cloudfront Scripts in meine Webanwendung? (Ich benutze es nicht)
Schaffe ich eine gesicherte PHP/MySQL-web-app mit umfangreichen jQuery verwenden. Heute ist ein seltsamer Fehler tauchte in unserer app-Protokolle:
JS Error: Error loading script:
https://d15gt9gwxw5wu0.cloudfront.net/js/_MY_WEB_APP_DOMAIN_/r.js
Sind wir nicht mit Amazon Cloudfront-CDN in unserer app. Wenn ich auf die URL, die nicht geladen werden konnten, diese sind die einzigen Inhalt:
if(typeof _GPL.ri=='function'&&!_GPL.isIE6){_GPL.ri('_GPL_r')}_GPL.rl=true;
Des Benutzers Benutzer-agent-string:
Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Bitte beachten Sie: ich bin nicht der Benutzer, der ausgelöst dieser Fehler. Es war einer von unseren tausenden von Benutzern, die es ausgelöst hat. Ich habe keine Kontrolle über die client-Maschine.
Weiß jemand, was hier Los ist? Ist dies eine Art von XSS-Angriff?
** Update **
Es scheint, ich bin nicht der einzige, der entdeckt hat, diese Anomalie auf Ihrer website. Ich fand dieser Bericht, der exakt das gleiche Verhaltendie scheint, um anzuzeigen, der code ist harmlos, aber immer noch keine Antworten da, wo es herkam.
Darüber hinaus fand ich diese pastebin mit ähnlichen codedass zu sein scheint, irgendeine Art von Werbe-script. Wieder, nicht sehr hilfreich.
** Update 2 **
Mehr Kontext: Die webapp verwendet mehrere Dritte jQuery-plugins, aber keine Dritte Partei analytics jeglicher Art. Alle Skripte sind gehostet auf unserem eigenen server, und eine Prüfung alle unser code bietet keine Treffer für "cloudfront".
Diese app hat in der Produktion seit ungefähr 4 Jahren, und dies ist das erste und einzige Instanz einer Tätigkeit wie dieser. Es hat nicht zufällig vor, oder da, so dass ich bezweifle, dass ich in der Lage sein, um es zu reproduzieren.
Was mich interessiert ist, wenn dies ist eine Art von Angriff. Wenn es ist, ich will wissen, wie stecken Sie das Loch, er versucht Sie zu nutzen, wenn es nicht bereits angeschlossen.
InformationsquelleAutor der Frage Andrew Ensley | 2012-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haftungsausschluss: ich bin kein security analyst/Experte Ihr Problem einfach mein Interesse geweckt 😉
Warnung: Während Teile ich die erste Schlussfolgerung, dass der code an sich ist wahrscheinlich harmlos, die zugrunde liegende Technologie können die meisten sicherlich werden, (ab)verwendet, die für böswillige Absichten als gut, also bitte aufpassen, bei der Untersuchung selbst.
Analyse
Sie bereits die entsprechenden Beweise selbst - Suche weiter fand ich eine andere pastebin ablegendie mehr lesbar, so dass ich mit diesem für die Erklärung (obwohl auf den ersten Blick die anderen würde man dies zulassen, da auch nach Formatierung).
Snippet JavaScript-Fragmente mit den folgenden wichtigen Funktionen:
Zeile 13 initialisiert die variable
_GPL
alle möglichen Gegenstände für die spätere Verwendung, z.B. verschiedene Konstanten`, helper-Funktionen, browser-Kompatibilität Zeug und der tatsächlichen Nutzlasten, wie zum Beispiel:Line20 definiert eine leere
basdeCDN
Zeile 21 definiert einefCDN
,, die passiert werden die in Frage (d15gt9gwxw5wu0.cloudfront.net)Linie 261 definiert eine Funktion
removeScripts(),
die wiederum verwendetfindScript()
von der Linie 266, weiterhin begleitet voninsertJS()
on line 277 Ihre jeweilige Absicht ist offensichtlichLinie 270 definiert Funktion
loadDomainRules()
das scheint zu sein, die eine Generierung der URL, die Sie gefunden haben, in Ihre Protokolle - siehe Anhang unten für das code-snippetr.js
wird eine JavaScript-Datei-serving-benutzerdefinierte JavaScript-speziell zusammengesetzt/erzeugt für die Domäne, an der handLinie 100 definiert eine Funktion
loadGeo()
wird, der auf eine Art ad-server in der Tat (ads2srv.com) - siehe Anhang unten für das code-snippetLinie 368 schließlich definiert eine Funktion
i()
bietet die meisten eindeutige Hinweise auf die wahrscheinliche Herkunft von all diesem, nämlich der Idee von einer Yontoo Client und Yontoo API - siehe Anhang unten für das code-snippetFolge
Worum geht es?
Den extrahierten Hinweise Yontoo Client und Yontoo API leicht dazu führen, dass Yontooein Application Platform, die es Ihnen ermöglicht zu Steuern, welche websites Sie besuchen alltäglichend.h. es klingt wie eine Kommerzialisierte version von Userscripts.orgsiehe Was ist Yontoo App?:
Nun, schauen Sie sich die aktuellen Angebote in Ihrer App-Markt leicht veranschaulicht, warum dies so sein kann verwendet für die
fraglichnicht die Werbung wie auch zum Beispiel alle Vertrauen Zeichen und Siegel in die Fußzeile zum trotz.Wie kam es dazu, in Ihre Protokolle?
Anderes Zitat bietet noch mehr Einblick in die Funktionalität und, wie könnte es haben, ergab sich das Problem, das Sie gestoßen bin:
Also jemand anscheinend hat besucht Ihre Website und erstellt einen benutzerdefinierten domain-Regeln für die Mittel, die Yontoo client (wenn es tatsächlich für Endbenutzer) oder einer der verfügbare apps (snippet verwendet für die Analyse verweist auf die Drop-Down-Deals app in Zeile 379 zum Beispiel), die Auslöser für die Schaffung von
d15gt9gwxw5wu0.cloudfront.net/js/_MY_WEB_APP_DOMAIN_/r.js
speichern Sie diese Regeln für die Wiederverwendung auf der nächsten Website-Besuch in der Reihe.Aufgrund einiger Sicherheitslücke irgendwo (siehe Fazit unten) diese URL oder eine entsprechende JavaScript-snippet muss gespritzt wurden, die in JavaScript-code der Anwendung (z.B. durch Cross-site-scripting - (XSS -) in der Tat), und der Auslöser für den Protokolleintrag, der Fehler irgendwann wieder.
Abschluss
Wie bereits im Voraus schon, ich Teile die erste Schlussfolgerung, dass der code an sich ist wahrscheinlich harmlos, obwohl die zugrunde liegende Technologie können die meisten sicherlich werden, (ab)verwendet, die für böswillige Absichten wie auch aufgrund seiner Natur Spott mit client-side JavaScript, d.h. einem Benutzer ermöglicht, code aus einer 3rd-party-Dienst für die Interaktion mit Webseiten (und insbesondere die Daten) er nutzt und vertraut jeden Tag - Ihr Fall ist der offensichtliche Beweis für etwas, das schief gegangen ist bereits in dieser Hinsicht.
Ich habe nicht untersucht, die security-Architektur (wenn überhaupt) von Yontoo, aber war nicht in der Lage zu finden alle Informationen über dieses wichtige Thema sofort auf Ihrer Webseite (z.B. in Ihrer Unterstützung Abschnitt), das ist so ziemlich inakzeptabel für eine Technologie wie diese, IMHO, alle Vertrauen Zeichen und Siegel in die Fußzeile zum trotz.
Auf der anderen Seite, Benutzer installieren 3rd-party-Skripten, z.B. aus Userscripts.org die ganze Zeit natürlich, nicht zuletzt für fine-tuning der user experience auf Stack Exchange😉
Bitte stellen Sie Ihrem eigenen Urteil entsprechend!
Anhang
Unten finden Sie die code-snippets auf die in der Analyse (ich habe nicht in der Lage, inline-Sie innerhalb der Listen, ohne das layout oder syntax-highlighting):
loadDomainRules()
loadGeo()
i()
InformationsquelleAutor der Antwort Steffen Opel
Fand ich in einem iFrame als auch in meinem drupal 7 Webseite. Es wurde geladen, der in die Website durch die Aktivierung des Moduls sharaholic.
InformationsquelleAutor der Antwort Bjorn