Buffer Overflow für login bei C-Programm

mtN

Neuling
Thread Starter
Mitglied seit
15.05.2012
Beiträge
59
Ort
Heidelberg
Guten Tag,
ich würde mich gerne bei folgendem Programm mit einem Buffer overflow einloggen können als Übung. Das password kenne ich dabei nicht. Nun habe ich bereits vieles versucht, beispielsweise username mit vielen Zeichen zu überladen, das userPassword zu überladen. Jedoch habe ich wahrscheinlich einen Denkfehler wie der Stack aufgebaut ist. Mir fehlt im Moment jeder Ansatz für die Lösung.

Code:
#include <stdio.h>
#include <stdlib.h>

int main() {
    int password = 12341234;
    char username[10];
    char userPassword[10];

    printf("Enter username:");
    gets(username);
    printf("Enter password:");
    gets(userPassword);

    int inputCode = atoi(userPassword);

    if (inputCode == password) {
        printf("Logged in.\n");
    } else {
        printf("Wrong passcode.\n");
    }
}

Unter Linux habe ich bereits mit gdb mir den Assembler Code angesehen, und ich vermute, dass ich irgendwie die Rücksprungadresse verändern muss oder so. Aber wie gesagt, mir fehlt selbst der Ansatz zu einer Lösung.
Kann mir da bitte jemand helfen?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh