![]() |
Exploiten von C Code?
Hi,
was muss man beachten um sicheren C-Code zu schreiben? Formatstring-attack über direkte ausgabe der benutzereingaben, bufferoverflow über benutzereingaben, die ungeprüft kommt, + strcpy .... was gibts denn noch? |
Die meisten Fehler kannst du durch aufmerksames programmieren vermeiden.
z.B. wenn du formatierte eingaben hast schon diese begrenzen. sscanf("%40s", buf); Immer die "n-Funktionen" benutzen z.B. strncpy statt strcpy, strncat statt strcat, usw. Die Referenzen checken was eine Funktion macht und was nicht. Im Gegensatz zu strcpy fügt z.B. strncpy keine binäre Null an. Beim arbeiten mit Pointern immer sicherstellen das diese auch auf einen gültigen Speicherbereich zeigen. Ich habe mir dazu einige Helper Funktionen gebastelt die z.B. einen pointer NULL setzen nach einem free() Aufruf und vor der Benutzung checken. Prüfe Rückgabewerte, wenn irgendwann doch mal was schief läuft zeigt dein Programm evtl. undefiniertes Verhalten. Achte auf Warnungen deines Compilers, der spuckt die nicht umsonst aus! Mehr fällt mir grade nicht ein. Hoffe aber das dir das ein bisschen hilft. |
Ja hilft ein wenig ;)
ich wusste das meiste leider schon^^ ich frage mich eher, wie man WELCHE lücken, WIE ausnutzen kann :) |
Zitat:
Durch Decomplier kann man auch ziemlich leicht Zeichenketten finden, die im Klartext abgespeichert wurden. |
Ich wollte darauf hinaus, was es noch außer Formatstring und bufferoverflow gibt.
das werte verändern und auslesen sind ja diese beiden arten :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.