In Plugins eingegebene Daten werden trotz Plugin-Deaktivierung für Gäste offen im Quellcode angezeigt

  • Seite 1 von 2
13.07.2017 01:11
avatar  Bussinchen
#1
avatar
User


In Plugins eingegebene Daten werden trotz Plugin-Deaktivierung für Gäste offen im Quellcode angezeigt


Ich habe in einem meiner Foren, das rein privat und komplett geschlossen ist, unter anderem das Plugin Video-Board von Mike48 und das Plugin Countdown von Olaf aus dem offizilellen Plugin-Store installiert. Darüber hinaus habe ich noch 3 weitere Plugins aus dem Store installiert.

In meinen Plugin-Einstellungen in der Administration habe ich die Sichtbarkeit der Inhalte dieser Plugins für Gäste deaktiviert. Meine Usergruppe der Gäste hat keinerlei Leserechte, keine Schreibrechte, und uneingeloggten Gästen wird auch generell nichts angezeigt, d.h. das Forum als solches ist für Gäste komplett unsichtbar.

Durch einen reinen Zufall habe ich gestern festgestellt, dass die privaten Texte, die im Plugin Countdown eingegeben wurden, sowie die privaten Texte der-Beschriftungen der Video-Buttons und die URls zu den im Plugin Video-Board eingebetteten Videos über den Quellcode der Seite auszulesen sind, obwohl diese beiden Plugins für Gäste deaktiviert sind. Ich hatte mich aus dem Forum ausgeloggt, mit der rechten Maustaste auf die Startseite geklickt und den html-Quellcode derselben aufgerufen, und dort fand ich dann all die genannten Dinge in Form von Quellcode, obwohl auf der Webseite als solcher - so wie es sein soll - nichts dergleichen zu sehen war.

Da ich als Laiin dachte, es handele sich um einen Bug in den Plugins von Mike48 und Olaf, postete ich meine Beobachtung zunächst auf RE:Video Board 2.0 - Dein eigenes Forenkino! (3) und einen Querverweis auf Countdown Timer - Erstelle einen Countdown und bestimme wer ihn sieht. Nun gab es eine längere Diskussion hierzu, die ab dem Beitrag #106 aufwärts bis einschließlich Beitrag #143 zu lesen ist. Mike48 meinte zuerst, der Fehler könne am Cache des Browsers liegen usw., doch dies konnte ich dementieren, nachdem ich mir nur zu Testzwecken den Browser Vivaldi heruntergeladen und installiert hatte. Auch in dem jungfräulichen Browser Vivaldi wurden alle privaten Dinge, die in den Plugins eingegeben sind, ganz offen im Quellcode der Seite angezeigt; siehe RE:Video Board 2.0 - Dein eigenes Forenkino!. Dies ist fatal, weil damit die Plugin-Einstellungen "deaktiviert für Gäste" nicht rundum greifen, und die Dinge, die Gäste nicht sehen dürfen, übers Hintertürchen des Quellcodes eben doch sichtbar werden. Ich gebe zu bedenken, dass ins Plugin Video-Board eingebettete Videos "ungelistet" sein können. "Ungelistet" bedeutet, dass diese Videos auf Youtube nicht ergoogelbar sind und der Allgemeinheit auf den Accounts der Youtuber nicht angezeigt werden. Nur wer die entsprechenden Links hat, kann diese Videos sehen. Durch die Anzeige der URLs von ungelisteten Videos im Quellcode werden diese Videos sozusagen durchs Hintertürchen öffentlich. Ich halte dies für eine ganz schlimme Sicherheitslücke, denn was für Gäste unsichtbar sein soll, muss unbedingt auch im html-Quellcode der Seite unsichtbar sein, darf also auch dort keinesfalls angezeigt werden. Der Fehler hat m.E. nichts mit http bzw. https zu tun.

• Wenn die Rechteeinstellungen bei den Plugins so sind, dass Gäste nichts sehen sollen, dann sollen Gäste auch nichts aus dem Quellcode herauslesen können.

Details zu dieser Frage sind wie gesagt ab dem]Beitrag #106 auf RE:Video Board 2.0 - Dein eigenes Forenkino! (3) zu lesen.
Ich verweise insbesondere auch
- auf den Beitrag #125 von Mike48 auf RE:Video Board 2.0 - Dein eigenes Forenkino! (2)
- auf meine anfänglichen Vorbehalte im Beitrag #128 auf RE:Video Board 2.0 - Dein eigenes Forenkino! (2)
- und auf meinen Beitrag #135 auf RE:Video Board 2.0 - Dein eigenes Forenkino!


Dann kam Mike48 zu folgendem Schluss:

Zitat von Mike48 im Beitrag Video Board 2.0 - Dein eigenes Forenkino!
So, ich habe jetzt gefunden was ihr meint.

Das können wir im Plugin nicht beeinflussen.

In dem script Block mit den Daten stehen die Daten von den 5 Plugins die in dem Forum aktiv sind.
Diese Daten werden vom Plugin-System da eingebaut, unabhängig ob man das Plugin sehen darf oder nicht.
Ich könnte dir jetzt aufzählen, welche Plugins du am Laufen hast. Ich müsste mir nur mühsam den Plugin-Namen zur Plugin_ID suchen.
Ich sehe die plugin_id vom Videoboard und von Olafs Countdownzähler. Das dritte und vierte PI habe ich gefunden aber das fünfte kann ich im Store nicht finden. Das ist vielleicht privat.

Ich sehe das als Bug im Plugin-System.

Da kann Olaf, das Fox und ale anderen Plugin Schreiber nichts für.




Mike48 meinte abschließend, dass man, wenn man wirklich auf der sicheren Seite sein will, alle Plugins deinstallieren muss, wo in den Einstellungen etwas steht, was andere nicht sehen sollen/dürfen, denn momentan ist es so, dass in dem besagten Bereich im Quellcode die Einstellungs-Variablen von jedem Plugin stehen, und zwar unabhäng der Rechte-Einstellung im Plugin; siehe Mikes Beitrag #138 auf RE:Video Board 2.0 - Dein eigenes Forenkino!.

Mike48 ist sich sicher, dass es sich hier also nicht um einen Bug in seinem Plugin oder den Plugins von Olaf oder anderer Programmierkollegen, sondern um einen Bug bzw. eine Sicherheitslücke im Plugin-System der Xobor-Software handelt.

Es ist auch so, dass man grundsätzlich auch alle anderen Plugins. die man installiert hat, im Quellcode sieht. Wenn man z.B. das Plugin zur Bedienung der Diashow der Bilder in der Bildergalerie mittels Pfeiltasten der Tastatur installiert hat und wenn das jemand im Quellcode sieht, ist das vom Prinzip her natürlich auch nicht korrekt, aber es ist bei Weitem nicht so tragisch, wie wenn Jedermann völlig private Texte aus dem Countdown-Plugin oder eben Links zu ungelisteten (= auf Youtube nicht öffentlichen) Videos auslesen kann.

Wenn diese Sicherheitslücke weiterhin besteht, bedeutet das im Klartext, dass vor allem so schöne Plugins wie Mikes Video-Board und Olafs Countdown, in denen individuelle Eingaben vorkommen, für manche Forenbetreiber unter gewissen Umständen nicht mehr nutzbar sind. Aufgrund dieser Sicherheitslücke sehe ich mich leider gezwungen, diese beiden Plugins vorsichtshalber erst mal zu deinstallieren, was doch sehr bedauerlich ist.


 Antworten

 Beitrag melden
13.07.2017 06:46
avatar  TripleM
#2
avatar
User

Da es mir keine Ruhe gelassen hat habe ich noch mal ein wenig gesucht und Probiert

In Beitrag 147 kann man sehen das es nicht beeinflusst werden kann vom Entwickler denn es scheint in allen PI so zu sein. Selbst wie man sehen kann in Xobor eigenen PI.


 Antworten

 Beitrag melden
13.07.2017 07:02
avatar  Edeltraud
#3
avatar
User

Dass man die Plugins die man installiert hat und für Gäste freigegeen hat
sehen kann, das akzeptierte ich.

Aber dass ich in meinem Forum in der Laufschrift über dem Header
komplett den Text lesen kann, den ich da mal reingeschrieben habe
und der nur für Mitglieder sichtbar war, als Gast lesen kann, das verstehe ich nicht mehr !

Obwohl das Plugin komplett für alle abgeschalten ist, also
im Moment hat da gar keiner Leserechte, nicht einmal ich.

Ein Gast jedoch kanns weiter lesen was da drin steht.


 Antworten

 Beitrag melden
13.07.2017 09:30
avatar  Bussinchen
#4
avatar
User

Ziemlich krass, was TripleM da herausgefunden hat.
Ziemlich krass auch, was Edeltraud berichtet, obwohl mich das mittlerweile nicht mehr wundert.

Wer auch nur elementarste html-Kenntnisse hat und lesen kann, kann als Gast ohne jegliche Leserechte übers Hintertürchen des Quellcodes ALLES frei lesen, was in den Plugins an privaten Texten eingegeben ist.
Und dafür braucht dieser Gast noch nicht einmal ein Hacker zu sein.

Dabei ist zu bedenken, dass auch Suchmaschinen und Bots zur Benutzergruppe der Gäste gehören!
Ganz schön krass ist das.

Dieser Bugfix hat meines Erachtens oberste Priorität!


 Antworten

 Beitrag melden
13.07.2017 09:33
avatar  Mike48
#5
avatar
User

Der Thementitel ist nicht ganz korrekt.
Richtiger wäre:
In Plugins eingegebene Daten werden trotz fehlender User-Rechte offen im Quellcode angezeigt

Im Seiten-Quellcode gibt es einen script Block in dem von jedem installierten Plugin alle config-Vars mit den aktuellen Inhalten zu sehen ist. Die Einträge sind auch vorhanden wenn der User keine Rechte hat das Plugin zu sehen.

Im Fox haben wir in der Regel eine Rechte-Var in den Plugins und in den Elemente ist der Code von der Rechte-Var umgeben.
Man geht also davon aus, dass der Code beim Client nicht geladen wird, was ja auch der Fall ist. Dass alle Config-Variablen dennoch im Quellcode beim Client enthalten ist, stößt auf Unverständnis. Die Frage ist, ob es nötig ist alle Config-Vars immer in den Quellcode beim Client zu laden.

Hier ein Ausschnitt


 Antworten

 Beitrag melden
13.07.2017 09:42
avatar  Bussinchen
#6
avatar
User

Du hast Recht, Mike48, deine Formulierung für den Titel dieses Threads ist besser.

Ich hab das nicht so gut ausgedrückt wie du.

Vielleicht wäre ein Admin so freundlich, das nachzueditieren. Ich habs' hier in diesem Beitrag bereits getan.


 Antworten

 Beitrag melden
13.07.2017 09:50
avatar  Mike48
#7
avatar
User

Liebes Bussinchen, du könntest deine Beiträge etwas kürzer fassen.
Deinen erster Beitrag habe ich immer noch nicht ganz gelesen, nur Quer. Der Support hat mit deinem Beitrag ja reichlich was zum lesen, wer weiß wann sich das einer antut.

Kurz und bündig bringt oft mehr, selbst wenn dann noch Fragen kommen.

Ist nicht böse gemeint, aber ich vermute du schreibst mit 12 Finger.

Ich mit meinen 2 Finger-Adler bekomme das nicht hin, da brauche ich Stunden für.


 Antworten

 Beitrag melden
13.07.2017 10:01
avatar  Bussinchen
#8
avatar
User

Zitat von Mike48 im Beitrag #5
Die Frage ist, ob es nötig ist alle Config-Vars immer in den Quellcode beim Client zu laden.


Das hingegen scheint mir zu schwach ausgedrückt.

Ich sag's in aller Deutlichkeit:
Wenn sich herausstellt, dass "es nötig ist", alle Config-Vars immer im Quellcode beim Client zu laden, dann sind alle Plugins, wo man persönliche Daten eingibt, für mich gestorben.


Ja, du magst ja Recht haben, aber ich tu mir
tatsächlich schwer mit der Würze der Kürze.
Du kannst das viel besser als ich.
Wahrscheinlich ist jetzt auch schon alles gesagt,
was gesagt werden musste.


 Antworten

 Beitrag melden
13.07.2017 10:47
avatar  Johannes
#9
avatar
Administrator

Persönliche/Sensible Daten gehören nicht in die Konfiguration eines Plugins, da es eben auch keine einstellbaren Leserechte für diese Konfigurationsvariabeln gibt. Die Konfigurationsvariabeln sind lediglich der schnellste und einfachste Weg eine Konfiguration zu speichern - Hauptsächlich gedacht für Layout-Einstellungen / Konfiguration / Überschriften etc..

Es gibt vielfältige Möglichkeiten auch sensible Daten in einem Plugin (auch mit Leserechten) zu speichern und abzurufen.
Schaut euch nochmal unsere Dokumentation an:
https://www.xobor.de/plugin-doc-api.html
Zum Beispiel zum Thema globale Variable (nicht Konfiguration!):
"Bei der Erstellung einer globalen Variable kann außerdem festgelegt werden, welche Gruppen später die Werte der Variablen lesen bzw. schreiben dürfen. "


 Antworten

 Beitrag melden
13.07.2017 11:00
avatar  Mike48
#10
avatar
User

Zitat von Johannes im Beitrag #9
Zum Beispiel zum Thema globale Variable (nicht Konfiguration!):
"Bei der Erstellung einer globalen Variable kann außerdem festgelegt werden, welche Gruppen später die Werte der Variablen lesen bzw. schreiben dürfen. "

Und wie bekommt der Admin Werte in die Globalen Variablen? Die Admins können nach meiner Kenntnis doch nur in Config-Vars Werte eintragen. Und die werden immer in den Browser geladen. Es geht um die Werte die ein Admin im Plugin verändern kann, nicht um Werte die im Plugin Code verwendet werden.


 Antworten

 Beitrag melden
13.07.2017 11:11
avatar  Johannes
#11
avatar
Administrator

Siehe hier: https://www.xobor.de/plugin-doc-api.html..._plugin_setGlob
Das ganze passiert dann also direkt im Forum, an Ort und Stelle.

Natürlich ist das komplizierter als eine Konfigurations-Variable!
Die meisten Plugins fügen sensible Daten jedoch eher z.B: einem Foren-Beitrag hinzu. Da entsteht das Problem nicht, da dort immer mit Zugriffsrechten auch auf die Variable gearbeitet wird. Das Thema hier gilt ausschließlich für die Konfiguration. Da eine Konfiguration immer überall verfügbar ist und entsprechend auch komplett gecached wird, sind Leserechte hier für die Konfigurations-Variable selbst nicht möglich.


 Antworten

 Beitrag melden
13.07.2017 11:33
avatar  Bussinchen
#12
avatar
User

Zitat von Johannes im Beitrag #9
Persönliche/Sensible Daten gehören nicht in die Konfiguration eines Plugins, da es eben auch keine einstellbaren Leserechte für diese Konfigurationsvariabeln gibt.

Diese Antwort ist mir leider zu "wischiwaschi". Das klingt mir wie eine einfache Ausrede, ihr schiebt das Problem ab auf die Pluginentwickler, und damit seid ihr aus dem Schneider,

Ich versteh das nicht. Nehmen wir bitte konkret das Beispiel des Plugins Video-Board. Sagen wir, ich lade mein Video auf Youtube hoch und stelle den Status auf "nicht gelistet", denn ich will dieses Video nur einem privaten Kreis von Leuten in meinem passwortgeschützten Forum zeigen, ohne dass der Link zu diesem nicht gelisteten Video deswegen öffentlich = ergoogelbar wird. Ich hatte mir eingebildet, dass gerade für so was das Video-Board prädestiniert und ein besonders praktisches Tool sei; auch dessen zentrale Platzierung etwa auf der Forum-Übersicht-Seite gefällt mir sehr gut, denn das ist wirklich so ein bisschen wie Kino. Doch nun ist genau das Gegenteil der Fall - ich kann das nicht nutzen, wegen der "sensiblen Daten", der URL. Wenn ich mein nicht gelistetes Video wegen der Einstellungen nun wie bisher ohne Plugin in Forenbeiträge einbinden muss, was habe ich dann für Nutzen von so einem Video-Plugin. Das finde ich sehr schade.

Dasselbe gilt auch für den Countdown. Der nützt mir dann auch nichts mehr, und ich muss stattdessen auf den Kalender ausweichen. Wozu dann überhaupt solche Plugins, wenn ein Großteil der User besser die Finger davon lassen sollte.


 Antworten

 Beitrag melden
13.07.2017 12:22
avatar  Gast
#13
avatar
Gast

@Bussinchen

Zitat von Johannes im Beitrag #9
Persönliche/Sensible Daten gehören nicht in die Konfiguration eines Plugins ...

Kurzfassung: Um auf der sicheren Seite zu sein platziere private Daten einfach anders im Forum - wäre momentan die einfachste, schnellste und beste Variante ;--)

liebe Grüße, Räuberpapa


 Antworten

 Beitrag melden
13.07.2017 12:50
avatar  Bussinchen
#14
avatar
User

Ja, ist mir schon klar, Räuberpapa!
So mach ich's ja auch.
Das sollte aber nur ein vorübergehender Notbehelf sein,
sonst wäre es jammerschade um die vielen schönen Plugins,
die dann nur noch eingeschränkt genutzt werden können.


 Antworten

 Beitrag melden
13.07.2017 12:54
avatar  Mike48
#15
avatar
User

Zitat von Johannes im Beitrag #11
Siehe hier: https://www.xobor.de/plugin-doc-api.html..._plugin_setGlob
Das ganze passiert dann also direkt im Forum, an Ort und Stelle.

Den Artikel über globale Variablen habe ich schon mehrmals gelesen. Wahrscheinlich stehe ich mir selber auf der Leitung. Kann man mal ein Code Beispiel bekommen, was man im Plugin programmiern muss, damit der Admin in dem Plugin eine Eingabe für die globalen Variablen machen kann. Dazu müsste man ja vom Plugin aus in die Admin eingreifen und dort im Plugin Input-Felder erstellen.

Also, wie ersetzt man eine Config-Var gegen eine global-Var. Praktisches Beispiel hätten wir gerne.

Einfach so einen Link in die API setzen wo ganz allgemein über globale Variablen ein kleiner Beitrag steht ist nicht sehr hilfreich.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!