This repository has been archived on 2024-10-30. You can view files and clone it, but cannot push or open issues or pull requests.
swb6-it-sec/Lab02/documentation/format-string/format-string.tex

32 lines
1.3 KiB
TeX
Raw Normal View History

2022-05-02 11:37:21 +02:00
\section{Part 3: Format String Exploitation}
\subsection{Exploit}
2022-05-02 11:32:46 +02:00
Der erste Versuch ist, viele Format-Strings als Vorname und Nachname einzugeben und das Ergebnis zu beobachten. Mit einem Debugger kann die Speicheraddresse der 3 Wichtigen Variablen ausgelesen werden.
\begin{figure}[H]
\begin{center}
\includegraphics[width=0.9\textwidth]{format-string/stack}
\caption{Vorname, Nachname und Key im Stack}
\label{fig:Vorname, Nachname und Key im Stack}
\end{center}
\end{figure}
Der Key ist im Speicher unter der Adresse 0xbffff2ec abgespeichert und kann mit dem Format String \verb|%19$i| erreicht und dezimal ausgegeben werden.
\begin{figure}[H]
\begin{center}
\includegraphics[width=0.8\textwidth]{format-string/done}
\caption{Zahl richtig geraten}
\label{fig:Zahl richtig geraten}
\end{center}
\end{figure}
\subsection{Warum so gefährlich \& was getan werden muss}
Durch einen Format String Exploit kann jede Stelle im Speicher ausgelesen werden. Damit ist die Vertraulichkeit, ein Teil der ``CIA'', gebrochen.
2022-05-12 12:16:24 +02:00
Gegenmaßnahmen:
2022-05-02 11:32:46 +02:00
Format Strings sollten immer als Teil des Programms angegeben werden, nicht als Teil der Eingabe. Außerdem könnten die Formatzeichenfolgen als konstanten deklariert werden.