diff --git a/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md b/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md
index 6f0b8886d..08c861e66 100644
--- a/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md
+++ b/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md
@@ -33,15 +33,15 @@ employee1.__proto__
```
### Prototypes in JavaScript
-JavaScript stel die wysiging, toevoeging of verwydering van prototipe-attribuutte in staat tydens uitvoering. Hierdie buigsaamheid stel die dinamiese uitbreiding van klasfunksies in staat.
+JavaScript laat die wijziging, toevoeging of verwydering van prototipe-attribuutte tydens uitvoering toe. Hierdie buigsaamheid stel die dinamiese uitbreiding van klasfunksies in staat.
-Funksies soos `toString` en `valueOf` kan verander word om hul gedrag te verander, wat die aanpasbare aard van JavaScript se prototipe-stelsel demonstreer.
+Funksies soos `toString` en `valueOf` kan verander word om hul gedrag te verander, wat die aanpasbare aard van JavaScript se prototipesisteem demonstreer.
## Inheritance
In prototipe-gebaseerde programmering word eienskappe/metodes geërf deur voorwerpe van klasse. Hierdie klasse word geskep deur eienskappe/metodes by 'n instansie van 'n ander klas of by 'n leë voorwerp te voeg.
-Daar moet op gelet word dat wanneer 'n eienskap by 'n voorwerp gevoeg word wat as die prototipe vir ander voorwerpe dien (soos `myPersonObj`), die geërfde voorwerpe toegang tot hierdie nuwe eienskap verkry. Hierdie eienskap word egter nie outomaties vertoon nie, tensy dit eksplisiet aangeroep word.
+Dit moet opgemerk word dat wanneer 'n eienskap by 'n voorwerp gevoeg word wat as die prototipe vir ander voorwerpe dien (soos `myPersonObj`), die erflike voorwerpe toegang tot hierdie nuwe eienskap verkry. Hierdie eienskap word egter nie outomaties vertoon nie, tensy dit eksplisiet aangeroep word.
## \_\_proto\_\_ pollution
@@ -76,7 +76,7 @@ car1.announce() // Outputs "Beep beep!"
car1.__proto__.__proto__.isVehicle = true
console.log(car1.isVehicle) // Outputs true
```
-## prototype besoedeling
+## prototype pollution
Vir 'n scenario waar `__proto__` gebruik beperk is, is die aanpassing van 'n funksie se prototipe 'n alternatief:
```javascript
@@ -100,7 +100,7 @@ car1.constructor.prototype.isElectric = true
```
Dit raak slegs voorwerpe wat van die `Vehicle` konstruktors gemaak is, en gee hulle die `beep`, `hasWheels`, `honk`, en `isElectric` eienskappe.
-Twee metodes om JavaScript voorwerpe globaal te beïnvloed deur prototype besoedeling sluit in:
+Twee metodes om JavaScript voorwerpe globaal te beïnvloed deur middel van prototipe besoedeling sluit in:
1. Besoedeling van die `Object.prototype` direk:
```javascript
@@ -117,11 +117,11 @@ console.log("Hello!")
```
Na hierdie operasies kan elke JavaScript-objek `goodbye` en `greet` metodes uitvoer.
-## Besoedeling van ander objek
+## Besmetting van ander objek
### Van 'n klas na Object.prototype
-In 'n scenario waar jy 'n **spesifieke objek kan besoedel** en jy moet **by `Object.prototype` kom**, kan jy daarna soek met iets soos die volgende kode:
+In 'n scenario waar jy **'n spesifieke objek kan besmet** en jy moet **by `Object.prototype` kom**, kan jy daarna soek met iets soos die volgende kode:
```javascript
// From https://blog.huli.tw/2022/05/02/en/intigriti-revenge-challenge-author-writeup/
@@ -144,7 +144,7 @@ console.log(key1 + "." + key2)
```
### Array elements pollution
-Let daarop dat soos jy die eienskappe van voorwerpe in JS kan besoedel, as jy toegang het om 'n array te besoedel, kan jy ook **waardes van die array** besoedel wat **deur indekse** toeganklik is (let daarop dat jy nie waardes kan oorskryf nie, so jy moet indekse besoedel wat op een of ander manier gebruik word maar nie geskryf word nie).
+Let wel dat soos jy eienskappe van voorwerpe in JS kan besoedel, as jy toegang het om 'n array te besoedel, kan jy ook **waardes van die array** besoedel wat **deur indekse** toeganklik is (let wel dat jy nie waardes kan oorskryf nie, so jy moet indekse besoedel wat op een of ander manier gebruik word maar nie geskryf word nie).
```javascript
c = [1, 2]
a = []
@@ -154,9 +154,9 @@ b[0] //undefined
b[1] //"yolo"
c[1] // 2 -- not
```
-### Html element besoedeling
+### Html elements pollution
-Wanneer 'n HTML-element via JS gegenereer word, is dit moontlik om die **`innerHTML`** attribuut te **oorskryf** om **arbitraire HTML-kode** te skryf. [Idea en voorbeeld van hierdie skrywe](https://blog.huli.tw/2022/04/25/en/intigriti-0422-xss-challenge-author-writeup/).
+Wanneer 'n HTML-element via JS gegenereer word, is dit moontlik om die **`innerHTML`** attribuut te **oorskryf** om **arbitraire HTML-kode** te laat skryf. [Idea and example from this writeup](https://blog.huli.tw/2022/04/25/en/intigriti-0422-xss-challenge-author-writeup/).
```javascript
// Create element
devSettings["root"] = document.createElement('main')
@@ -171,9 +171,9 @@ settings[root][ownerDocument][body][innerHTML]="