Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Komische URL -> SQL-Zugriff auf Admin

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    am: 10. Januar 2011, 09:36:20
    Mir ist gerade durch die whos_online ein merkwürdiger Zugriff aufgefallen:

    Da hat sich jemand (aus der Ukreine) einen Nonsense-Account erstellt und im nächsten Schritt die URL www.meinshop.de/admin/categories.php/login.php aufgerufen. Mein Adminbereich ist zusätzlich per htacces mit einem Passwort geschützt, so dass das Ergebnis ein 401-Error war. Die Sache kam mir jedoch sehr merkwürdig vor und so habe ich das ganze mal an meinem Testshop nachgestellt und das Ergebnis ist, dass ein normaler Kunde damit im Adminbereich folgende Fehlermeldung erhält:
    1054 - Unknown column 'login' in 'field list'

    select login from admin_access where customers_id = '4'

    [XT SQL Error]
    Wie kommt den ein Kunde ohne Adminrechte überhaupt so weit, dass ein SQL-Befehl erfolgt?
    Eigentlich wird ein Kunde, der versucht in den Adminbereich zu gelangen doch auf die account.php geleitet.

    Ich befürchte, dass hier eine Stelle ist, wo eine SQL-Manipulation möglich ist. Auf die Schnelle habe ich nicht gefunden, wie und wo es da überhaupt zu dem SQL-Aufruf kommt - habe momentan aber auch kaum Zeit.
    Vielleicht hat jemand eine Idee was da genau passiert?



    Linkback: https://www.modified-shop.org/forum/index.php?topic=10547.0

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #1 am: 10. Januar 2011, 10:57:03
    Ich kann den Fehler im Demoshop 1.05 nachstellen.
    Es sieht so aus, als wäre die "categories.php" anfällig für Dateinamen als Übergabeparameter (cPath?).
    Die Fehlermeldung kommt wohl aus der Funktion "xtc_check_permission" in der admin/includes/functions/general.php die in der admin/application_top.php aufgerufen wird.

    Eine SQL-Injection an der Stelle wäre denkbar.

    Im Trunk-Demoshop konnte ich den Fehler nicht mehr nachstellen. Hier wird der User beim Aufruf der manipulierten URL auf die "account.php" weitergeleitet.

    hendrik

    • Experte
    • Beiträge: 2.038
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #2 am: 10. Januar 2011, 11:10:37
    Das ist der Algorithmus der den Namen des Scripts ermittelt womit anschließend überprüft wird, ob Zugriff erlaubt. Mit dieser Zeile wird er in die Irre geführt und fragt einen nicht eingetragenenen Scriptnamen ab.
    Im Trunk ist die Namensermittlung anders.

    admin/includes/application_top.php

    Code: PHP  [Auswählen]
      $current_page = ..........
     
    Ist unschön. Sehe da aber kein Sicherheitsproblem. Lasse mich aber gern belehren ob sich damit was anfangen lässt.

    Gruß
    Hen

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.308
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #3 am: 10. Januar 2011, 11:21:42
    im Trunk wurde das so gelöst:

    Code: PHP  [Auswählen]
    $current_page = basename($_SERVER['SCRIPT_NAME']);
     

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #4 am: 10. Januar 2011, 12:09:51
    Mir sind jetzt zwei Dinge aufgefallen:

    1. Wenn ich das in der Trunk teste, wird die Seite ohne CSS-Formatierung ausgegeben.
    So richtig sauber ist das da also auch nicht. Da werden noch irgendwo anders Variablen falsch gesetzt.

    2. In der normalen Version, kann man so das Rechtemanagement umgehen.
    Hat ein Admin zB. nur Rechte die Artikel zu bearbeiten könnte er durch die /admin/orders.php/categories.php auch auf die Bestellungen zugreifen. Er muss in dem Fall einfach an jede URL ein /categories.php anhängen und kommt in alle Bereiche.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.308
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #5 am: 10. Januar 2011, 12:16:08
    Mir sind jetzt zwei Dinge aufgefallen:

    1. Wenn ich das in der Trunk teste, wird die Seite ohne CSS-Formatierung ausgegeben.
    So richtig sauber ist das da also auch nicht. Da werden noch irgendwo anders Variablen falsch gesetzt.
    [...]

    das kann ich leider nicht nachvollziehen. Hab es gerade getestet und werde auf die /account.php weitergeleitet mit richtiger CSS Darstellung.

    Gruss Gerhard

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #6 am: 10. Januar 2011, 12:32:52
    Sorry, da habe ich mich nicht korrekt ausgedrückt. Ich war schon einen Schritt weiter und habe in der Trunk überprüft, was passiert, wenn ich als Admin angemeldet bin und irgendeinen Müll anhänge.

    Ich denke aber wichtig ist eher Punkt 2. Da können die gesetzten Adminrechte ausgehebelt werden.

    web4design

    • Experte
    • Beiträge: 1.122
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #7 am: 10. Januar 2011, 12:41:34
    Hi.

    Hab's auch getestet und sobald ich einen zweiten Admin-Account anlege und diesen die Rechte für die categories gebe (zudem noch Start ansonsten keine weiteren), passiert genau das was p3e beschreibt.

    Vollzugriff auf alle Admin-Seiten bloß ohne Stylesheet (beim Erstaufruf).

    Nachtrag:
    Zu schnell geschrieben, Aufruf ohne Stylsheet aber nur Zugriff auf die freigeschalteten ;-) , also somit bisher kein Risiko, hehe.

    Gruß

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #8 am: 10. Januar 2011, 12:47:33
    Nachtrag: Da läuft irgendwas komisch: Wenn ich im Admin der Trunk-Version folgenden Link aufrufe:
    https://demo.modified-shop.org/trunk/admin/whos_online.php/dasisteinTest.php
    Finde ich in der Onlineauflistung zeitgleich vielfach den Aufruf der Loginseite des Frontend (eventuell reload machen). In wirklichkeit bleibe ich aber auf der whos_online (nur ohne Bilder und CSS).

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #9 am: 10. Januar 2011, 13:01:37
    Hi.

    Hab's auch getestet und sobald ich einen zweiten Admin-Account anlege und diesen die Rechte für die categories gebe (zudem noch Start ansonsten keine weiteren), passiert genau das was p3e beschreibt.

    Vollzugriff auf alle Admin-Seiten bloß ohne Stylesheet (beim Erstaufruf).

    Nachtrag:
    Zu schnell geschrieben, Aufruf ohne Stylsheet aber nur Zugriff auf die freigeschalteten ;-) , also somit bisher kein Risiko, hehe.

    Gruß

    Nein, das stimmt nicht! Du kannst zwar nur auf die freigeschalteten klicken, aber wenn du die URL direkt eingibst, bist Du drin (zumindest bei der 1.05).
    In meinem Test habe ich einen Admin nur für die Kategorien freigeschaltet. Ruft dieser nun aber die URL:
    https://demo.modified-shop.org/tags/modified-1.05/admin/orders.php/categories.php
    auf, kann er die Bestellungen einsehen. Bei jeder folgenden URL muss natürlich wieder /categories.php angehängt werden.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.308
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #10 am: 10. Januar 2011, 13:10:17
    dass kein CSS mehr vorhanden ist, erreichst du schon, wenn du einfach einen Slash an die URL hängst.

    also /admin/orders.php/

    Rechteproblem kann ich aber auch keins feststellen.

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #11 am: 10. Januar 2011, 13:23:06
    [...]
    Rechteproblem kann ich aber auch keins feststellen.

    Dann erstelle mir in Deinem Testshop der unter modified eCommerce Shopsoftware 1.05 läuft mal einen Admin mit beschränkten Rechten und ich maile dir die letzte Bestellung.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.308
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #12 am: 10. Januar 2011, 13:26:11
    ich habe nur den Trunk getestet, sorry !

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.308
    • Geschlecht:
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #13 am: 10. Januar 2011, 13:38:33
    kannst du das mal testen:

    erstelle in /admin eine ".htaccess" mit diesem Inhalt:

    Code: PHP  [Auswählen]
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^(.*)\/$
    RewriteRule ^(.*)$ %1 [R=301,L]
     
    funktioniert das dann noch immer ?

    Ich habe erst morgen wieder Zeit mir das genauer anzuschauen.

    Gruss Gerhard

    p3e

    • Experte
    • Beiträge: 2.426
    Komische URL -> SQL-Zugriff auf Admin
    Antwort #14 am: 10. Januar 2011, 13:44:54
    Ich habe heute auch keine Möglichkeit das zu testen, weil ich nicht im Büro bin und unterwegs keinen FTP-Zugang habe (vielleicht testet das ja noch jemand anderes?).

    2 Antworten
    2195 Aufrufe
    10. Februar 2017, 20:11:59 von Tomcraft
    0 Antworten
    1834 Aufrufe
    04. Januar 2017, 11:01:05 von iChris
    21 Antworten
    17662 Aufrufe
    06. Januar 2011, 18:29:31 von GTB
    4 Antworten
    2111 Aufrufe
    03. August 2017, 20:02:18 von Speed