Forbidden: You don't have permission to access /wlcore/acp/index.php on this server.

  • Affected Version
    WoltLab Suite 3.0

    Hallo


    Ich versuche einen neuen Stil im/fürs Forum zu erstellen:

    Kontrollzentrum > Administration > Anpassung > Stile > Stil hinzufügen > Gloable Einstellungen -> Seitenlogo hochladen


    Danach kriege ich die Meldung: "Die Aktion wurde erfolgreich ausgeführt".


    Schaue ich dann im Forum nach, ist da noch das alte Standard-Logo von WoltLab drin (mein neuer Stil ist aber als Standart definiert).


    Gehe ich wieder zurück zur Stil-Bearbeitung, sehe ich dann auch wieder das WoltLab-Logo bei "Seitenlogo". Okay, lade ich mein neues Logo erneut hoch (wieder mit Meldung, dass es es io ist) und drücke diesmal ganz unten auf "Absenden", erhalte ich:


    Forbidden

    You don't have permission to access /wlcore/acp/index.php on this server.


    Hat jemand diesen Fehler auch schon gehabt?

  • Danke für den Hinweis, verstehe aber das Problem nicht. Nur ein Bild hochladen, um es im Forum anzuzeigen, kann doch kein Security-Problem sein. Andere Änderungen in den Gloablen werden ohne Fehler übernommen.

    Da ich einen Standart-Account bei meinem Provider verwende, wird der auch wohl kaum auf meine Security-Bedürfnisse eingehen und Anpassungen vornehmen. Und wenn er auf mich eingeht, wird er mich Fragen, was ich denn versuche, was ich ihm nicht technisch erklären kann, da ich nicht weiss, was das Forum im Hintergrund zu tun versucht. Dann wird er sagen, ok, dann klären sie das mit dem Forum-Hersteller, wir können da sonst nichts tun. Ich kenne diese Dreiecks-Gescichten :/


    Zusammen mit dem Problem der nicht programmierbaren Usererstellung ist das WoltLab-System wohl nicht das Richtige für mich.


    Vielen Dank dennoch und weiterhin viel Erfolg!

    • Official Post

    Da ich einen Standart-Account bei meinem Provider verwende, wird der auch wohl kaum auf meine Security-Bedürfnisse eingehen und Anpassungen vornehmen.

    Das ist ein Trugschluss, mod_security ist so konzipiert, dass es individuell zur Laufzeit im Verhalten angepasst werden kann, insbesondere das Deaktivieren einzelner Regeln.

  • Ok, verstehe und danke für den Hinweis! Welche Aktion führt denn das WoltLab-Forum an dieser Stelle aus, so dass die Security hier nicht anschlägt? Bzw. welche Rechte dürfen nicht gesetzt sein, damit es funktioniert?

    Ich kann das gerne mal seitens Provider bzgl. "mod_security" prüfen, habe aber keinen grossen Glauben, dass die mir da entgegenkommen. Drum bräuchte ich etwas mehr Infos, damit ich das mit dem Provider angehen kann.

    Schreibe es dann hier gerne rein, damit, wenns eine Lösung geben sollte, andere nicht in den gleichen Hammer laufen.

    In meiner Homepage kann man auch Bilder hochladen, hatte dieses Security-Problem aber noch nie.

  • steht irgendwas in den WCF logs ?

    Guten Punkt! In .../httpdocs/wlcore/log/ gibt es eine Datei mit Namen ".htaccess" und da drin steht: "deny from all", was immer das hier zu bedeuten hat.


    Im internen Log, also vom Web-Hoster dann schon ein klareres Error-Log (mehrere gleiche, da mehrfach versucht zu uploaden):


    1. [Thu Jan 25 17:19:30.077354 2018] [:error] [pid 2290] [client 84.75.249.72] ModSecurity: Access denied with code 403 (phase 2). Pattern match "^(?:globals(?:$|\\\\[)|php:/)" at ARGS:activeTabMenuItem. [file "/etc/apache2/modsecurity.d/rules/atomic/modsec/10_asl_rules.conf"] [line "757"] [id "340077"] [rev "5"] [msg "Atomicorp.com WAF Rules: PHP policy violation"] [severity "CRITICAL"] [hostname "<meine URL>"] [uri "/wlcore/acp/index.php"] [unique_id "WmoDkn8AAAEAAAjy0ZoAAAAH"]

    Scheint also doch was mit der Security zu tun zu haben. In meinen Web-Hosting-Einstellungen habe ich nichts gefunden, wo ich da was ändern kann. Was mich grade etwas sorgt, ist "severity CRITICAL".


    In besagter index.php steht:

    <?php

    /**

    * Author Marcel Werk

    * @copyright 2001-2017 WoltLab GmbH

    * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>

    * @package WoltLabSuite\Core

    */

    require_once('./global.php');

    wcf\system\request\RequestHandler::getInstance()->handle('wcf', true);



    Kann es sein, dass irgendwo evtl. ein PHP-Befehl aufgerufen wird, der ein Security-Problem darstellt?

    Edited 3 times, last by Tayger ().

    • Official Post

    Pattern match "^(?:globals(?:$|\\\\[)|php:/)" at ARGS:activeTabMenuItem

    Hier ist schon der Übeltäter: Irgendwo in den POST-Daten kommt der Begriff globals vor und schon wird dies pauschal als Sicherheitsproblem erkannt. Dies ist aber vollkommener Unsinn, da diese pauschale Regel nicht zuordnen kann, in welchem Kontext dies geschieht. De facto ist dies vollkommen harmlos und wird nur zur Markierung des zu letzt verwendeten Tab-Menüs verwendet.


    Anders ausgedrückt: Die Regel agiert viel zu aggressiv und führt in diesem Fall zu einem false-positive, d. h. ein vermeintlicher Treffer ist in Wahrheit keiner.


    Um es mal zu illustrieren: Anfang 2014 wurde in Großbritannien ein Update für das Spiel "League of Legends" von den Porno-Filtern blockiert, bei denen in den Dateinamen der Begriff "sex" vorkam. Tatsächlich handelte es sich um Namen wie "VarusExpirationTimer.luaobj" und "XerathMageChainsExtended.luaobj", die vollkommen harmlos sind, aber die Problematik solcher ungenauen Filter illustriert (https://www.theguardian.com/te…update-that-contained-sex).


    Bitte deinen Anbieter diese vollkommen unzulängliche Regel für dich zu deaktivieren und schon hat dieser Spuk ein Ende. Die Regel ist nutzlos.

  • Danke für die Rückinfo. Ich werde das dem Provider mitteilen und ihn bitten, das (bei mir) abzuschalten. Ich rechne aber nicht mit einer positiven Antwort. Gebe dann Rückmeldung...

  • Mal interessehalber: Welcher Anbieter macht denn so etwas?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Ganz ehrlich, Alex hat vollkommen Recht.... Wenn du im normalen Betrieb durch solch sinnfreien Optionen gestört wirst, würde ich dem Provider bei der nächsten Rechnungsstellung oder gar Vertragsverlängerung auch eine negative Antwort geben...

    Viele Grüsse aus Stuttgart, Kind Regards from Stuttgart
    TheSonic

  • Ganz ehrlich, Alex hat vollkommen Recht.... Wenn du im normalen Betrieb durch solch sinnfreien Optionen gestört wirst, würde ich dem Provider bei der nächsten Rechnungsstellung oder gar Vertragsverlängerung auch eine negative Antwort geben...

    Ich kann es nicht komplett beurteilen. In vielen Fällen mag das Unsinn sein, kenne das Thema im Detail nicht. Andererseits frage ich mich auch, warum es Globals braucht, um ein Tab zu wechseln.

    Wie auch immer, habs dem Provider mal gesteckt und jetzt schauen, wie er darauf reagiert.

    • Official Post

    Andererseits frage ich mich auch, warum es Globals braucht, um ein Tab zu wechseln.

    Und genau hier liegt der Hase im Pfeffer: Der Tab hat einfach den internen Bezeichner globals. Das ist ein reiner Text ohne irgendeine PHP-Funktion dahinter, er hätte auch himmelarschundzwirn heißen können, für die Funktionsweise spielt dies keine Rolle. Das hat nichts, absolut nichts mit den globalen Variablen von PHP zu tun.


    Beachte dazu mein obiges Beispiel, bei dem das genannte Update in UK blockiert wurde, weil in zwei Dateinamen die Buchstaben s, e und x vorgekommen sind. Dabei ist aber klar ersichtlich, dass dies purer Zufall war, dies aber von einem primitiven "Suche nach einer Zeichenkette" irrtümlich als schlüpfrig gebrandmarkt wird.


    Ein kleines Beispiel noch, wie leicht etwas fehlinterpretiert werden kann: Die früher mal existierende Domain penisland.com :) Ich meine, es ist doch sofort erkennbar, dass hier Pen Island gemeint ist, oder?