add delete problem, fix spelling
This commit is contained in:
parent
87ad80e2f6
commit
813f730119
4 changed files with 21 additions and 9 deletions
|
@ -103,7 +103,7 @@ CVSS Score (Abschnitt \ref{cvss-score}) : \textbf{6.5}
|
||||||
|
|
||||||
\subsubsection{Beschreibung der Schwachstellen}
|
\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{figure}[H]
|
||||||
\begin{center}
|
\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.
|
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{figure}[H]
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=0.8\textwidth]{app/app-12}
|
\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}
|
\label{fig:Datenbank}
|
||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\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}
|
\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.
|
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)}
|
\subsection{A7:2017 - Cross-Site Scripting (XSS)}
|
||||||
|
|
||||||
CVSS Score (Abschnitt \ref{cvss-score}) : \textbf{7.5}
|
CVSS Score (Abschnitt \ref{cvss-score}) : \textbf{7.5}
|
||||||
|
|
BIN
Lab01/documentation/images/app/app-15.png
Normal file
BIN
Lab01/documentation/images/app/app-15.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -147,20 +147,20 @@ Damit kann man in z.B. Postman ein Post Request unter einem anderen Namen mit de
|
||||||
|
|
||||||
\newpage
|
\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{figure}[H]
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=0.8\textwidth]{juice/juice-13}
|
\includegraphics[width=0.8\textwidth]{juice/juice-13}
|
||||||
\caption{XSS}
|
\caption{Cross-Site-Scripting}
|
||||||
\label{fig:XSS}
|
\label{fig:Cross-Site-Scripting}
|
||||||
\end{center}
|
\end{center}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=0.8\textwidth]{juice/juice-14}
|
\includegraphics[width=0.8\textwidth]{juice/juice-14}
|
||||||
\caption{XSS-Bonus}
|
\caption{Cross-Site-Scripting Bonus}
|
||||||
\label{fig:XSS-Bonus}
|
\label{fig:Cross-Site-Scripting Bonus}
|
||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ Password: irgendwas...
|
||||||
\label{fig:Jims Account}
|
\label{fig:Jims Account}
|
||||||
\end{center}
|
\end{center}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=0.8\textwidth]{juice/juice-18}
|
\includegraphics[width=0.8\textwidth]{juice/juice-19}
|
||||||
\caption{Benders Account}
|
\caption{Benders Account}
|
||||||
\label{fig:Benders Account}
|
\label{fig:Benders Account}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
|
@ -20,6 +20,5 @@
|
||||||
\vfill
|
\vfill
|
||||||
\raggedright{}
|
\raggedright{}
|
||||||
\HRule{13pt}{1pt} \\
|
\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}
|
\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}
|
\end{titlepage}
|
||||||
|
|
Reference in a new issue