Abo
  • Services:

Script-Injection in PHP-Webseite

Wir schauen uns ein wenig auf dem System um und finden im Web-Root (/var/www/html) eine Datei index.html, in der der Hacker eine Erpressungsmeldung hinterlassen hat. Man soll ihm ein Bitcoin überweisen. Allerdings fehlt die Bitcoin-Adresse. Weiterhin finden wir eine Datei originalIndex.php, bei der es sich scheinbar um die Original-Webseite handelt. Diese enthält eine ziemlich triviale Script-Injection-Lücke:

  1. if($_GET['password'] != "" && $_GET['file'] != "") {
  2. $command = "/home/readFile ".
  3. $_GET['password'].
  4. " insurances/".
  5. $_GET['file'];
  6. }

Stellenmarkt
  1. tecmata GmbH, Wiesbaden
  2. ESG Elektroniksystem- und Logistik-GmbH, Fürstenfeldbruck

Und später:

  1. <?php system($command); ?>

Die Variable $command wird also mit den GET-Variablen password und file zu einer Kommandozeile ohne Filterung oder Escaping eingebaut. Diese wird anschließend ausgeführt. Das ausgeführte Programm readFile finden wir ebenfalls, samt zugehörigem Quellcode readFile.c.

Im C-Code finden wir einen trivialen Stack-Buffer-Overflow. Das zweite Kommandozeilenargument (argv[2]) wird in einen Array mit einer begrenzten Größe geschrieben. Die Datei readFile ist auch ohne Stack Canaries und ohne das für ASLR notwendige PIE-flag kompiliert. Damit wäre ein Exploit für diesen Overflow vergleichsweise einfach.

Der Angreifer hat also zwei Möglichkeiten, mit den Rechten des Webserver-Users www-data Code auszuführen. Wir gehen davon aus, dass der Hacker die Script-Injection-Lücke genutzt hat, da sich kaum jemand die Mühe machen würde, in so einem Fall einen Buffer Overflow auszunutzen. Zu diesem Zeitpunkt kennt der Angreifer ja auch das Programm readFile nicht, besitzt somit für einen derartigen Angriff wenig Informationen. Dass die PHP-Script-Injection-Lücke blind ausgenutzt wird, erscheint plausibler.

Neben diesen Lücken finden wir noch ein Verzeichnis insurances, in dem sich ungeschützt zwei Kundendatensätze befinden. Sie sind übers Web abrufbar, allerdings gibt es kein Directory Listing. Ein Angreifer, der keine der Code-Execution-Lücken nutzt, müsste also die Dateinamen (0815, 0816) erraten.

 Forensik Challenge: Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!Remote-Shell in gelöschter Webserver-Logdatei 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Anzeige
Top-Angebote
  1. 55,11€ (Bestpreis!)
  2. (aktuell u. a. Seagate Expansion+ Desktop 4 TB für 88€, Seagate Backup Plus Hub 6 TB für...
  3. 17,49€
  4. 299€ + 4,99€ Versand oder Abholung im Markt

Loading... 05. Mai 2017

Mag ja solche Challenges und würde sie gerne, wie vorgesehen lösen, also nicht über den...

digidax 05. Apr 2017

In welcher Datei wurde der Logeintrag: 192.168.1.11 - - [23/Nov/2016:10:13:32 +0100...

N3X 04. Apr 2017

Hallo Golem Team, ihr schreibt, dass es für einen Angreifer nicht möglich sei zu...

N3X 03. Apr 2017

hat hiermit recht wenig zu tun. Schau dir mal die VM an, und wie die Auth. abläuft. Du...

ClausWARE 21. Mär 2017

Also das Fazit am ende ließt sich nicht gerade wie Wrbung für den BND.


Folgen Sie uns
       


Alstom E-Bus Prototyp in Berlin - Bericht

Der Alstom Aptis kann mit beiden Achsen lenken und ist deshalb besonders wendig. Wir sind in Berlin eine Runde mit dem Elektrobus gefahren.

Alstom E-Bus Prototyp in Berlin - Bericht Video aufrufen
Datenschutz: Der Nutzer ist willig, doch die AGB sind schwach
Datenschutz
Der Nutzer ist willig, doch die AGB sind schwach

Verbraucher verstehen die Texte oft nicht wirklich, in denen Unternehmen erklären, wie ihre Daten verarbeitet werden. Datenschutzexperten und -forscher suchen daher nach praktikablen Lösungen.
Ein Bericht von Christiane Schulzki-Haddouti

  1. Denial of Service Facebook löscht Cybercrime-Gruppen mit 300.000 Mitgliedern
  2. Vor Anhörungen Zuckerberg nimmt alle Schuld auf sich
  3. Facebook Verschärfte Regeln für Politwerbung und beliebte Seiten

HTC Vive Pro im Test: Das beste VR-Headset ist nicht der beste Kauf
HTC Vive Pro im Test
Das beste VR-Headset ist nicht der beste Kauf

Höhere Auflösung, integrierter Kopfhörer und ein sehr bequemer Kopfbügel: Das HTC Vive Pro macht alles besser und gilt für uns als das beste VR-Headset, das wir bisher ausprobiert haben. Allerdings ist der Preis dafür so hoch, dass kaufen meist keine clevere Entscheidung ist.
Ein Test von Oliver Nickel

  1. VR-Headset HTCs Vive Pro kostet 880 Euro
  2. HTC Vive Pro ausprobiert VR-Headset hat mehr Pixel und Komfort
  3. Vive Focus HTC stellt autarkes VR-Headset vor

Razer Nommo Chroma im Test: Blinkt viel, klingt weniger
Razer Nommo Chroma im Test
Blinkt viel, klingt weniger

Wenn die Razer Nommo Chroma eines sind, dann auffällig. Dafür sorgen die ungewöhnliche Form und die LED-Ringe, die sich beliebig konfigurieren lassen. Die Lautsprecher sind aber eher ein Hingucker als ein Hinhörer.
Ein Test von Oliver Nickel

  1. Razer Kiyo und Seiren X im Test Nicht professionell, aber schnell im Einsatz
  2. Stereolautsprecher Razer Nommo "Sind das Haartrockner?"
  3. Nextbit Cloud-Speicher für Robin-Smartphone wird abgeschaltet

    •  /