\documentclass[11pt,a4paper]{article}
\usepackage[portuguese]{babel}
\usepackage[lining]{ebgaramond}
\usepackage{style}

\setlength{\parindent}{0em}
\setlength{\parskip}{2ex}

\title{Practical Assignment \#2}
\author{
    João Neto -- 2023234004\\[1em]
    Vasco Alves -- 2022228207
}

\begin{document}
\maketitle

\newpage
\tableofcontents

\newpage

\section{Introduction}
Este trabalho tem como objectivo realizar testes de penetração numa aplicação cobaia (o Juicebox)
desenhada para aprendizagem. 

\section{Arquitecture considered for both stages}

Utilizamos somente duas máquinas virtuais: um servidor a correr \textit{CentOS 9}
e um cliente a correr \textit{Kali Linux.} O servidor contém o serviço \textit{Apache}
que age como \textit{firewall} através do plugin \textit{ModSecurity} e um servidor
nodejs que contém o Juicebox; a aplicação que vai servir de ``dummy'' (cobaia).

Vão ser realizadas duas etapas de testes: primeiro, sem WAF (\textit{Web Application Firewall})
e com foco em explorar vulnerabilidades na aplicação; e depois com uma WAF desenhada para sobreviver
as várias vulnerabilidades que foram encontradas na etapa anterior.


\subsection{Network structure}
% 10.60.0.0 - rede externa
% 20.60.0.0 - rede interna

\subsection{Servers}
% 10.60.0.1 - router
% 20.60.0.2 - client 

O router contém a firewall e o serviço juicebox.

\subsection{Services}
% juicebox - port 3000
Juicebox no port 3000 

\section{Web application security testing}

\subsection{Information Gathering}

\subsection{Configuration and Deployment Management Testing}

\subsection{Identity Management Testing}

\subsection{Authentication Testing}

\subsection{Authorization Testing}

\subsection{Session Management Testing}

\subsection{Input Validation Testing}

\subsection{Testing for Error Handling}

\subsection{Testing for Weak Cryptography}

\subsection{Business Logic Testing}

\subsection{Client Side Testing}

\section{Web application security firewall}

\subsection{Information Gathering}

\subsection{Configuration and Deployment Management Testing}

\subsection{Identity Management Testing}

\subsection{Authentication Testing}

\subsection{Authorization Testing}

\subsection{Session Management Testing}

\subsection{Input Validation Testing}

\subsection{Testing for Error Handling}

\subsection{Testing for Weak Cryptography}

\subsection{Business Logic Testing}

\subsection{Client Side Testing}

\section{Conclusions}


\end{document}
