Auswahl  

Hackerangriffe in APEX 

APEX
20.04.20 (MP)
20.04.20(MP)

Passende Schulungen zum Thema

Wenn man seine APEX Anwendung am ersten Tag im Internet frei verfügbar macht, wird man sich gleich über den großen Traffic auf dem Server freuen.
Nur, wenn man nachdenkt, fällt einem beim Betrachten der Logfiles schnell auf, dass die meisten Zugriffe Hackerangriffe sind.
Hier ein paar Auszüge aus unserem Apache Log-File
(1)
POST /wordpress/xmlrpc.php
POST /wp/xmlrpc.php
/blog/xmlrpc.php

/?XDEBUG_SESSION_START=phpstorm
/wp-login.php
/index.php?s=/Index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=Hello
/phpMyAdmin/scripts/setup.php

(2)
/oracle/f?p=SCHULUNG:1001::Oracle_ORDS_Installation_f%C3%BCr_APEX:::P1001_TIPPAUSWAHL:563'\"
/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%27%20AnD%20sLeep%283%29%20ANd%20%271  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%27%26%26sLEEp%283%29%26%26%271  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%00%27%7C%7CSLeeP%283%29%26%26%271  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%27%20aND%20BeNChMaRK%282999999%2CMd5%28NoW%28%29%29%29%20AnD%20%271  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%27%26%26BeNChMaRK%282999999%2CmD5%28NOW%28%29%29%29%26%26%271  400
/ords/f?p=SCHULUNG%3A1001%3A%3AOracle_ORDS_Installation_f%C3%BCr_APEX%3A%3A%3AP1001_TIPPAUSWAHL%3A563%27%20AnD%20sLeep%283%29%20ANd%20%270%27%3D%270  400
/ords/f?p=SCHULUNG:1001::Oracle_ORDS_Installation_f%C3%BCr_APEX:::P1001_TIPPAUSWAHL:563%20and%201%3D1
/ords/f?p=SCHULUNG:1001::Dynamic_Actions_f%C3%BCr_Reportspalten:::P1001_TIPPAUSWAHL:256999999.1 union
/ords/f?p=SCHULUNG%3A61%3A17151203403405%3A%3ANO%3A%3A%3A
/ords/f?p=11000%3A30%3A8476665195031

(3)
/ords/f?p=SCHULUNG:1001::Oracle_ORDS_Installation_f%C3%BCr_APEX:::P1001_TIPPAUSWAHL:563%22%20or%20(1,2)=(select*from(select%20name_const(CHAR(111,108,111,108,111,115,104,101,114),1),name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a)%20--%20%22x%22=%22x HTTP/1.1" 301 493 "-" "-"


(4)
/arx/license.txt
CONNECT ip.ws.126.net:443

Schmunzeln mussten wir schon, wie 90% der Angriffe ablaufen. Ein großer Teil sind versucht php Attacken (1), die bei einer reinen APEX-Installation ins Leere laufen.

Die Angriffsgruppe (2) versucht mit SQL-Injection einen Fuß in die (Datenbank-) Türe zu bekommen.

Beim Angriff (3) waren wir auch verwundert, was die Funktion name_const denn bei Oracle macht. Relativ schnell stellte sich heraus, das ist gar keine Oracle Funktion, sondern gehört zu einer MySQL Datenbank und läuft damit ins leere... :-)

Da sich die Angriffe sehr oft wiederholen (von anderen IP Adressen) gehen wir davon aus, dass es fertige Hacker-Kits gibt, die hier zum Einsatz kommen.

So was können wir tun gegen diese Angriffe?
1. Seine Hausaufgaben machen und alle Variablen/Items immer lieber einaml zu oft prüfen auf Länge, Datentyp und Logic.
2. Prüfsummen in der URL aktivieren
3. Apache/Nginx Logfiles regelmäßig auswerten
4. Apache mod_security installieren
4. Unseren APEX Security Kurs besuchen. Wir haben ihn um die Kapitel Apache und Nginx Security erweitert

Wir haben uns noch eine weitere Abwehrroutine überlegt, ein Shell Script mit Namen blockip.
Es hat die Aufruf-Parameter:
blockip <ip> [-h -d -l -apache -nginx]
-s <ip> [hours] Set IP on Blocked List [for x hours]
-d <ip>|[all]     Drop [all] Blocked IP
-l                Which IP are blocked
-l -history       Which IP were blocked last
-l -apache        Which IP would Blocked from Apache
-l -nginx         Which IP would Blocked from nginx
-apache           Block all Apache hacking IPs for 2 hours
-apache -auto     Look for last 50 new Entries in Log (only Crontab)
-nginx   Block all Nginx hacking IPs for 2 hours
<ip> in aaa.bbb.ccc.ddd for example 185.172.4.126

Es kann IP-Adressen blocken/entblocken manuell oder autmatisch, wenn es im Apache Logfile verdächtige Aktionen bemerkt. Bei uns läuft es via Crontab regelmäßig und sperrt die Hacker für 1 -x Stunden aus.
Alle unsere APEX Schulungteilnehmer erhalten das Shell-Script von uns kostenlos auf Anfrage.