HTML/JS Injection to .BMP Color Table

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von Smokers, 20. Juli 2010 .

  1. 20. Juli 2010
    Hallöchen,...

    also ich möchte ein von mir betriebenes Board absichern und suche daher Realbeispiele oder Erklärungen wie man in .BMP Dateien HTML/JS Code injizieren kann.

    Es soll halt möglich sein im Burning Board eine BMP hochzuladen, bei welcher in der "Color Table" "ofuscated" JavaScript Code injiziert werden kann, der dann nach Upload ausgeführt wird.

    Für Informationen bin ich danbar =)
     
  2. 3. August 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: HTML/JS Injection to .BMP Color Table

    lesen, es handelt sich um eine alte version...

    -------------------------------------------

    also ich hab mich ein wenig schlau gemacht. das ganze funktioniert in etwa so:

    leg unter windows eine .bmp datei an (paint, leeres bild -> speichern als BMP)
    entpack das bild dann (mit php unpack("H*")) und schreib dir die header raus.

    danach erstellst du eine ganz normale html-page mit js-code usw...

    jetzt erstellst du eine neue, leere datei und schreibst zuerst die header rein (mit php pack("H*")) und anschließend den html/js code.

    hier ein test bild:
    No File | www.xup.in (kannst ja mal in notepad öffnen ^^)

    dieses "bild" übersteht den upload-prozess (getImageSize ermittelt eine bmp-grafik!) im betroffenen wbb und wird fälschlicherweise als "image/bmp" gespeichert.

    im folgenden archiv hab ich ein kleines script erstellt mit dem du solche bmp's bauen kannst
    No File | www.xup.in

    einfach im ordner /build die datei code.html nach belieben anpassen und anschließend die datei build.php ausführen. wenn das script fertig ist bekommst du eine datei im selben ordner namens exploit.bmp

    falls du eine bestimmte bildgröße brauchst, kannst du die datei template.bmp ebenfalls anpassen.

    ruft man diese bmp dann in nem alten internet-explorer auf bekommt man so was zu sehen:
    Bild

    ----------------------------------

    warum geht das?

    ganz einfach: im betroffenen wbb werden bmp-files als "image/bmp" ausgeliefert. diesen header gibt es aber nicht und die alten ie's versuchen dann eigenständig einen "besseren" content-type zu finden und lesen den quelltext. wenn sich nun html-code in der datei befindet, stoßen die ie's auf <!DOCTYPE html> und behandeln die datei als html-code, welcher dann ganz normal im browser angezeigt wird.

    wie umgeht man dieses "feature"?

    genauso einfach: "image/bmp" ist falsch. speichert man die bilder als "image/x-ms-bmp" ab (der eigl. richtige content-type) wird der ie dir das bild als download anbieten, weil er mit dem html-code nix anfangen kann.
     
  3. 10. August 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: HTML/JS Injection to .BMP Color Table

    Hast du das Ding mal getestet?!
    Also eine angeblich betroffene Version vom WBB (2.0.1) erkennt das Bild als "beschädigt" an.
    Obwohl ich keinerlei Schutz oder Veränderung am Code getätigt habe ,..

    Wie gesagt so wie ich das Exploit gelesen habe, scheint es in anderen Foren relativ einfach zu gehen mit dem JS Code im Bild, jedoch beim WBB musste man es wohl in die "ColorTable" schreiben,.. ka



    Genauer :

    Code:
    We tested for content type sniffing vulnerabilities with six different files:
    -A valid BMP with html/javascript in the palette (1)
    -A valid BMP with obfuscated html/javascript in the palette (2)
    -A valid PNG with html/javascript in a comment
    -- with an extension ".jpg". (3)
    -- with an extension ".gif". (4)
    -A valid png with obfuscated html/javascript in a comment and a .gif
    extension (5)
    -An invalid gif with javascript and a .gif extension (6)
    und

    Code:
    Script Defense Working Exploits Notes
    
    MyBB Validation 1,2 Only
    vulnerable with IE6 and only under obscure circumstances
    FluxBB None 3
    Phorum None 1,2,3,4,5,6
    SMF 1.1.18 Validation 1,2
    SMF 2.0RC1 Validation 1,2
    WBB lite Blacklist 2
    WBB 3.0.8 Blacklist 2
    vBulletin Blacklist -
    phpBB2 Validation -
    phpBB3 Validation + Blacklist -
    Oder liegt es lediglich am nicht "abfuscaded" JS?!

    (No File | www.xup.in damit gehts nicht)
     
  4. 10. August 2010
    AW: HTML/JS Injection to .BMP Color Table

    Free Javascript Obfuscator sufu etc? ^^

    schau doch mal im wbb was da für eine blacklist verwendet wird.
     
  5. 12. August 2010
    AW: HTML/JS Injection to .BMP Color Table

    Du Heini ;P

    Obfuscated hab ich den schon, siehe Anhang xD
    Geht jedoch dennoch nich ^^

    Ich kann ja sonst mal versuchen die Code-Stelle zu finden, ansonsten steht bei mir in den Einstellungen nichts in der Blacklist.

    Wie gesagt die MEldung ist auch das das Bild beschädigt ist, nicht das es nicht aktzeptiert wird oder verboten ist.


    ... tss denkt der ich bekomms nichtmal obfuscated,... ich weiß ich stell mich nich sonderlich gut an, aber sowas bekomm ich dann auch noch hin ;P

    schau dir das bild im anhang mal an ;-)
     
  6. 13. August 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: HTML/JS Injection to .BMP Color Table

    schau mal folgende datei an: wcf/lib/util/ImageUtil.class.php

    folgende datei sollte funktionieren
    No File | www.xup.in
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.