From fdcb78906216eda1b2b39310bfa6e8e15b6a75ea Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 4 Feb 2025 22:43:43 +0000 Subject: [PATCH] Translated ['src/pentesting-web/xss-cross-site-scripting/README.md'] to --- .../xss-cross-site-scripting/README.md | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/pentesting-web/xss-cross-site-scripting/README.md b/src/pentesting-web/xss-cross-site-scripting/README.md index 7aa76b2bb..7455435ab 100644 --- a/src/pentesting-web/xss-cross-site-scripting/README.md +++ b/src/pentesting-web/xss-cross-site-scripting/README.md @@ -11,7 +11,7 @@ 2. Você pode usar eventos ou atributos que suportam o protocolo `javascript:`? 3. Você pode contornar proteções? 4. O conteúdo HTML está sendo interpretado por algum mecanismo JS do lado do cliente (_AngularJS_, _VueJS_, _Mavo_...), você poderia abusar de uma [**Injeção de Template do Lado do Cliente**](../client-side-template-injection-csti.md). -5. Se você não pode criar tags HTML que executem código JS, poderia abusar de uma [**Injeção de Marcação Pendente - HTML sem script**](../dangling-markup-html-scriptless-injection/index.html)? +5. Se você não pode criar tags HTML que executem código JS, você poderia abusar de uma [**Injeção de Marcação Pendentes - HTML sem script**](../dangling-markup-html-scriptless-injection/index.html)? 2. Dentro de uma **tag HTML**: 1. Você pode sair para o contexto HTML bruto? 2. Você pode criar novos eventos/atributos para executar código JS? @@ -150,7 +150,7 @@ server-side-xss-dynamic-pdf.md ## Injetando dentro do HTML bruto Quando sua entrada é refletida **dentro da página HTML** ou você pode escapar e injetar código HTML nesse contexto, a **primeira** coisa que você precisa fazer é verificar se pode abusar de `<` para criar novas tags: Apenas tente **refletir** esse **caractere** e verifique se está sendo **codificado em HTML** ou **deletado** ou se está **refletido sem alterações**. **Somente no último caso você poderá explorar esse caso**.\ -Para esses casos, também **tenha em mente** [**Client Side Template Injection**](../client-side-template-injection-csti.md)**.**\ +Para esses casos, também **lembre-se** de [**Client Side Template Injection**](../client-side-template-injection-csti.md)**.**\ _**Nota: Um comentário HTML pode ser fechado usando\*\*\*\*\*\***\***\*`-->`\*\***\***\*ou \*\*\*\*\*\***`--!>`\*\*_ Neste caso, e se nenhuma lista negra/branca for usada, você poderia usar payloads como: @@ -270,7 +270,7 @@ Se você **não puder escapar da tag**, você pode criar novos atributos dentro Mesmo que você **não consiga escapar do atributo** (`"` está sendo codificado ou deletado), dependendo de **qual atributo** seu valor está sendo refletido em **se você controla todo o valor ou apenas uma parte** você poderá abusar disso. Por **exemplo**, se você controla um evento como `onclick=` você poderá fazer com que ele execute código arbitrário quando for clicado.\ Outro **exemplo** interessante é o atributo `href`, onde você pode usar o protocolo `javascript:` para executar código arbitrário: **`href="javascript:alert(1)"`** -**Bypass dentro do evento usando codificação HTML/codificação URL** +**Bypass dentro do evento usando codificação HTML/URL encode** Os **caracteres codificados em HTML** dentro do valor dos atributos das tags HTML são **decodificados em tempo de execução**. Portanto, algo como o seguinte será válido (o payload está em negrito): `Voltar ` @@ -303,7 +303,7 @@ Note que **qualquer tipo de codificação HTML é válido**: ``` ### Protocolos Especiais Dentro do atributo -Lá você pode usar os protocolos **`javascript:`** ou **`data:`** em alguns lugares para **executar código JS arbitrário**. Alguns exigirã interação do usuário e outros não. +Lá você pode usar os protocolos **`javascript:`** ou **`data:`** em alguns lugares para **executar código JS arbitrário**. Alguns exigirão interação do usuário e outros não. ```javascript javascript:alert(1) JavaSCript:alert(1) @@ -345,13 +345,13 @@ data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc //https://github.com/evilcos/xss.swf