fallinger: Buffer Overflows mit Perl möglich?

Hi,

ist es möglich mit Perl BufferOverflows zu erzeugen? Ich denke da gibts Schwierigkeiten mit der Einbindung von ASM Code, oder? Wenn jemand einen BO in Perl (oder auch Infodocs) kennen sollte bzw. mich aufklären kann... wäre nett :)

mfg
fallinger

  1. Hi,

    ist es möglich mit Perl BufferOverflows zu erzeugen? Ich denke da
    gibts Schwierigkeiten mit der Einbindung von ASM Code, oder? Wenn
    jemand einen BO in Perl (oder auch Infodocs) kennen sollte bzw.
    mich aufklären kann... wäre nett :)

    sub blabla($)
    {
    my $bo = shift;
    $bo .= "buffer overflow? ";

    &blabla($bo);

    print "$bo\n";
    }

    &blabla("buffer overflow? ");

    Versuchs mal so ,) nach 2 Min ist mein Rechner total abgestuerzt *g*
    Ich LIEBE Rekursion... Allerdings hat der Compiler nicht
    abgebrochen, falls du sowas meintest.

    Aber mal was anderes: wofuer brauchst du sowas?

    mfg
    CK1

    1. Hi,

      merci, werde da gleich mal was mit rumspielen ;)

      Aber mal was anderes: wofuer brauchst du sowas?

      Ähm *räusper* nuja ich kann kein C++/ASM und die meisten BufferOverflow Exploits sind eben in C++/ASM. Also, da ich nur Perl kann muß ich mir wohl selber welche coden bzw. vorhandene importieren.

      danke nochmal,
      fallinger

      1. Auch Hi!

        Ähm *räusper* nuja ich kann kein C++/ASM und die meisten BufferOverflow Exploits sind eben in C++/ASM. Also, da ich nur Perl kann muß ich mir wohl selber welche coden bzw. vorhandene importieren.

        Nun ja, was Christian geschrieben hat, war keine Buffer overflow vulnerability, sondern eher eine DoS-Attacke auf den eigenen Rechner (saemtlichen Speicher aufsaugen). Ein BO ist meist ein Programmierfehler, wobei ein Speicherbereich bestimmter Groesse (Buffer) reserviert wird, um dahin irgendwelche Daten aus irgendeiner Quelle (z.B. CGI-Parameter) einzulesen, dann jedoch nicht geprueft wird, ob dieser Input nicht vielleicht doch groesser als dieser Buffer ist. Dann kann es passieren, dass die Inputdaten ueber das Ende dieses Puffers hinaus in den Hauptspeicher geschrieben werden, und damit andere Daten, die dort liegen, ueberschrieben werden.

        In Perl und anderen Scriptsprachen gibt es sowas wie Speicher reservieren aber gar nicht. Dort wird ein Skalar automatisch groesser, wenn mehr reingeschrieben wird, und daher duerfte es ziemlich schwierig, wenn ueberhaupt moeglich sein, eine BOV einzubauen. Gerade weil man sich in diesen Sprachen um solche Sachen keine Gedanken machen muss, sind sie wohl auch so beliebt. Real programmers haben sowas natuerlich nicht noetig. ;-)

        So long