Einzelnen Beitrag anzeigen
Ungelesen 13.06.11, 04:32   #3
MaSydJun
Anfänger
 
Registriert seit: Jun 2011
Beiträge: 13
Bedankt: 0
MaSydJun ist noch neu hier! | 0 Respekt Punkte
Standard

Vielen Dank für die Antwort!
Das macht Sinn.

Ich lese zu Zeit das Buch "Hacking - Die Kunst des Exploits" (Ja, die deutsche Übersetzung )
In dem ist auch eben dieses Beispiel angegeben, in dem mit einem Bufferoverflow ein flag gesetzt wird und man damit quasi eine "Passwortabfrage" umgeht.
Und laut Buch sollte das so funktionieren…

Hier ist der im Buch beschriebene Code, falls es jemanden interessiert:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int check_authentication(char *password) {
	int auth_flag = 0;
	char password_buffer[16];

	strcpy(password_buffer, password);
	
	if(strcmp(password_buffer, "brillig") == 0)
		auth_flag = 1;
	if(strcmp(password_buffer, "outgrabe") == 0)
		auth_flag = 1;

	return auth_flag;
}

int main(int argc, char *argv[]) {
	if(argc < 2) {
		printf("Usage: %s <password>\n", argv[0]);
		exit(0);
	}
	if(check_authentication(argv[1])) {
		printf("\n-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
		printf("      Access Granted.\n");
		printf("-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
	} else {
		printf("\nAccess Denied.\n");
   }
}

mfg MaSydJun
MaSydJun ist offline   Mit Zitat antworten