diff --git a/SUMMARY.md b/SUMMARY.md
index 60279767a..0103b2fa9 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -604,7 +604,7 @@
* [OAuth to Account takeover](pentesting-web/oauth-to-account-takeover.md)
* [Open Redirect](pentesting-web/open-redirect.md)
* [ORM Injection](pentesting-web/orm-injection.md)
-* [Parameter Pollution](pentesting-web/parameter-pollution.md)
+* [Parameter Pollution | JSON Injection](pentesting-web/parameter-pollution.md)
* [Phone Number Injections](pentesting-web/phone-number-injections.md)
* [PostMessage Vulnerabilities](pentesting-web/postmessage-vulnerabilities/README.md)
* [Blocking main page to steal postmessage](pentesting-web/postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md)
diff --git a/pentesting-web/parameter-pollution.md b/pentesting-web/parameter-pollution.md
index 041ad0a76..7d3d6d988 100644
--- a/pentesting-web/parameter-pollution.md
+++ b/pentesting-web/parameter-pollution.md
@@ -1,18 +1,18 @@
-# Contaminación de Parámetros
+# Parameter Pollution | JSON Injection
-## Contaminación de Parámetros
+## Parameter Pollution
{% hint style="success" %}
-Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
-Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Apoya a HackTricks
+Support HackTricks
-* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
-* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
@@ -21,75 +21,75 @@ Aprende y practica Hacking en GCP:
+### PHP 8.3.11 AND Apache 2.4.62
1. Ignorar cualquier cosa después de %00 en el nombre del parámetro.
-2. Manejar name\[] como un array.
+2. Manejar name\[] como array.
3. \_GET no significa método GET.
4. Preferir el último parámetro.
-### Ruby 3.3.5 y WEBrick 1.8.2
+### Ruby 3.3.5 and WEBrick 1.8.2
1. Utiliza los delimitadores & y ; para dividir parámetros.
2. No reconoce name[].
-3. Prefiere el primer parámetro.
+3. Preferir el primer parámetro.
-### Spring MVC 6.0.23 Y Apache Tomcat 10.1.30
+### Spring MVC 6.0.23 AND Apache Tomcat 10.1.30
@@ -99,7 +99,7 @@ Los resultados fueron tomados de [https://medium.com/@0xAwali/http-parameter-pol
4. Concatenar parámetros e.g. first,last.
5. POST RequestMapping & PostMapping reconocen parámetros de consulta con Content-Type.
-### **NodeJS** 20.17.0 **Y** Express 4.21.0
+### **NodeJS** 20.17.0 **AND** Express 4.21.0
@@ -113,48 +113,133 @@ Los resultados fueron tomados de [https://medium.com/@0xAwali/http-parameter-pol
1. NO reconoce name[].
2. Preferir el primer parámetro.
-### Python 3.12.6 Y Werkzeug 3.0.4 Y Flask 3.0.3
+### Python 3.12.6 AND Werkzeug 3.0.4 AND Flask 3.0.3
1. NO reconoce name[].
2. Preferir el primer parámetro.
-### Python 3.12.6 Y Django 4.2.15
+### Python 3.12.6 AND Django 4.2.15
1. NO reconoce name[].
2. Preferir el último parámetro.
-### Python 3.12.6 Y Tornado 6.4.1
+### Python 3.12.6 AND Tornado 6.4.1
1. NO reconoce name[].
2. Preferir el último parámetro.
-## Referencias
+## JSON Injection
+
+### Duplicate keys
+```ini
+obj = {"test": "user", "test": "admin"}
+```
+El front-end podría creer la primera ocurrencia mientras que el backend utiliza la segunda ocurrencia de la clave.
+
+### Colisión de Claves: Truncamiento de Caracteres y Comentarios
+
+Ciertos caracteres no serán interpretados correctamente por el front-end, pero el backend los interpretará y utilizará esas claves, esto podría ser útil para **eludir ciertas restricciones**:
+```json
+{"test": 1, "test\[raw \x0d byte]": 2}
+{"test": 1, "test\ud800": 2}
+{"test": 1, "test"": 2}
+{"test": 1, "te\st": 2}
+```
+Nota cómo en estos casos el front end podría pensar que `test == 1` y el backend pensará que `test == 2`.
+
+Esto también se puede usar para eludir restricciones de valor como:
+```json
+{"role": "administrator\[raw \x0d byte]"}
+{"role":"administrator\ud800"}
+{"role": "administrator""}
+{"role": "admini\strator"}
+```
+### **Uso de la Truncación de Comentarios**
+
+{% code overflow="wrap" %}
+```ini
+obj = {"description": "Duplicate with comments", "test": 2, "extra": /*, "test": 1, "extra2": */}
+```
+{% endcode %}
+
+Aquí utilizaremos el serializador de cada analizador para ver su respectiva salida.
+
+Serializer 1 (por ejemplo, la biblioteca GoJay de GoLang) producirá:
+
+* `description = "Duplicado con comentarios"`
+* `test = 2`
+* `extra = ""`
+
+Serializer 2 (por ejemplo, la biblioteca JSON-iterator de Java) producirá:
+
+* `description = "Duplicado con comentarios"`
+* `extra = "/*"`
+* `extra2 = "*/"`
+* `test = 1`
+
+Alternativamente, el uso directo de comentarios también puede ser efectivo:
+```ini
+obj = {"description": "Comment support", "test": 1, "extra": "a"/*, "test": 2, "extra2": "b"*/}
+```
+La biblioteca GSON de Java:
+```json
+{"description":"Comment support","test":1,"extra":"a"}
+```
+La biblioteca simdjson de Ruby:
+```json
+{"description":"Comment support","test":2,"extra":"a","extra2":"b"}
+```
+### **Precedencia Inconsistente: Deserialización vs. Serialización**
+```ini
+obj = {"test": 1, "test": 2}
+
+obj["test"] // 1
+obj.toString() // {"test": 2}
+```
+### Float and Integer
+
+El número
+```undefined
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+```
+puede ser decodificado a múltiples representaciones, incluyendo:
+```undefined
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+9.999999999999999e95
+1E+96
+0
+9223372036854775807
+```
+Which might create inconsistencias
+
+## References
* [https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
* [https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution)
* [https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89](https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89)
+* [https://bishopfox.com/blog/json-interoperability-vulnerabilities](https://bishopfox.com/blog/json-interoperability-vulnerabilities)
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
-Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
-Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Apoya a HackTricks
+Support HackTricks
-* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
-* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}