diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index be4d4275a..4c7d77d24 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -725,6 +725,7 @@
- [SOME - Same Origin Method Execution](pentesting-web/xss-cross-site-scripting/some-same-origin-method-execution.md)
- [Sniff Leak](pentesting-web/xss-cross-site-scripting/sniff-leak.md)
- [Steal Info JS](pentesting-web/xss-cross-site-scripting/steal-info-js.md)
+ - [Wasm Linear Memory Template Overwrite Xss](pentesting-web/xss-cross-site-scripting/wasm-linear-memory-template-overwrite-xss.md)
- [XSS in Markdown](pentesting-web/xss-cross-site-scripting/xss-in-markdown.md)
- [XSSI (Cross-Site Script Inclusion)](pentesting-web/xssi-cross-site-script-inclusion.md)
- [XS-Search/XS-Leaks](pentesting-web/xs-search/README.md)
diff --git a/src/pentesting-web/xss-cross-site-scripting/README.md b/src/pentesting-web/xss-cross-site-scripting/README.md
index ba6b01f53..d4bb25b32 100644
--- a/src/pentesting-web/xss-cross-site-scripting/README.md
+++ b/src/pentesting-web/xss-cross-site-scripting/README.md
@@ -4,65 +4,65 @@
## Metodologija
-1. Proveri da li se **bilo koja vrednost koju kontrolišeš** (_parameters_, _path_, _headers_?, _cookies_?) **reflektuje** u HTML-u ili se **koristi** u **JS** kodu.
-2. **Pronađi kontekst** u kome je reflektovano/korisćeno.
+1. Proverite da li se **bilo koja vrednost kojom upravljate** (_parameters_, _path_, _headers_?, _cookies_?) **reflektuje** u HTML-u ili **koristi** od strane **JS** koda.
+2. **Pronađite kontekst** u kome se to reflektuje/koristi.
3. Ako je **reflektovano**
-1. Proveri **koje simbole možeš koristiti** i u zavisnosti od toga, pripremi payload:
+1. Proverite **koje simbole možete koristiti** i u zavisnosti od toga pripremite payload:
1. U **raw HTML**:
-1. Možeš li kreirati nove HTML tagove?
-2. Možeš li koristiti evente ili atribute koji podržavaju `javascript:` protocol?
-3. Možeš li zaobići zaštite?
-4. Da li se HTML sadržaj interpretira kroz neki client side JS engine (_AngularJS_, _VueJS_, _Mavo_...), koji bi mogaoš zloupotrebiti kroz [**Client Side Template Injection**](../client-side-template-injection-csti.md).
-5. Ako ne možeš kreirati HTML tagove koji izvršavaju JS kod, možeš li zloupotrebiti [**Dangling Markup - HTML scriptless injection**](../dangling-markup-html-scriptless-injection/index.html)?
+1. Možete li kreirati nove HTML tagove?
+2. Možete li koristiti event-e ili atribute koji podržavaju `javascript:` protokol?
+3. Možete li zaobići zaštite?
+4. Da li HTML sadržaj tumači neki client side JS engine (_AngularJS_, _VueJS_, _Mavo_...), tada možete iskoristiti [**Client Side Template Injection**](../client-side-template-injection-csti.md).
+5. Ako ne možete kreirati HTML tagove koji izvršavaju JS kod, možete li iskoristiti [**Dangling Markup - HTML scriptless injection**](../dangling-markup-html-scriptless-injection/index.html)?
2. Unutar **HTML taga**:
-1. Možeš li izaći u raw HTML kontekst?
-2. Možeš li kreirati nove evente/atribute koji izvršavaju JS kod?
-3. Da li atribut u kome si zarobljen podržava izvršavanje JS?
-4. Možeš li zaobići zaštite?
+1. Možete li izaći u raw HTML kontekst?
+2. Možete li kreirati nove event-e/atribute za izvršavanje JS koda?
+3. Da li atribut u kojem ste "zarobljeni" podržava izvršavanje JS-a?
+4. Možete li zaobići zaštite?
3. Unutar **JavaScript koda**:
-1. Možeš li pobjeći iz ``** tagova HTML stranice, unutar `.js` fajla ili unutar atributa koji koristi **`javascript:`** protokol:
+U ovom slučaju vaš unos se reflektuje između **``** tagova HTML stranice, unutar `.js` fajla ili unutar atributa koji koristi **`javascript:`** protokol:
-- Ako je reflektovano između **``** tagova, čak i ako je vaš unos unutar bilo kojih navodnika, možete pokušati da injektujete `` i pobegnete iz tog konteksta. Ovo radi zato što **pregledač će prvo parsirati HTML tagove** a zatim sadržaj, te neće primetiti da je vaš ubrizgani `` tag unutar HTML koda.
-- Ako je reflektovano **unutar JS stringa** i prethodni trik ne radi, moraćete da **izađete** iz stringa, **izvršite** svoj kod i **rekonstrušete** JS kod (ako ima greške, neće biti izvršen):
+- Ako se reflektuje između **``** tagova, čak i ako je vaš unos unutar bilo kakvih navodnika, možete pokušati da injektujete `` i pobegnete iz ovog konteksta. Ovo funkcioniše zato što će **browser prvo parsirati HTML tagove** i zatim sadržaj, zato neće primetiti da je vaš injektovani `` tag unutar HTML koda.
+- Ako se reflektuje **unutar JS stringa** i poslednji trik ne radi biće potrebno da **izađete** iz stringa, **izvršite** vaš kod i **rekonstrušete** JS kod (ako ima bilo kakva greška, neće biti izvršeno:
- `'-alert(1)-'`
- `';-alert(1)//`
- `\';alert(1)//`
-- Ako je reflektovano unutar template literals možete **ubaciti JS izraze** koristeći `${ ... }` sintaksu: `` var greetings = `Hello, ${alert(1)}` ``
-- **Unicode enkodiranje** funkcioniše za pisanje **validnog javascript koda**:
+- Ako se reflektuje unutar template literals možete **ugraditi JS izraze** koristeći `${ ... }` sintaksu: `` var greetings = `Hello, ${alert(1)}` ``
+- **Unicode encode** radi da napišete **valid javascript code**:
```javascript
alert(1)
alert(1)
@@ -86,7 +86,7 @@ alert(1)
```
#### Javascript Hoisting
-Javascript Hoisting references the opportunity to **deklarisati funkcije, promenljive ili klase nakon što su korišćene, kako biste mogli iskoristiti scenarije u kojima XSS koristi nedeklarisane promenljive ili funkcije.**\
+Javascript Hoisting odnosi se na mogućnost da **declare functions, variables or classes after they are used so you can abuse scenarios where a XSS is using undeclared variables or functions.**\
**Pogledajte sledeću stranicu za više informacija:**
@@ -96,19 +96,19 @@ js-hoisting.md
### Javascript Function
-Mnoge web stranice imaju endpoints koji **prihvataju kao parametar ime funkcije koju treba izvršiti**. Čest primer u divljini je nešto poput: `?callback=callbackFunc`.
+Nekoliko web stranica ima endpoints koji **accept as parameter the name of the function to execute**. Uobičajen primer koji se viđa u prirodi je nešto poput: `?callback=callbackFunc`.
-Dobar način da otkrijete da li se nešto što korisnik direktno unese pokušava izvršiti je **izmeniti vrednost parametra** (na primer u 'Vulnerable') i posmatrati konzolu za greške poput:
+Dobar način da utvrdite da li se nešto što korisnik direktno unese pokušava izvršiti je **modifying the param value** (na primer u 'Vulnerable') i praćenje konzole za greške kao:
.png>)
-Ako je ranjiv, mogli biste uspeti da **pokrenete alert** samo slanjem vrednosti: **`?callback=alert(1)`**. Međutim, veoma je često da ovi endpoints **validiraju sadržaj** da dozvole samo slova, brojeve, tačke i donje crte (**`[\w\._]`**).
+Ako je ranjivo, mogli biste biti u mogućnosti da **trigger an alert** jednostavnim slanjem vrednosti: **`?callback=alert(1)`**. Međutim, veoma je često da ovi endpoints **validate the content** tako da dozvoljavaju samo slova, brojeve, tačke i donje crte (**`[\w\._]`**).
-Međutim, čak i sa tom ograničenjem još uvek je moguće sprovesti neke akcije. To je zato što možete iskoristiti te dozvoljene karaktere da **pristupite bilo kom elementu u DOM-u**:
+Međutim, čak i uz to ograničenje i dalje je moguće izvršiti neke akcije. To je zato što možete koristiti te valid chars da **access any element in the DOM**:
.png>)
-Neke korisne funkcije za ovo su:
+Some useful functions for this:
```
firstElementChild
lastElementChild
@@ -116,11 +116,11 @@ nextElementSibiling
lastElementSibiling
parentElement
```
-Takođe možete pokušati da direktno покренете **Javascript functions**: `obj.sales.delOrders`.
+Takođe možete pokušati direktno da **pokrenete Javascript funkcije**: `obj.sales.delOrders`.
-Međutim, obično su endpointi koji izvršavaju naznačenu funkciju endpointi bez mnogo zanimljivog DOM-a, **other pages in the same origin** će imati **more interesting DOM** za izvođenje više akcija.
+Međutim, obično su endpoint-i koji izvršavaju navedenu funkciju endpoint-i bez mnogo interesantnog DOM-a, **druge stranice u istom originu** će imati **zanimljiviji DOM** za izvođenje više akcija.
-Stoga, da biste **abuse this vulnerability in a different DOM**, razvijen je exploit za **Same Origin Method Execution (SOME)**:
+Stoga, da biste **zloupotrebili ovu ranjivost u drugom DOM-u** razvijen je exploit **Same Origin Method Execution (SOME)**:
{{#ref}}
@@ -129,7 +129,7 @@ some-same-origin-method-execution.md
### DOM
-Postoji **JS code** koji nesigurno koristi neke **podatke kontrolisane od strane napadača** kao što je `location.href`. Napadač ovo može iskoristiti da izvrši proizvoljan JS код.
+Postoji **JS code** koji **na nesiguran način** koristi neke **podatke koje kontroliše napadač** poput `location.href`. Napadač može to zloupotrebiti za izvršavanje proizvoljnog JS koda.
{{#ref}}
@@ -138,8 +138,8 @@ dom-xss.md
### **Universal XSS**
-Ovakve vrste XSS mogu se naći **anywhere**. One ne zavise samo od exploitatovanja klijenta web aplikacije već od **any** **context**. Ovakve vrste **arbitrary JavaScript execution** mogu čak biti iskorišćene da dovedu do **RCE**, da **read** **arbitrary** **files** na klijentima i serverima, i još mnogo toga.\
-Neki **examples**:
+Ovakav tip XSS može se naći **bilo gde**. Ne zavise samo od eksploatacije klijenta web aplikacije, već od **bilo kog** **konteksta**. Ovakvo **proizvoljno izvršavanje JavaScript-a** može čak biti zloupotrebljeno za dobijanje **RCE**, za **čitati** **proizvoljne** **fajlove** na klijentima i serverima, i više.\
+Neki **primeri**:
{{#ref}}
@@ -157,9 +157,9 @@ server-side-xss-dynamic-pdf.md
## Injecting inside raw HTML
-Kada je vaš unos reflektovan **inside the HTML page** ili možete da escape-ujete i ubacite HTML kod u ovom kontekstu, prva stvar koju treba da uradite je da proverite da li možete da zloupotrebite `<` za kreiranje novih tagova: jednostavno pokušajte da **reflect** taj **char** i proverite da li je **HTML encoded** ili **deleted** ili da li je **reflected without changes**. **Samo u poslednjem slučaju ćete moći da iskoristite ovu situaciju**.\
-Za ove slučaje takođe **keep in mind** [**Client Side Template Injection**](../client-side-template-injection-csti.md).\
-_**Napomena: HTML komentar se može zatvoriti koristeći `-->` ili `--!>`**_
+Kada je vaš input reflektovan **inside the HTML page** ili možete escape-ovati i injektovati HTML kod u tom kontekstu, **prva** stvar koju treba da uradite je da proverite da li možete iskoristiti `<` za kreiranje novih tagova: jednostavno pokušajte da **reflektujete** taj **char** i proverite da li je **HTML encoded** ili **obrisan**, ili je **reflektovan bez izmena**. **Samo u poslednjem slučaju bićete u mogućnosti da iskoristite ovaj slučaj**.\
+Za ove slučajeve takođe **imajte na umu** [**Client Side Template Injection**](../client-side-template-injection-csti.md)**.**\
+_**Napomena: A HTML comment can be closed using\*\***\***\*`-->`\*\***\***\*or \*\***`--!>`\*\***\***\*_
U ovom slučaju, i ako se ne koristi black/whitelisting, možete koristiti payloads poput:
```html
@@ -169,22 +169,22 @@ alert(1)