Dies ist möglich, wenn die Anwendung eine Sicherheitslücke enthält, die Sie zum Öffnen der JPG-Datei (oder einer anderen Datei) verwenden, es sei denn, es handelt sich um ein gefälschtes JPEG-Bild.
Es gibt also wenige Szenarien:
gefälschte JPEG-Dateien
Nicht-erfahrene Benutzer - Datei heruntergeladen und denkt, dass es das Bild ist (weil das Symbol wie ein Bild aussieht und OS nicht zeigen Sie Erweiterung), aber es könnte eine beliebige ausführbare Datei (sein
.exe
,.vbs
,.msi
,.cmd
,.bat
, etc.). Wenn Ihr Betriebssystem Sie beim Ausführen einer gefälschten Image-Datei nicht warnt, kann das Image mit installiertem Keylogger angezeigt werden. Überprüfen Sie daher immer Ihre Erweiterung, bevor Sie verdächtige Dateien öffnen.JPEG öffnen
Jede Mediendatei (und andere) kann eingespeisten Code enthalten, der für bestimmte Anwendungen entwickelt wurde. Sie könnten beim Analysieren einiger Daten (z. B. in EXIF) einige Fehler aufweisen. Wenn also die Anwendung fehlerhaft ist, könnten die injizierten Daten die Anwendung dazu verleiten, beliebigen Code auszuführen.
Zum Beispiel: Exploit: W32 / JPG-Sicherheitsanfälligkeit, Exploit: W32 / JPG-Sicherheitsanfälligkeit, MS04-028-Exploit
Laden von JPEG vom Server
Sie können Programmcode in das JPEG-Format einfügen. Sobald der Code von einer Webanwendung analysiert wird, kann er beliebigen Code in der angegebenen Sprache ausführen. Zum Beispiel kann JPEG - Datei enthält spezielle Tags (
<?php
,?>
) und wenn sie durch schlecht codierte Anwendung aus dem Web - Hosting - Unternehmen analysiert (file_get_contents()
,fopen()
,readfile()
), könnte es Ihr www - Konto zu löschen.Beispiel JPEG:
php-logo-virus.jpg
welche diesen Code in die Datei eingebettet hat:
ÿØÿàJFIF``ÿáfExifMM* éV@HQQQ<style>body h1</style><h1><?php echo "<hr />THIS IMAGE COULD ERASE YOUR WWW ACCOUNT, it shows you the PHP info instead...<hr />"; phpinfo(); __halt_compiler(); ?></h1>
Wenn Sie also das obige Bild öffnen, fügen Sie es
view-source:
vor der Adresse hinzu, damit Sie das eingefügte PHP-Skript sehen. Beachten Sie, dass das obige Bild nur ein Beispiel ist und nichts tut.Quelle: Code-Injection - ein einfacher PHP-Virus in einem JPEG-Bild
Laden einer JPEG-Datei, die keine JPEG-Datei ist
Wenn Sie den Link wie: sehen
http://www.example.com/foo.jpeg
, denken Sie, dass es ein Bild ist, aber es muss nicht. Es hängt alles von seinem MIME-Typ ab. Wenn Sie ihn laden, können Sie das Skript tatsächlich laden (z. B. Javascript), und bei einem anfälligen / alten Browser kann ein Keylogger installiert werden. Ihr Browser muss jedoch nicht alt sein, um dies zu erreichen.Beispielsweise besuchen Sie die Seite, die eine gefälschte Bank-Website ist, oder kann eine echte Bank sein (in einem Forum, in dem jemand gefälschte JPEG- Dateien über XSS hochgeladen hat ). Um XSS Keylogger zu implementieren, benötigen Sie lediglich
document.onkeypress
+ AJAX-Aufrufe. Siehe: XSS-KeyloggerÜberprüfen Sie auch: XSS Filter Evasion Cheat Sheet
Laden von JPEG, das ist SVG
Wenn Sie eine Mediendatei und einen Webbrowser laden, wird das Bild manchmal als anderes Bild erkannt, und es wird auf das erkannte Format zurückgegriffen. Und was Sie in SVG-Dateien tun können, können Sie HTML und JavaScript hinzufügen (sofern Ihr Webbrowser dies zulässt ). Weitere Informationen finden Sie unter Erstellen einer Tabelle in SVG (und einer anderen ).