MySQL-Attacke, wie wird da zugegriffen?

  • Hallo,


    ich wende mich heute mal an euch weil ich auf einigen meiner PD-Admin-System derzeit folgende und ähnliche Zugriffe sehe, ich ich aber nicht weiß die die vonstatten gehen, denn die normale URL wird ja regulär aufgerufen:


    Beispiel-access-log eintrag:


    /usr/local/pd-admin2/logs/access_log.1656822901:www.************.de 185.7.214.179 - - [03/Jul/2022:06:29:23 +0200] "GET /presse/presseartikel-PVC.html HTTP/1.1" 200 118 "https://www.***********.de:443/showpage.php' RLIKE (SELECT (CASE WHEN (ORD(MID((SELECT IFNULL(CAST(CHAR_LENGTH(target_email) AS NCHAR),0x20) FROM usrdb_********_***.tbl_****** ORDER BY target_email LIMIT 26,1),2,1))>9) THEN 0x68747470733a2f2f7777772e6665756572626163682d616b6164656d69652e64653a3434332f73686f77706167652e706870 ELSE 0x28 END)) AND 'etDS'='etDS" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17"


    Wie wird denn da versucht der SQL-INJECTION-Code unterzuschieben? würde das gerne mal nachstellen um zu sehen ob da wirklich eine Gefahrt droht.

    Das ärgerlich dabei ist das die damit aktuelle sehr viel traffic für nix erzeugen.


    Vielleicht hat ja jemand eine Idee oder kann mir auf die sprünge helfen.

    Manfred

  • Leider gehört es mittlerweile zum Grundrauschen dass ständig versucht wird mit SQL- oder Command Injection bekannte Schwachstellen auszunutzen. Hier versuchts anscheinend jemand über GET entsprechende Befehle zu injizieren.


    Was mich in Deinem Fall aber ein bisschen nervös macht ist, dass hier anscheinend explizit ein "SELECT bla bla bla FROM usrdb...." versucht wird. Das sieht mir danach aus als würde der Angreifer den Namen Deiner Datenbank kennen. Das dürfte eigentlich nicht sein, woher sollte er den wissen?


    Also ich will jetzt hier noch nicht den Teufel an die Wand malen, aber möglicherweise weiß er Angreifer schon ein bisschen mehr über diese Website als er eigentlich wissen sollte.

  • Zunächst sollte man sich einmal den Aufbau des Access Logs anschauen. Ich gehe davon aus, der Aufbau wirde nicht verändert und ist wie bei Auslieferung der SE. Der Teil mit den SQL Anweisungen steht im Referer Teil des Logs. Es wird somit nicht direkt ein Skript aufgerufen und versucht dort eine Injection durchzuführen. Ich nehme an, der Angriff zielt auf Anwendungen ab, welche den Referrer auswerten. Dies können Anwendungen wie Matomo oder auch (WordPress) Plugins für Statistiken sein.


    Ich habe in meinen Logs ähnliche Einträge gefunden. Teilweise war auch Code im Teil des User Agents enthalten. Hier zwei Beispiele:

    Code
    dev.xxxxx.de 216.131.114.216 - - [04/Jul/2022:12:06:36 +0200] "GET / HTTP/1.1" 200 44 "NkUXTPoA')) OR 247=(SELECT 247 FROM PG_SLEEP(15))--" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.0 Safari/537.36"
    
    dev.xxxxx.de 216.131.114.216 - - [04/Jul/2022:12:06:38 +0200] "GET / HTTP/1.1" 200 44 "https://www.google.com/search?hl=en&q=testing" "if(now()=sysdate(),sleep(15),0)"

    Interessant ist bei mir, dass URLs aufgerufen wurden, welche nicht konfiguriert sind und man nur die Standardseite des Apaches erreicht. In meinem Fall sieht es daher mehr nach der Suche einer Lücke aus.


    Bedenklich ist tatsächlich, dass hier die Angabe von usrdb_* gemacht wird. Wie tbc233 schon schrieb, scheint der Angreifer über das Wissen der Datenbanknamen zu verfügen. Dies muss nicht heißen, dass der Server/Endkunde eine Sicherheitslücke hat. Wenn die Daten auf einem kompromittierten PC liegen, kann dieser auch für einen Leak verantwortlich sein. Dennoch sollte man sich den Endkunden genauer anschauen.

  • Da ist was selbst gebautes. Danke für die Input, das hier der Referer manipuliert ist war mir trotz anstarren des Logs irgendwie nicht klar. Aber natürlich. Ich habe mal alles durchgeschaut, sehe zwar nicht wo das was abgeflossen ist, aber das da die usrdb-Datenbank mit im String steht sorgt mich schon, das muss ich unbedingt nochmal stärker prüfen wie das sein kann.

    Danke wieder mal an das tolle Forum und die Hilfe.