WB 2.12.0 XSS - Cross Site Scripting

evaki

Nochmal überprüft, lokal wie beim Hoster, und nix Außergewöhnliches entdeckt.
Um möglichem XSS vorzubeugen kannst halt, wie empfohlen, Content Security Policy (CSP) einsetzen.

Wie weit oder ob die in class.feedback.php function xssPrevent greift, habe ich nicht untersucht.
Ein uralt-Artikel zeigt was alles so geht.

Also CSP, un jut ists im Altersheim.

MfG. Evaki

evaki

#13
OK

Schon lustig. Was man so alles vergißt.
Vor 5 Jahren:
https://forum.websitebaker.org/index.php?topic=25680.0
MfG. Evaki

stef4n

dann bleiben wir bei aus. Habe global Captcha deaktiviert im Moment. Das Feedback Modul habe ich mir im Detail noch gar nicht angesehen. w/ Spam wäre das natürlich sinnvoll aber wenn es ohnehin nicht verfügbar ist, ist es obsolet :)

evaki

Was heißt aktuell?
Ich sehe hier unter wb2.12 keine Option ums einschalten zu können Oder hab ich mal wieder Tomaten auf den Augen?
MfG. Evaki

stef4n


evaki

Bin jetzt schon drin/dran. Will jetzt schon wissen obs Werkeln lohnt.
Das Ding kann wohl Captcha benutzen. Läuft das bei Dir mit Captcha?
(Diesbzgl. gibts sowieso -im Code- "Ungereimtheiten)
MfG. Evaki

evaki

Ich guck mir das Teil nochmal am Wochenende an.
Könnte sein, daß es hier mit 'ner Korrektur doch noch klappt.
(Es gibt doch einige wesentliche Unterschiede zum "anderen" Modul aus der gleichen Schmiede -hab gerade den Blick drauf  :-) )
Versprechen kann ich natürlich NIX. Auch nicht, obs auch unter mysql-strict läuft.
MfG. Evaki

stef4n

danke für die Info. Wäre für mich aber wohl zu aufwändig die bestehenden Kommentare auf das Comments Modul umzudrehen (Datenbank). Ich warte auf eine Lösung hier oder muss einen externen PHPler damit beauftragen mir eine sichere Lösung zu erstellen dafür.

Folgende Version habe ich installiert (habe nichts aktuelleres gefunden) und somit in meiner WB 2.12.0 aktiv:

Name:    Feedback
Art:    Seiten Addon
Autor:    Ralf Hertsch - rh@phpmanufaktur.de
Version:    1.1.0
Entworfen für:    Website Baker 2.8.x

Wäre schön wenn das zeitnah geprüft und im besten Fall behoben werden kann.

evaki

#6
Bei diesen Anhang .zip entfernen (comments-wb11.z01), und dann das ganze erst entpacken und neu packen.

Description:
This simple comment module lets you add comments to a page.

If the user is not logged in they are redirected to a login page before they can post a comment.

An email is sent to the user if someone replies to a comment.

Users can up vote comments they like.

All comment functions are implemented with AJAX.

It is based on jquery-comments by Viima.

http://www.websitebakers.com/pages/modules/interaction/comments.php?searchresult=1&sstring=comment
Ja, man kanns auch direkt von dort laden, aber wie lange noch. Deshalb das Teil auch ins Forum.


Ob das Ding frei von XSS ist, habe ich nicht überprüft, aber für AJAX gabs da bisher reichlich Lösungen.

evaki

#5
Es gäbe da noch "comments" (siehe Anhänge).
Nur Mitglieder können da anscheinend posten. Habs mir nicht näher angeschaut, bis auf Funktion unter strict  :-D
MfG. Evaki

evaki

#4
Das Modul ist -wenn ich nicht irre- aus der gleichen Schmiede wie eines, das vor ein paar Tagen auch das XSS-Problem aufwies (Parser + .htt-form). Für die Beseitigung gibts von meiner Seite erstmal keine Lösung. Das hat mit dem (Programmieraufwand) zu tun, den ich nicht leisten kann, und wo ich auch fachlich in die Überforderung reinschliddern würde. Ich bin nur Laie, auch wenn ich bei einigen Problemen helfen kann. Warum und wo der Fehler auftritt ist klar festgehalten. An anderer Stelle wurde schon gesagt, daß der Aufwand nicht gering ist (uralt und php4). Möglicherweise macht sich einer daran zu schaffen, ders "aus den Ärmeln schütteln" kann.

Einzig mein Archiv könnt ich nach einer Alternative durchsuchen. Aber ich erinnere, daß das auch son altes Teil war.
MfG. Evaki

stef4n

danke fürs Feedback Evaki.

Habe mal den Kontakt aufgenommen und folgende Info erhalten, dass es am Feedback Modul liegt:

site has xss vulnerability, it is possible to run potentially malicious script by sending crafted url please check for example https://www.xy.php/%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E?fb_action=feedback the name of file path after "/xy.php/" path is echoed in application response, but to run script it is necessary to add "> string at the begining of script because it is treated as a closing tag and lets execute the rest of the script. I marked You Stefan below where script is returned:


<form name="fb_dialog" action="xy.php/"><script>alert(document.cookie)</script>#fb_anchor" method="post">
To patch it, it is necessary to filter and escaping special characters that user can use like ",>,/ etc. without them it will be much harder to run java script.

evaki

#2
Ohne konkrete Angaben kann da niemand was mit anfangen.
Wenn Du Dich durch zusätzliche Maßnahmen sicherer fühlst, kannst Du ja z.B. Dein Template entsprechend erweitern:
X-Frame-Options Header
X-XSS-Protection Header
Content Security Policy (CSP)
Referrer-Policy
Wenns beruhigt...

MfG. Evaki

Edit: Janz verjessen. Bei Versuchen mit SQL-Injektion im Script Suche schreit jeder Scanner auf. Application-error und CSRF gibts kostenlos dazu.
Bisher hat noch niemand gezeigt wie eine WB-Site (von außen!) zu knacken ist, bzw. wie sich aufgrund dieses Varhaltens  eine Tür auftut.
Bei Lücken in Modulen werde ich selbst aber hellhörig. Das ist wie ein Mitarbeiter mit Zange inne Tasche.



stef4n

ich bins mal wieder  8-)

1.) mir fehlt eine Forumskategorie für die neue 2.12.0 (in dieser würde ich dann die gewünschte PageCloner Anfrage platzieren  :-) )
2.) nachdem nun das System Produktiv auf WB 2.12.0 und PHP 7.2.6 soweit stabil läuft habe ich vorgestern über das Open Bug Bounty Programm eine Mail erhalten welche XSS anmäkelt.

(ob Zufall oder nicht, mit der WB 3.8.1 hatte ich damit keine Probleme bzw. keine Meldungen)

Soll das ganze überhaupt ernst genommen werden? Ich denke ihr solltet in der Lage sein einzuschätzen ob hier tatsächlich relevante Probleme auftreten können, da ich bis auf die Standard Formular Felder im Kontakt keine Eingabemöglichkeiten auf der Seite zulasse.

Kann ich ggfs. global Vorkehrungen treffen welche der XSS Feststellung vorbeugt? Oder macht es Sinn sich mit dieser auseinanderzusetzen?

Danke wie immer



  • Open Bug Bounty Program:   Create your bounty program now. It's open and free.
  • Vulnerable Application:   [hidden until disclosure]
  • Vulnerability Type:   XSS (Cross Site Scripting) / CWE-79