Fix ToC layout

This commit is contained in:
Valentin Brandl 2022-10-21 16:50:48 +02:00
parent 4039548472
commit 03c7eb3866
4 changed files with 44 additions and 82 deletions

BIN
bof.pdf

Binary file not shown.

39
bof.tex
View File

@ -43,12 +43,11 @@
\AtBeginSection[] \AtBeginSection[]
{% {%
\begin{frame} \begin{frame}[shrink]{Inhalt}
\frametitle{Inhalt}
\tableofcontents[ \tableofcontents[
currentsection, currentsection,
hideothersubsections, hideothersubsections,
sectionstyle=show/hide, sectionstyle=show/shaded,
subsectionstyle=show/shaded/hide, subsectionstyle=show/shaded/hide,
] ]
\end{frame} \end{frame}
@ -89,17 +88,15 @@
\maketitle \maketitle
\frame{% \begin{frame}[shrink]{Inhalt}
\frametitle{Inhalt}
\tableofcontents[ \tableofcontents[
sectionstyle=show/show, sectionstyle=show/show,
subsectionstyle=hide/hide, subsectionstyle=hide/hide,
] ]
} \end{frame}
\section{Problem} \section{Problem}
\begin{frame} \begin{frame}{Problem}
\frametitle{Problem}
\begin{itemize} \begin{itemize}
\item Maschinennahe Programmiersprachen ohne Memorysafety (z.B. C, C++, Assembly, FORTRAN) erlauben es, Speicher beliebig zu beschreiben (\mintinline{c}{arr[i] == arr + sizeof(int) * i}) \item Maschinennahe Programmiersprachen ohne Memorysafety (z.B. C, C++, Assembly, FORTRAN) erlauben es, Speicher beliebig zu beschreiben (\mintinline{c}{arr[i] == arr + sizeof(int) * i})
@ -114,13 +111,8 @@
\inputminted[firstline=4,lastline=13]{c}{assets/bof/logic/logic.c} \inputminted[firstline=4,lastline=13]{c}{assets/bof/logic/logic.c}
\end{frame} \end{frame}
% \begin{frame}
% \inputminted[firstline=3,lastline=7]{c}{assets/bof/vuln.c}
% \end{frame}
\section{Stack Layout, Execution Flow} \section{Stack Layout, Execution Flow}
\begin{frame} \begin{frame}{Stack Layout}
\frametitle{Stack Layout}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=.25\textwidth]{stack.png} \includegraphics[width=.25\textwidth]{stack.png}
@ -128,8 +120,7 @@
\end{figure} \end{figure}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Stack Layout}
\frametitle{Stack Layout}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=.60\textwidth]{stack_overflow.png} \includegraphics[width=.60\textwidth]{stack_overflow.png}
@ -137,8 +128,7 @@
\end{figure} \end{figure}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Execution Flow}
\frametitle{Execution Flow}
\begin{itemize} \begin{itemize}
\item Beim Aufruf einer Funktion, aktuelle Adresse auf Stack \item Beim Aufruf einer Funktion, aktuelle Adresse auf Stack
\item \emph{\Ac{ip}} auf Adresse der aufgerufenen Funktion \item \emph{\Ac{ip}} auf Adresse der aufgerufenen Funktion
@ -164,8 +154,7 @@
\end{frame} \end{frame}
\section{Exploitation} \section{Exploitation}
\begin{frame} \begin{frame}{Code Execution}
\frametitle{Code Execution}
\begin{itemize} \begin{itemize}
\item Shellcode im Speicher plazieren \item Shellcode im Speicher plazieren
\item Buffer überschreiben \item Buffer überschreiben
@ -175,8 +164,7 @@
\end{frame} \end{frame}
\section{Aktuelles Beispiel} \section{Aktuelles Beispiel}
\begin{frame} \begin{frame}{Beispiel in freier Wildbahn}
\frametitle{Beispiel in freier Wildbahn}
\begin{description} \begin{description}
\item[\emph{Chromium}] Heap Buffer Overflown WebGPU: \emph{CVE-2022-1483}~\cite{CVE-2022-1483} \item[\emph{Chromium}] Heap Buffer Overflown WebGPU: \emph{CVE-2022-1483}~\cite{CVE-2022-1483}
\item[\emph{Linux Kernel}] Heap Buffer Overflow durch Integer Overflow: \emph{CVE-2022-39842}~\cite{CVE-2022-39842} \item[\emph{Linux Kernel}] Heap Buffer Overflow durch Integer Overflow: \emph{CVE-2022-39842}~\cite{CVE-2022-39842}
@ -186,8 +174,7 @@
\end{frame} \end{frame}
\section{Aktuelle Situation} \section{Aktuelle Situation}
\begin{frame} \begin{frame}{Migrationen}
\frametitle{Migrationen}
\begin{itemize} \begin{itemize}
\item \Ac{aslr} \item \Ac{aslr}
\item \emph{w\^{}x} Memory \item \emph{w\^{}x} Memory
@ -200,9 +187,7 @@
\appendix \appendix
% \nocite{*} % \nocite{*}
\section*{Quellen} \section*{Quellen}
\begin{frame}[allowframebreaks] \begin{frame}[allowframebreaks]{Quellen}
\frametitle{Quellen}
\printbibliography[heading=none]{} \printbibliography[heading=none]{}
\end{frame} \end{frame}

Binary file not shown.

View File

@ -43,21 +43,21 @@
\AtBeginSection[] \AtBeginSection[]
{% {%
\begin{frame} \begin{frame}[shrink]{Inhalt}
\frametitle{Inhalt}
\tableofcontents[ \tableofcontents[
currentsection, currentsection,
hideothersubsections, hideothersubsections,
sectionstyle=show/hide, sectionstyle=show/shaded,
subsectionstyle=show/hide/hide, subsectionstyle=show/hide/hide,
] ]
\end{frame} \end{frame}
\addtocounter{framenumber}{-1}% If you don't want them to affect the slide number \addtocounter{framenumber}{-1}% If you don't want them to affect the slide number
} }
\begin{document}
\newcommand{\genemail}[1]{\href{mailto:#1}{\textless\nolinkurl{#1}\textgreater}}% \newcommand{\genemail}[1]{\href{mailto:#1}{\textless\nolinkurl{#1}\textgreater}}%
\begin{document}
\title{Linux Einführung} \title{Linux Einführung}
\author{Magdalena Reif \inst{1} \and Valentin Brandl \inst{2}} \author{Magdalena Reif \inst{1} \and Valentin Brandl \inst{2}}
@ -68,17 +68,15 @@
\maketitle \maketitle
\frame{% \begin{frame}[shrink]{Inhalt}
\frametitle{Inhalt}
\tableofcontents[ \tableofcontents[
sectionstyle=show/show, sectionstyle=show/show,
subsectionstyle=hide/hide, subsectionstyle=hide/hide,
] ]
} \end{frame}
\section{Linux} \section{Linux}
\begin{frame} \begin{frame}{Ganz kurze Geschichte}
\frametitle{Ganz kurze Geschichte}
\begin{itemize} \begin{itemize}
\item ab 1991 von dem Finnen Linux Torvalds entwickelt \item ab 1991 von dem Finnen Linux Torvalds entwickelt
\item organisiert Kernelentwicklung bis heute \item organisiert Kernelentwicklung bis heute
@ -96,8 +94,7 @@
\end{frame} \end{frame}
\section{Navigation im Terminal} \section{Navigation im Terminal}
\begin{frame} \begin{frame}{whoami? whereami? whenami?}
\frametitle{whoami? whereami? whenami?}
\begin{itemize} \begin{itemize}
\item \mintinline{bash}{whoami} \item \mintinline{bash}{whoami}
\item \mintinline{bash}{pwd} (print working directory) \item \mintinline{bash}{pwd} (print working directory)
@ -106,8 +103,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{looking around}
\frametitle{looking around}
\begin{itemize} \begin{itemize}
\item \mintinline{bash}{tree} \item \mintinline{bash}{tree}
\item \mintinline{bash}{ls} (list) \item \mintinline{bash}{ls} (list)
@ -115,8 +111,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Change directories}
\frametitle{Change directories}
\begin{itemize} \begin{itemize}
\item \mintinline{bash}{cd} \mintinline{bash}{cd ..} \mintinline{bash}{cd ../../..} \item \mintinline{bash}{cd} \mintinline{bash}{cd ..} \mintinline{bash}{cd ../../..}
\item absolute path \item absolute path
@ -138,43 +133,36 @@
\section{Unix Stuff} \section{Unix Stuff}
\begin{frame} \begin{frame}{Aktueller Benutzer --- \emph{id}}
\frametitle{Aktueller Benutzer --- \emph{id}}
\includegraphics[width=\textwidth]{id.png} \includegraphics[width=\textwidth]{id.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Aktuell aktive Benutzer --- \emph{w}}
\frametitle{Aktuell aktive Benutzer --- \emph{w}}
\includegraphics[width=\textwidth]{w.png} \includegraphics[width=\textwidth]{w.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{\emph{man}, where is my car}
\frametitle{\emph{man}, where is my car}
\includegraphics[width=\textwidth]{man.png} \includegraphics[width=\textwidth]{man.png}
\end{frame} \end{frame}
\section{Dateien Analysieren} \section{Dateien Analysieren}
\begin{frame} \begin{frame}{Dateiinhalt einsehen}
\frametitle{Dateiinhalt einsehen}
\begin{description} \begin{description}
\item[\emph{cat}] Für Textdateien \item[\emph{cat}] Für Textdateien
\item[\emph{xxd}] Für Binärdateien \item[\emph{xxd}] Für Binärdateien
\end{description} \end{description}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Dateiinhalt einsehen --- \emph{cat}}
\frametitle{Dateiinhalt einsehen --- \emph{cat}}
\includegraphics[width=.7\textwidth]{cat.png} \includegraphics[width=.7\textwidth]{cat.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Dateiinhalt einsehen --- \emph{xxd}}
\frametitle{Dateiinhalt einsehen --- \emph{xxd}}
\includegraphics[width=\textwidth]{xxd.png} \includegraphics[width=\textwidth]{xxd.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{In Dateien Suchen --- \emph{grep}}
\frametitle{In Dateien Suchen --- \emph{grep}}
\begin{itemize} \begin{itemize}
\item \mintinline{bash}{grep regex datainame} \item \mintinline{bash}{grep regex datainame}
\item \mintinline{bash}{grep --ignore-case regex datainame} \item \mintinline{bash}{grep --ignore-case regex datainame}
@ -182,8 +170,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{In Dateien Suchen --- \emph{grep}}
\frametitle{In Dateien Suchen --- \emph{grep}}
\centering \centering
\begin{tabular}{@{}c@{}} \begin{tabular}{@{}c@{}}
\begin{tabular}{c} \begin{tabular}{c}
@ -195,8 +182,7 @@
\end{tabular} \end{tabular}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Ausgaben Umleiten und Wiederverwenden}
\frametitle{Ausgaben Umleiten und Wiederverwenden}
\begin{itemize} \begin{itemize}
\item Ausgabe in Datei umleiten: \mintinline{bash}{>} \item Ausgabe in Datei umleiten: \mintinline{bash}{>}
\item Verketten durch pipes: \mintinline{bash}{|} \item Verketten durch pipes: \mintinline{bash}{|}
@ -204,19 +190,16 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Ausgaben Umleiten und Wiederverwenden}
\frametitle{Ausgaben Umleiten und Wiederverwenden}
\includegraphics[width=\linewidth]{redirect_pipe.png} \includegraphics[width=\linewidth]{redirect_pipe.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Ausgabe als temporäre Datei}
\frametitle{Ausgabe als temporäre Datei}
\includegraphics[width=\textwidth]{temp_file.png} \includegraphics[width=\textwidth]{temp_file.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Strings in Binärdateien finden --- \emph{strings}}
\frametitle{Strings in Binärdateien finden --- \emph{strings}}
\includegraphics[width=\textwidth]{strings.png} \includegraphics[width=\textwidth]{strings.png}
\end{frame} \end{frame}
@ -224,32 +207,26 @@
\section{Networking} \section{Networking}
\begin{frame} \begin{frame}{Dateien Herunterladen --- \emph{wget}}
\frametitle{Dateien Herunterladen --- \emph{wget}}
\includegraphics[width=\textwidth]{wget.png} \includegraphics[width=\textwidth]{wget.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Dateien Herunterladen --- \emph{curl}}
\frametitle{Dateien Herunterladen --- \emph{curl}}
\includegraphics[width=\textwidth]{curl.png} \includegraphics[width=\textwidth]{curl.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{Portscan --- \emph{nmap}}
\frametitle{Portscan --- \emph{nmap}}
\includegraphics[width=\textwidth]{nmap.png} \includegraphics[width=\textwidth]{nmap.png}
\end{frame} \end{frame}
\begin{frame} \begin{frame}{DNS Lookups --- \emph{dig}}
\frametitle{DNS Lookups --- \emph{dig}}
\includegraphics[width=.9\textwidth]{dig.png} \includegraphics[width=.9\textwidth]{dig.png}
\end{frame} \end{frame}
\appendix \appendix
% \nocite{*} % \nocite{*}
\section*{Quellen} \section*{Quellen}
\begin{frame}[allowframebreaks] \begin{frame}[allowframebreaks]{Quellen}
\frametitle{Quellen}
\printbibliography[heading=none]{} \printbibliography[heading=none]{}
\end{frame} \end{frame}