Denise: Buffer Overflow Beispiel

Hi,

ich berufe mich auf diese Meldung:

http://www.golem.de/0704/51924.html

Dort ist ein Beispielcode zu finden:

http://milw0rm.com/exploits/3793

Ich verstehe allerdings nicht wie damit umzugehen ist.
Soll ich diesen Code als .bmp abspeichern oder wie ist das
gemeint?

vg.
Denise

  1. Hi!

    Ich verstehe allerdings nicht wie damit umzugehen ist.

    Dabei handelt es sich um Sourcecode. Die Programmiersprache ist C.

    Soll ich diesen Code als .bmp abspeichern oder wie ist das
    gemeint?

    Nein. Der Code muß mit Hilfe eines C-Compilers in eine ausführbare Datei übersetzt werden.

    Schöner Gruß,
    rob

    1. Hi Rob,

      Nein. Der Code muß mit Hilfe eines C-Compilers in eine ausführbare Datei übersetzt werden.

      Aha, und das soll dann ein Beispiel sein, wie gefährlich
      Bitmaps sein könnten?

      Also dass eine .exe sowas könnte ist mir schon klar,
      aber der Breicht bezog sich doch auf .bmp

      Wo ist denn jetzt das wirklich die Gefahr?

      Gruss & Dank
      Denise

      1. Hallo Denise.

        Nein. Der Code muß mit Hilfe eines C-Compilers in eine ausführbare Datei übersetzt werden.

        Aha, und das soll dann ein Beispiel sein, wie gefährlich
        Bitmaps sein könnten?

        Also dass eine .exe sowas könnte ist mir schon klar,
        aber der Breicht bezog sich doch auf .bmp

        Theoretisch musst du die kompilierte *.exe dann nur in *.bmp umbenennen und sie mit Photoshop öffnen.

        Einen schönen Donnerstag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
      2. Hallo Denise,

        Aha, und das soll dann ein Beispiel sein, wie gefährlich
        Bitmaps sein könnten?

        der Code erzeugt erst mal eine ausführbare Datei. Mittels dieser Datei kannst du nun ein beliebiges Bitmap laden und so manipulieren, dass beim ansehen desselben mit Adobe Photoshop der Windows Taschenrechner gestartet wird. Bösartigere Bitmaps installieren stattdessen einen Virus.

        Frage beantwortet?

        Grüße,

        Jochen

        --
        Kritzeln statt texten:
        Scribbleboard
        1. Hallo Denise,

          Aha, und das soll dann ein Beispiel sein, wie gefährlich
          Bitmaps sein könnten?

          virus.bmp

          ich die erzeugte Bitmap hochgeladen. Da ich leider kein Photoshop habe kann ich es auch nicht ausprobieren. Mein Paintshop meldet nur "Beim laden der Datei ist ein Fehler aufgetreten" Gimp streikt ebenfalls.

          Grüße,

          Jochen

          --
          Kritzeln statt texten:
          Scribbleboard
          1. Hello,

            virus.bmp

            ich die erzeugte Bitmap hochgeladen. Da ich leider kein Photoshop habe kann ich es auch nicht ausprobieren. Mein Paintshop meldet nur "Beim laden der Datei ist ein Fehler aufgetreten" Gimp streikt ebenfalls.

            PHOTOSHP verursachte einen Fehler durch eine ungültige Seite
            in Modul KERNEL32.DLL bei 0167:bff87ede.
            Register:
            EAX=c00309c4 CS=0167 EIP=bff87ede EFLGS=00010202
            EBX=009dfe28 SS=016f ESP=008dffb0 EBP=008e001c
            ECX=008e01d0 DS=016f ESI=81da2cfc FS=4117
            EDX=bff76855 ES=016f EDI=008e01f8 GS=0000
            Bytes bei CS:EIP:
            53 56 57 8b 30 83 7d 10 01 8b 4e 38 89 4d f8 75
            Stapelwerte:

            Ich habe nur Photoshop 4.0 auf einem Win98SE-Rechner zur Verfügung
            Der macht aber auch einen Fehler.

            Wie bekomme ich die Bytes bei CS:EIP denn disassembliert?
            Hab ich doch glatt vergessen, wie man das "mal eben schnell" mittels debug machen kann.

            Harzliche Grüße vom Berg
            http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau

            1. Tach.

              PHOTOSHP verursachte einen Fehler durch eine ungültige Seite
              in Modul KERNEL32.DLL bei 0167:bff87ede.
              Register:
              EAX=c00309c4 CS=0167 EIP=bff87ede EFLGS=00010202
              EBX=009dfe28 SS=016f ESP=008dffb0 EBP=008e001c
              ECX=008e01d0 DS=016f ESI=81da2cfc FS=4117
              EDX=bff76855 ES=016f EDI=008e01f8 GS=0000
              Bytes bei CS:EIP:
              53 56 57 8b 30 83 7d 10 01 8b 4e 38 89 4d f8 75
              Stapelwerte:

              Wie bekomme ich die Bytes bei CS:EIP denn disassembliert?
              Hab ich doch glatt vergessen, wie man das "mal eben schnell" mittels debug machen kann.

              C:> debug
              -e 100 53 56 57 8b 30 ... # enter (ab CS:0100 in den Speicher)
              -u 100                    # disassemble

              Und nächstes Mal ein -? für die eingebauten Optionsübersicht. ;)

              Na mal sehen, ob du mit dem unterstützten 8086-Befehlssatz auskommst ...

              --
              Once is a mistake, twice is jazz.
          2. Hi Maxx!

            ich die erzeugte Bitmap hochgeladen. Da ich leider kein Photoshop habe kann ich es auch nicht ausprobieren.

            Es klappt. Ich bin erschüttert.

            MfG H☼psel

            --
            "It's amazing I won. I was running against peace, prosperity, and incumbency."
            George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
            Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hi Denise!

    Ich verstehe allerdings nicht wie damit umzugehen ist.
    Soll ich diesen Code als .bmp abspeichern oder wie ist das
    gemeint?

    Nach kurzem Überfliegen des Codes meine ich, dass die kompilierte Exe-Datei die bmp-Datei erzeugt.
    Getestet habe ich den Code nicht.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. Hallo, dank an alle.

    Die Antworten waren klar verständlich und dann
    als Bonus noch ein Beispiel ;-)

    Viele Grüsse
    Denise