diff --git a/relatorio/relatorio.listing b/relatorio/relatorio.listing index 1bd2e50..1bd4c96 100644 --- a/relatorio/relatorio.listing +++ b/relatorio/relatorio.listing @@ -1,2 +1 @@ -{} apple diff --git a/relatorio/relatorio.log b/relatorio/relatorio.log index d0426ed..f80f565 100644 --- a/relatorio/relatorio.log +++ b/relatorio/relatorio.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.29 (MiKTeX 26.2) (preloaded format=pdflatex 2026.5.30) 30 MAY 2026 21:37 +This is pdfTeX, Version 3.141592653-2.6-1.40.29 (MiKTeX 26.2) (preloaded format=pdflatex 2026.5.30) 30 MAY 2026 22:04 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1259,7 +1259,12 @@ LaTeX Font Info: Font shape `T1/Raleway-OsF/bold/n' aliased to LaTeX Font Info: Font shape `T1/Raleway-OsF/b/n' will be (Font) scaled to size 14.4pt on input line 19. -(relatorio.toc) +(relatorio.toc +LaTeX Font Info: Font shape `T1/Raleway-OsF/bold/n' aliased to +(Font) `T1/Raleway-OsF/b/n' on input line 2. +LaTeX Font Info: Font shape `T1/Raleway-OsF/b/n' will be +(Font) scaled to size 10.95pt on input line 2. +) \tf@toc=\write5 \openout5 = `relatorio.toc'. @@ -1273,10 +1278,6 @@ LaTeX Font Info: Font shape `T1/Raleway-OsF/b/n' will be \g__tcobox_out_iow=\write6 \openout6 = `relatorio.listing'. -LaTeX Font Info: Font shape `T1/Raleway-OsF/bold/n' aliased to -(Font) `T1/Raleway-OsF/b/n' on input line 64. -LaTeX Font Info: Font shape `T1/Raleway-OsF/b/n' will be -(Font) scaled to size 10.95pt on input line 64. LaTeX Font Info: Font shape `T1/cmtt/bx/n' in size <10.95> not available (Font) Font shape `T1/cmtt/m/n' tried instead on input line 64. LaTeX Font Info: Font shape `T1/cmtt/bx/n' in size <9> not available @@ -1320,22 +1321,15 @@ someones LaTeX2e <2025-11-01> L3 programming layer <2026-03-20> *********** - - -Package rerunfilecheck Warning: File `relatorio.out' has changed. -(rerunfilecheck) Rerun to get outlines right -(rerunfilecheck) or use package `bookmark'. - -Package rerunfilecheck Info: Checksums for `relatorio.out': -(rerunfilecheck) Before: D41D8CD98F00B204E9800998ECF8427E;0 -(rerunfilecheck) After: 5C0D8761B50FECB6447C0D628A4DD50C;4695. +Package rerunfilecheck Info: File `relatorio.out' has not changed. +(rerunfilecheck) Checksum: 5C0D8761B50FECB6447C0D628A4DD50C;4695. ) Here is how much of TeX's memory you used: - 31633 strings out of 467691 - 635227 string characters out of 5414987 - 1247019 words of memory out of 5000000 - 60030 multiletter control sequences out of 15000+600000 - 790094 words of font info for 84 fonts, out of 8000000 for 9000 + 31660 strings out of 467691 + 635632 string characters out of 5414987 + 1246033 words of memory out of 5000000 + 60062 multiletter control sequences out of 15000+600000 + 791342 words of font info for 89 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 113i,8n,122p,483b,1803s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on relatorio.pdf (8 pages, 125059 bytes). +Output written on relatorio.pdf (8 pages, 139440 bytes). PDF statistics: - 343 PDF objects out of 1000 (max. 8388607) - 100 named destinations out of 1000 (max. 500000) - 157 words of extra memory for PDF output out of 10000 (max. 10000000) + 442 PDF objects out of 1000 (max. 8388607) + 95 named destinations out of 1000 (max. 500000) + 365 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/relatorio/relatorio.pdf b/relatorio/relatorio.pdf index c78039c..6ddfa02 100644 Binary files a/relatorio/relatorio.pdf and b/relatorio/relatorio.pdf differ diff --git a/relatorio/relatorio.synctex.gz b/relatorio/relatorio.synctex.gz index 347c0f2..9aa67a8 100644 Binary files a/relatorio/relatorio.synctex.gz and b/relatorio/relatorio.synctex.gz differ diff --git a/relatorio/relatorio.tex b/relatorio/relatorio.tex index 9cf8d1e..93154f1 100644 --- a/relatorio/relatorio.tex +++ b/relatorio/relatorio.tex @@ -59,7 +59,7 @@ Utilizámos a política por omissão (\textit{default policy}) para a realizaç Adicionalmente, realizámos testes de infraestrutura e mapeamento de vetores utilizando ferramentas especializadas: -\begin{codeblock}{bash}{} +\begin{codeblock}{bash} sqlmap -u "http://192.168.1.1:3000/rest/products/search?q=apple" -p q --level=5 --risk=3 --banner \end{codeblock} @@ -96,7 +96,7 @@ Efetuámos testes de manipulação de parâmetros do lado do cliente através da Utilizámos o OWASP ZAP para intercetar o tráfego de rede e definir um \textit{breakpoint} no pedido HTTP POST de registo de novos utilizadores. Modificámos o corpo do pedido JSON, injetando manualmente o parâmetro \texttt{"role":"admin"}: -\begin{codeblock}{json}{} +\begin{codeblock}{json} { "email": "johnGomas@gmail.com", "role": "admin", @@ -151,7 +151,7 @@ Durante a auditoria à barra de pesquisa de produtos, validámos a existência d \item \textbf{Injeção HTML:} Introduzimos o valor \texttt{

apple} na pesquisa e verificámos que o resultado foi renderizado no navegador como um título estrutural, confirmando que o código HTML é injetado diretamente na página. \item \textbf{Tentativa com Script Direto:} Inserimos o payload tradicional \texttt{apple}. Esta tentativa não foi executada, demonstrando a presença de uma validação simples contra tags explícitas de script. \item \textbf{Evasão com Evento de Erro:} Para contornar a restrição, injetámos uma tag de imagem com um caminho inválido acompanhado do manipulador de eventos \texttt{onerror}: - \begin{codeblock}{html}{} + \begin{codeblock}{html} apple \end{codeblock} O filtro falhou ao inspecionar este atributo e o navegador executou o código JavaScript com sucesso quando a imagem falhou o carregamento. @@ -159,7 +159,7 @@ Durante a auditoria à barra de pesquisa de produtos, validámos a existência d Adicionalmente, explorámos o mesmo parâmetro de pesquisa recorrendo ao \textit{sqlmap} para validar falhas de injeção SQL, conseguindo extrair com sucesso a estrutura de 22 tabelas da base de dados: -\begin{codeblock}{bash}{} +\begin{codeblock}{bash} sqlmap -u "http://10.60.0.1:3000/rest/products/search?q=apple" -p q --dbms=sqlite --prefix="'%" --suffix="%'--" --tables --batch [22 tables] @@ -199,7 +199,7 @@ Validámos que o token de sessão (JWT) do utilizador autenticado está armazena Utilizando a falha de XSS identificada anteriormente na barra de pesquisas, injetámos o seguinte payload direcionado: -\begin{codeblock}{html}{} +\begin{codeblock}{html} apple \end{codeblock}