This repository has been archived on 2024-10-30. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
swb6-it-sec/Lab02/documentation/bufferOverflow/bufferOverflow.tex
2022-04-25 09:21:13 +02:00

17 lines
886 B
TeX

\section{Part 1: Buffer Overflow}
\subsection{Kompilieren}
Zum kompilieren des C-Programmes wird GCC verwendet. Folgender Befehl wird ausgeführt:
\begin{lstlisting}[breaklines]
gcc -g --no-pie -z execstack -fno-stack-protector -D_FORTIFY_SOURCE=0 bufferOverflow.c -o bufferOverflow
\end{lstlisting}
Danach kann das Programm mit \verb|.\bufferOverlow| gestartet werden.
\subsection{Analyse}
Das Programm ``bufferOverflow.c'' beginnt mit der Eingabe des Namens mit Hilfe der Funktion ``fgets''\footnote{\href{https://www.tutorialspoint.com/c_standard_library/c_function_fgets.htm}{tutorialspoint - fgets}}. Dabei wird die Länge des eingegebenen Benutzernamens in einem char Array der Länge 16 gespeichert.
Hier wird es schon zum ersten overflow kommen. Wenn ein Nutzer einen Benutzernamen größer als 15 Charakter eingibt, wird in einen nicht reservierten Bereich geschrieben.