diff --git a/Lab01/documentation/app/app.tex b/Lab01/documentation/app/app.tex index ac5687b..9294808 100644 --- a/Lab01/documentation/app/app.tex +++ b/Lab01/documentation/app/app.tex @@ -103,7 +103,7 @@ CVSS Score (Abschnitt \ref{cvss-score}) : \textbf{6.5} \subsubsection{Beschreibung der Schwachstellen} -Es kann in der App nach Aufgaben gesucht werden (Abbildung \ref{fig:Suchen im Frontend}). Der eingegebene Filter wird dazu an das Backend geschickt und als Antwort kommt eine liste an Aufgaben zurück (Abbildung \ref{fig:Suchen im Backend}). Die eigentliche Suchfunktion wird hierbei von Backend übernommen. +Es kann in der App nach Aufgaben gesucht werden (Abbildung \ref{fig:Suchen im Frontend}). Der eingegebene Filter wird dazu an das Backend geschickt und als Antwort kommt eine Liste an Aufgaben zurück (Abbildung \ref{fig:Suchen im Backend}). Die eigentliche Suchfunktion wird hierbei vom Backend übernommen. \begin{figure}[H] \begin{center} @@ -174,6 +174,8 @@ Es gibt einen API Endpunkt in dem das Benutzerpassword ohne Authentifizierung ge Das Password wird außerdem im Plaintext in der Datenbank gespeichert und kann von jedem mit Datenbank-Zugriff ausgelesen werden. +Außerdem kann über den DELETE Endpunkt von jedem Benutzer jegliche Aufgabe über die eingabe der ID gelöscht werden (Abblidung). Darunter zählen auch Aufgaben, die nicht selber erstellt wurden. + \begin{figure}[H] \begin{center} \includegraphics[width=0.8\textwidth]{app/app-12} @@ -188,6 +190,13 @@ Das Password wird außerdem im Plaintext in der Datenbank gespeichert und kann v \label{fig:Datenbank} \end{center} \end{figure} +\begin{figure}[H] + \begin{center} + \includegraphics[width=0.5\textwidth]{app/app-15} + \caption{DELETE} + \label{fig:DELETE} + \end{center} +\end{figure} \subsubsection{Schwachstelle ausbessern} @@ -197,6 +206,10 @@ Passwortänderungen müssen mit einer eindeutigen Verifizierung über das aktuel Das Abspeichern der Passwörter darf nur verschlüsselt erfolgen. Zum Beispiel werden im Django Framework\footnote{\href{https://docs.djangoproject.com/en/4.0/topics/auth/passwords/}{Password management in Django}} zu fast jedem Algorithmus Lösungen angeboten. +Der DELETE Endpunkt sollte zusätzlich vor dem Löschen prüfen, wer die Aufgabe erstellt hat, und nur dem Besitzer das Löschen erlauben. + +\newpage + \subsection{A7:2017 - Cross-Site Scripting (XSS)} CVSS Score (Abschnitt \ref{cvss-score}) : \textbf{7.5} diff --git a/Lab01/documentation/images/app/app-15.png b/Lab01/documentation/images/app/app-15.png new file mode 100644 index 0000000..a34e031 Binary files /dev/null and b/Lab01/documentation/images/app/app-15.png differ diff --git a/Lab01/documentation/juiceshop/juiceshop.tex b/Lab01/documentation/juiceshop/juiceshop.tex index cd8c9b5..79aeb19 100644 --- a/Lab01/documentation/juiceshop/juiceshop.tex +++ b/Lab01/documentation/juiceshop/juiceshop.tex @@ -147,20 +147,20 @@ Damit kann man in z.B. Postman ein Post Request unter einem anderen Namen mit de \newpage -\subsubsection{XSS} +\subsubsection{Cross-Site-Scripting} -Da ich in meiner App Cross-Site-Scripting eingebaut hatte, wollte ich hier auch probieren, ob es geht. Im Score Board wird man darauf hingewiesen, dass man sich das Suchfeld anschauen sollte (Abbildung \ref{fig:XSS} / \ref{fig:XSS-Bonus}). +Da in der App auch Cross-Site-Scripting eingebaut ist, dürfte es im Juice Shop dafür auch eine Möglichkeit geben. Im Score Board wird man darauf hingewiesen, dass man sich das Suchfeld anschauen sollte (Abbildung \ref{fig:Cross-Site-Scripting} / \ref{fig:Cross-Site-Scripting Bonus}). Die vorgefertigten iFrames wurden vom Score-Board kopiert. \begin{figure}[H] \begin{center} \includegraphics[width=0.8\textwidth]{juice/juice-13} - \caption{XSS} - \label{fig:XSS} + \caption{Cross-Site-Scripting} + \label{fig:Cross-Site-Scripting} \end{center} \begin{center} \includegraphics[width=0.8\textwidth]{juice/juice-14} - \caption{XSS-Bonus} - \label{fig:XSS-Bonus} + \caption{Cross-Site-Scripting Bonus} + \label{fig:Cross-Site-Scripting Bonus} \end{center} \end{figure} @@ -225,7 +225,7 @@ Password: irgendwas... \label{fig:Jims Account} \end{center} \begin{center} - \includegraphics[width=0.8\textwidth]{juice/juice-18} + \includegraphics[width=0.8\textwidth]{juice/juice-19} \caption{Benders Account} \label{fig:Benders Account} \end{center} diff --git a/Lab01/documentation/titlepage/titlepage.tex b/Lab01/documentation/titlepage/titlepage.tex index 64ace3e..2d33d33 100644 --- a/Lab01/documentation/titlepage/titlepage.tex +++ b/Lab01/documentation/titlepage/titlepage.tex @@ -20,6 +20,5 @@ \vfill \raggedright{} \HRule{13pt}{1pt} \\ - \titleemph{Dozent:} Prof. Dr. rer. nat. Tobias Heer\\ \titleemph{Git:} \href{https://git.unjx.de/flo/SWB6-ITSec/src/branch/master/Lab01}{https://git.unjx.de/flo/SWB6-ITSec/src/branch/master/Lab01} \end{titlepage}