Als «buffer-overflow» getaggte Fragen



5
Warum ist dieser Code anfällig für Pufferüberlaufangriffe?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Dieser Code ist anfällig für einen Pufferüberlaufangriff, und ich versuche herauszufinden, warum. Ich denke, es hat damit zu tun, lendass man als a shortstatt als deklariert wird int, …


10
Warum sollten Sie strncpy anstelle von strcpy verwenden?
Bearbeiten: Ich habe die Quelle für das Beispiel hinzugefügt. Ich bin auf dieses Beispiel gestoßen : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", …


6
So deaktivieren Sie die Optimierung des gcc-Compilers, um den Pufferüberlauf zu aktivieren
Ich arbeite an einem Hausaufgabenproblem , bei dem der Compiler-Optimierungsschutz deaktiviert werden muss, damit es funktioniert. Ich verwende gcc 4.4.1 unter Ubuntu Linux, kann aber nicht herausfinden, welche Flags die richtigen sind. Mir ist klar, dass es von der Architektur abhängt - auf meinem Computer läuft ein 32-Bit-Intel-Prozessor. Vielen Dank.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.