Abo
  • Services:
Anzeige
Bezahlung nach TVöD Bund in der Entgeltgruppe 14 und eine tarifliche Sonderzulage von 400 Euro monatlich: Wie wär's mit einem Job beim BND?
Bezahlung nach TVöD Bund in der Entgeltgruppe 14 und eine tarifliche Sonderzulage von 400 Euro monatlich: Wie wär's mit einem Job beim BND? (Bild: BND/Screenshot: Golem.de)

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. }

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.

Anzeige

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 

eye home zur Startseite
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.



Anzeige

Stellenmarkt
  1. Ratbacher GmbH, Görlitz
  2. T-Systems International GmbH, Aachen
  3. SmartRay GmbH, Wolfratshausen
  4. AEbt Angewandte Eisenbahntechnik GmbH, Nürnberg


Anzeige
Top-Angebote
  1. 13,49€
  2. 8,49€

Folgen Sie uns
       


  1. Bildbearbeitung

    Google-Algorithmus entfernt Wasserzeichen auf Fotos

  2. Ladestationen

    Regierung lehnt Zwangsverkabelung von Tiefgaragen ab

  3. Raspberry Pi

    Raspbian auf Stretch upgedated

  4. Trotz Förderung

    Breitbandausbau kommt nur schleppend voran

  5. Nvidia

    Keine Volta-basierten Geforces in 2017

  6. Grafikkarte

    Sonnets eGFX Breakaway Box kostet 330 Euro

  7. E-Commerce

    Kartellamt will Online-Shops des Einzelhandels schützen

  8. id Software

    Quake Champions startet in den Early Access

  9. Betrug

    Verbraucherzentrale warnt vor gefälschten Youporn-Mahnungen

  10. Lenovo

    Smartphone- und Servergeschäft sorgen für Verlust



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Starcraft Remastered: "Mit den Protoss kann man seinen Gegner richtig nerven!"
Starcraft Remastered
"Mit den Protoss kann man seinen Gegner richtig nerven!"
  1. Blizzard Der Name Battle.net bleibt
  2. Blizzard Overwatch bekommt Deathmatches
  3. E-Sport Blizzard nutzt Gamescom für europäische WoW-Finalspiele

Game of Thrones: Die Kunst, Fiktion mit Wirklichkeit zu verschmelzen
Game of Thrones
Die Kunst, Fiktion mit Wirklichkeit zu verschmelzen
  1. HBO Nächste Episode von Game of Thrones geleakt
  2. Hack Game-of-Thrones-Skript von HBO geleakt
  3. Game of Thrones "Der Winter ist da und hat leider unsere Server eingefroren"

Radeon RX Vega 64 im Test: Schnell und durstig mit Potenzial
Radeon RX Vega 64 im Test
Schnell und durstig mit Potenzial
  1. Radeon RX Vega Mining-Treiber steigert MH/s deutlich
  2. Radeon RX Vega 56 im Test AMD positioniert sich in der Mitte
  3. Workstation AMD bringt Radeon Pro WX 9100

  1. Was für ein Schwachsinn

    derdiedas | 18:27

  2. Re: Dabei reichten Störungen von einem halben...

    Dummer Mensch | 18:14

  3. Sebst ...

    cpt.dirk | 18:14

  4. Preisvergleich

    tobi3011 | 18:14

  5. Hash des Bildes Schriftart auswählen

    Theoretiker | 18:13


  1. 14:38

  2. 12:42

  3. 11:59

  4. 11:21

  5. 17:56

  6. 16:20

  7. 15:30

  8. 15:07


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel