O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

1918.6 PHP-Code in ein Bild einfügen
8.6 PHP-Code in ein Bild einfügen
Um PHP-Code in einem Bild zu verstecken, kann man sich das Format
eines GIF- oder JPEG-Bildes genauer anschauen.
Der Inhalt eines GIF-Bildes:
GIF89a^A^@^A^@~@^@^@^@^@^@^@^@^@!ù^D^A^@^@^@^@,^@^@^
@^@^A^@^A^@^@^B^BD^A^@;
Von getImageSize() wird nur der Header ausgelesen:
array(7) {
[0]=>
int(1)
[1]=>
int(1)
[2]=>
int(1)
[3]=>
string(20) "width="1" height="1""
["bits"]=>
int(1)
["channels"]=>
int(3)
["mime"]=>
string(9) "image/gif"
}
Ausgabe getImageSize()
Hier sehen Sie, dass es sich um ein richtiges Bild handelt, da dieses
Array korrekt gefüllt ist.
Schadhafter PHP-Code in
einem Bild versteckt
GIF89a^A^@^A^@~@^@^@^@^@^@^@^@^@!ù^D^A^@^@^@^@,^@^@^
@^@^A^@^A^@^@^B^BD^A^@;<?php echo "php sicherheit";?>
Auch hierbei handelt es sich um ein richtiges Bild, aber es enthält
Schadcode. Dieser wird beim Vorhandensein einer zweiten Schwach-
stelle, z.B. einem Include auf dieses Bild, ausgeführt.
<?php
include ($_GET['page']);
?>
Unsicherer PHP-Code
http://www.php-sicherheit.de/index.php?page=bild.gif
Aufruf über den Browser
GIF89a!ù,D;php-sicherheit
Die Ausgabe am
Bildschirm
Ein normaler Aufruf über die Adressleiste des Browsers funktioniert nicht.
http://www.php-sicherheit.de/uploads/bild.gif
Aufruf über den Browser
Bei diesem Aufruf wird kein PHP-Code interpretiert, sondern der
Webserver liefert lediglich das Bild aus. Bei einer Schwachstelle, die ein
Inkludieren einer beliebigen Datei erlaubt, wird der enthaltene PHP-

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required