mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 21:53:54 +00:00
Translated ['pentesting-web/parameter-pollution.md'] to rs
This commit is contained in:
parent
7fd5fdb8cd
commit
ae1b9f623b
2 changed files with 112 additions and 27 deletions
|
@ -604,7 +604,7 @@
|
||||||
* [OAuth to Account takeover](pentesting-web/oauth-to-account-takeover.md)
|
* [OAuth to Account takeover](pentesting-web/oauth-to-account-takeover.md)
|
||||||
* [Open Redirect](pentesting-web/open-redirect.md)
|
* [Open Redirect](pentesting-web/open-redirect.md)
|
||||||
* [ORM Injection](pentesting-web/orm-injection.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)
|
* [Phone Number Injections](pentesting-web/phone-number-injections.md)
|
||||||
* [PostMessage Vulnerabilities](pentesting-web/postmessage-vulnerabilities/README.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)
|
* [Blocking main page to steal postmessage](pentesting-web/postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Parameter Pollution
|
# Parameter Pollution | JSON Injection
|
||||||
|
|
||||||
## Parameter Pollution
|
## Parameter Pollution
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
||||||
|
|
||||||
## HTTP Parameter Pollution (HPP) Overview
|
## HTTP Parameter Pollution (HPP) Overview
|
||||||
|
|
||||||
HTTP Parameter Pollution (HPP) je tehnika u kojoj napadači manipulišu HTTP parametrima kako bi promenili ponašanje web aplikacije na nepredviđene načine. Ova manipulacija se vrši dodavanjem, modifikovanjem ili dupliciranjem HTTP parametara. Efekat ovih manipulacija nije direktno vidljiv korisniku, ali može značajno promeniti funkcionalnost aplikacije na serverskoj strani, sa uočljivim uticajima na klijentskoj strani.
|
HTTP Parameter Pollution (HPP) je tehnika gde napadači manipulišu HTTP parametrima kako bi promenili ponašanje web aplikacije na nepredviđene načine. Ova manipulacija se vrši dodavanjem, modifikovanjem ili dupliciranjem HTTP parametara. Efekat ovih manipulacija nije direktno vidljiv korisniku, ali može značajno promeniti funkcionalnost aplikacije na serverskoj strani, sa uočljivim uticajima na klijentskoj strani.
|
||||||
|
|
||||||
### Example of HTTP Parameter Pollution (HPP)
|
### Example of HTTP Parameter Pollution (HPP)
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ Transakcija može biti pogrešno naplaćena na `accountC` umesto na `accountA`,
|
||||||
|
|
||||||
#### **Technology-Specific Parameter Parsing**
|
#### **Technology-Specific Parameter Parsing**
|
||||||
|
|
||||||
* Način na koji se parametri analiziraju i prioritizuju zavisi od osnovne web tehnologije, što utiče na to kako se HPP može iskoristiti.
|
* Način na koji se parametri analiziraju i prioritetizuju zavisi od osnovne web tehnologije, što utiče na to kako se HPP može iskoristiti.
|
||||||
* Alati poput [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) pomažu u identifikaciji ovih tehnologija i njihovih ponašanja prilikom analize.
|
* Alati poput [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) pomažu u identifikaciji ovih tehnologija i njihovih ponašanja prilikom analize.
|
||||||
|
|
||||||
### PHP and HPP Exploitation
|
### PHP and HPP Exploitation
|
||||||
|
@ -48,7 +48,7 @@ Transakcija može biti pogrešno naplaćena na `accountC` umesto na `accountA`,
|
||||||
|
|
||||||
* **Context:** Mehanizam prijavljivanja koji zahteva jednokratnu lozinku (OTP) je iskorišćen.
|
* **Context:** Mehanizam prijavljivanja koji zahteva jednokratnu lozinku (OTP) je iskorišćen.
|
||||||
* **Method:** Presretanjem zahteva za OTP koristeći alate poput Burp Suite, napadači su duplicirali `email` parametar u HTTP zahtevu.
|
* **Method:** Presretanjem zahteva za OTP koristeći alate poput Burp Suite, napadači su duplicirali `email` parametar u HTTP zahtevu.
|
||||||
* **Outcome:** OTP, namenjen za prvobitni email, umesto toga je poslat na drugu email adresu navedenu u manipulisanom zahtevu. Ova greška je omogućila neovlašćen pristup zaobilaženjem predviđene sigurnosne mere.
|
* **Outcome:** OTP, namenjen za inicijalnu email adresu, umesto toga je poslat na drugu email adresu navedenu u manipulisanom zahtevu. Ova greška je omogućila neovlašćen pristup zaobilaženjem predviđene sigurnosne mere.
|
||||||
|
|
||||||
Ovaj scenario ističe kritičan propust u backend-u aplikacije, koji je obradio prvi `email` parametar za generisanje OTP-a, ali je koristio poslednji za isporuku.
|
Ovaj scenario ističe kritičan propust u backend-u aplikacije, koji je obradio prvi `email` parametar za generisanje OTP-a, ali je koristio poslednji za isporuku.
|
||||||
|
|
||||||
|
@ -56,8 +56,8 @@ Ovaj scenario ističe kritičan propust u backend-u aplikacije, koji je obradio
|
||||||
|
|
||||||
* **Scenario:** Aplikacija omogućava korisnicima da ažuriraju svoj API ključ putem stranice za podešavanje profila.
|
* **Scenario:** Aplikacija omogućava korisnicima da ažuriraju svoj API ključ putem stranice za podešavanje profila.
|
||||||
* **Attack Vector:** Napadač otkriva da dodavanjem dodatnog `api_key` parametra u POST zahtev može manipulisati ishodom funkcije ažuriranja API ključa.
|
* **Attack Vector:** Napadač otkriva da dodavanjem dodatnog `api_key` parametra u POST zahtev može manipulisati ishodom funkcije ažuriranja API ključa.
|
||||||
* **Technique:** Koristeći alat poput Burp Suite, napadač kreira zahtev koji uključuje dva `api_key` parametra: jedan legitimni i jedan zlonameran. Server, obrađujući samo poslednji slučaj, ažurira API ključ na vrednost koju je naveo napadač.
|
* **Technique:** Koristeći alat poput Burp Suite, napadač kreira zahtev koji uključuje dva `api_key` parametra: jedan legitimni i jedan maliciozni. Server, obrađujući samo poslednju pojavu, ažurira API ključ na vrednost koju je naveo napadač.
|
||||||
* **Result:** Napadač dobija kontrolu nad funkcionalnošću API-ja žrtve, potencijalno pristupajući ili modifikujući privatne podatke bez odobrenja.
|
* **Result:** Napadač dobija kontrolu nad funkcionalnošću API-ja žrtve, potencijalno pristupajući ili modifikujući privatne podatke neovlašćeno.
|
||||||
|
|
||||||
Ovaj primer dodatno naglašava potrebu za sigurnim rukovanjem parametrima, posebno u funkcijama koje su kritične kao što je upravljanje API ključem.
|
Ovaj primer dodatno naglašava potrebu za sigurnim rukovanjem parametrima, posebno u funkcijama koje su kritične kao što je upravljanje API ključem.
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ Ovaj primer dodatno naglašava potrebu za sigurnim rukovanjem parametrima, poseb
|
||||||
|
|
||||||
Način na koji web tehnologije obrađuju duple HTTP parametre varira, utičući na njihovu podložnost HPP napadima:
|
Način na koji web tehnologije obrađuju duple HTTP parametre varira, utičući na njihovu podložnost HPP napadima:
|
||||||
|
|
||||||
* **Flask:** Usvaja prvu vrednost parametra koja se susreće, kao što je `a=1` u upitu `a=1&a=2`, prioritizujući inicijalni primerak nad kasnijim duplikatima.
|
* **Flask:** Usvaja prvu vrednost parametra koja se susreće, kao što je `a=1` u upitu `a=1&a=2`, prioritetizujući inicijalnu instancu nad kasnijim duplikatima.
|
||||||
* **PHP (na Apache HTTP Server-u):** Nasuprot tome, prioritizuje poslednju vrednost parametra, birajući `a=2` u datom primeru. Ovo ponašanje može nenamerno olakšati HPP eksploate tako što poštuje manipulisan parametar napadača umesto originalnog.
|
* **PHP (na Apache HTTP Server-u):** Nasuprot tome, prioritetizuje poslednju vrednost parametra, birajući `a=2` u datom primeru. Ovo ponašanje može nenamerno olakšati HPP eksploate tako što poštuje manipulisan parametar napadača umesto originalnog.
|
||||||
|
|
||||||
## Parameter pollution by technology
|
## Parameter pollution by technology
|
||||||
|
|
||||||
|
@ -76,10 +76,10 @@ There results were taken from [https://medium.com/@0xAwali/http-parameter-pollut
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1255).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1255).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. Ignorišite sve nakon %00 u imenu parametra.
|
1. Ignoriši sve nakon %00 u imenu parametra.
|
||||||
2. Rukujte name\[] kao niz.
|
2. Rukuj sa name\[] kao nizom.
|
||||||
3. \_GET ne znači GET metodu.
|
3. \_GET ne znači GET metodu.
|
||||||
4. Preferirajte poslednji parametar.
|
4. Preferiraj poslednji parametar.
|
||||||
|
|
||||||
### Ruby 3.3.5 and WEBrick 1.8.2
|
### Ruby 3.3.5 and WEBrick 1.8.2
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ There results were taken from [https://medium.com/@0xAwali/http-parameter-pollut
|
||||||
|
|
||||||
1. Koristi & i ; delimitere za razdvajanje parametara.
|
1. Koristi & i ; delimitere za razdvajanje parametara.
|
||||||
2. Ne prepoznaje name\[].
|
2. Ne prepoznaje name\[].
|
||||||
3. Preferirajte prvi parametar.
|
3. Preferiraj prvi parametar.
|
||||||
|
|
||||||
### Spring MVC 6.0.23 AND Apache Tomcat 10.1.30 <a href="#dd68" id="dd68"></a>
|
### Spring MVC 6.0.23 AND Apache Tomcat 10.1.30 <a href="#dd68" id="dd68"></a>
|
||||||
|
|
||||||
|
@ -95,8 +95,8 @@ There results were taken from [https://medium.com/@0xAwali/http-parameter-pollut
|
||||||
|
|
||||||
1. POST RequestMapping == PostMapping & GET RequestMapping == GetMapping.
|
1. POST RequestMapping == PostMapping & GET RequestMapping == GetMapping.
|
||||||
2. POST RequestMapping & PostMapping prepoznaju name[].
|
2. POST RequestMapping & PostMapping prepoznaju name[].
|
||||||
3. Preferirajte name ako name i name[] postoje.
|
3. Preferiraj name ako name i name[] postoje.
|
||||||
4. Konkatenirajte parametre npr. first,last.
|
4. Konkateniraj parametre npr. first,last.
|
||||||
5. POST RequestMapping & PostMapping prepoznaju upitni parametar sa Content-Type.
|
5. POST RequestMapping & PostMapping prepoznaju upitni parametar sa Content-Type.
|
||||||
|
|
||||||
### **NodeJS** 20.17.0 **AND** Express 4.21.0 <a href="#id-6d72" id="id-6d72"></a>
|
### **NodeJS** 20.17.0 **AND** Express 4.21.0 <a href="#id-6d72" id="id-6d72"></a>
|
||||||
|
@ -104,57 +104,142 @@ There results were taken from [https://medium.com/@0xAwali/http-parameter-pollut
|
||||||
<figure><img src="../.gitbook/assets/image (1259).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1259).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. Prepoznaje name[].
|
1. Prepoznaje name[].
|
||||||
2. Konkatenirajte parametre npr. first,last.
|
2. Konkateniraj parametre npr. first,last.
|
||||||
|
|
||||||
### GO 1.22.7 <a href="#id-63dc" id="id-63dc"></a>
|
### GO 1.22.7 <a href="#id-63dc" id="id-63dc"></a>
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1260).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1260).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. NE prepoznaje name[].
|
1. NE prepoznaje name[].
|
||||||
2. Preferirajte prvi parametar.
|
2. Preferiraj prvi parametar.
|
||||||
|
|
||||||
### Python 3.12.6 AND Werkzeug 3.0.4 AND Flask 3.0.3 <a href="#b853" id="b853"></a>
|
### Python 3.12.6 AND Werkzeug 3.0.4 AND Flask 3.0.3 <a href="#b853" id="b853"></a>
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1261).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1261).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. NE prepoznaje name[].
|
1. NE prepoznaje name[].
|
||||||
2. Preferirajte prvi parametar.
|
2. Preferiraj prvi parametar.
|
||||||
|
|
||||||
### Python 3.12.6 AND Django 4.2.15 <a href="#id-8079" id="id-8079"></a>
|
### Python 3.12.6 AND Django 4.2.15 <a href="#id-8079" id="id-8079"></a>
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1262).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1262).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. NE prepoznaje name[].
|
1. NE prepoznaje name[].
|
||||||
2. Preferirajte poslednji parametar.
|
2. Preferiraj poslednji parametar.
|
||||||
|
|
||||||
### Python 3.12.6 AND Tornado 6.4.1 <a href="#id-2ad8" id="id-2ad8"></a>
|
### Python 3.12.6 AND Tornado 6.4.1 <a href="#id-2ad8" id="id-2ad8"></a>
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1263).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1263).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg</a></p></figcaption></figure>
|
||||||
|
|
||||||
1. NE prepoznaje name[].
|
1. NE prepoznaje name[].
|
||||||
2. Preferirajte poslednji parametar.
|
2. Preferiraj poslednji parametar.
|
||||||
|
|
||||||
## References
|
## JSON Injection
|
||||||
|
|
||||||
|
### Duplicate keys
|
||||||
|
```ini
|
||||||
|
obj = {"test": "user", "test": "admin"}
|
||||||
|
```
|
||||||
|
Frontend može verovati prvoj pojavi, dok backend koristi drugu pojavu ključa.
|
||||||
|
|
||||||
|
### Sudar ključeva: Skraćivanje karaktera i komentari
|
||||||
|
|
||||||
|
Određeni karakteri neće biti ispravno interpretirani od strane frontenda, ali backend će ih interpretirati i koristiti te ključeve, što može biti korisno za **obići određena ograničenja**:
|
||||||
|
```json
|
||||||
|
{"test": 1, "test\[raw \x0d byte]": 2}
|
||||||
|
{"test": 1, "test\ud800": 2}
|
||||||
|
{"test": 1, "test"": 2}
|
||||||
|
{"test": 1, "te\st": 2}
|
||||||
|
```
|
||||||
|
Napomena kako u ovim slučajevima frontend može misliti da je `test == 1`, dok backend može misliti da je `test == 2`.
|
||||||
|
|
||||||
|
Ovo se takođe može koristiti za zaobilaženje ograničenja vrednosti kao što su:
|
||||||
|
```json
|
||||||
|
{"role": "administrator\[raw \x0d byte]"}
|
||||||
|
{"role":"administrator\ud800"}
|
||||||
|
{"role": "administrator""}
|
||||||
|
{"role": "admini\strator"}
|
||||||
|
```
|
||||||
|
### **Korišćenje skraćivanja komentara**
|
||||||
|
|
||||||
|
{% code overflow="wrap" %}
|
||||||
|
```ini
|
||||||
|
obj = {"description": "Duplicate with comments", "test": 2, "extra": /*, "test": 1, "extra2": */}
|
||||||
|
```
|
||||||
|
{% endcode %}
|
||||||
|
|
||||||
|
Ovde ćemo koristiti serializer iz svakog parsera da bismo videli njegov odgovarajući izlaz.
|
||||||
|
|
||||||
|
Serializer 1 (npr., GoLangova GoJay biblioteka) će proizvesti:
|
||||||
|
|
||||||
|
* `description = "Duplikat sa komentarima"`
|
||||||
|
* `test = 2`
|
||||||
|
* `extra = ""`
|
||||||
|
|
||||||
|
Serializer 2 (npr., Java-ova JSON-iterator biblioteka) će proizvesti:
|
||||||
|
|
||||||
|
* `description = "Duplikat sa komentarima"`
|
||||||
|
* `extra = "/*"`
|
||||||
|
* `extra2 = "*/"`
|
||||||
|
* `test = 1`
|
||||||
|
|
||||||
|
Alternativno, jednostavna upotreba komentara može takođe biti efikasna:
|
||||||
|
```ini
|
||||||
|
obj = {"description": "Comment support", "test": 1, "extra": "a"/*, "test": 2, "extra2": "b"*/}
|
||||||
|
```
|
||||||
|
Java-ova GSON biblioteka:
|
||||||
|
```json
|
||||||
|
{"description":"Comment support","test":1,"extra":"a"}
|
||||||
|
```
|
||||||
|
Rubyjeva simdjson biblioteka:
|
||||||
|
```json
|
||||||
|
{"description":"Comment support","test":2,"extra":"a","extra2":"b"}
|
||||||
|
```
|
||||||
|
### **Nepodudarnost Prioriteta: Deserijalizacija naspram Serijalizacije**
|
||||||
|
```ini
|
||||||
|
obj = {"test": 1, "test": 2}
|
||||||
|
|
||||||
|
obj["test"] // 1
|
||||||
|
obj.toString() // {"test": 2}
|
||||||
|
```
|
||||||
|
### Float and Integer
|
||||||
|
|
||||||
|
Broj
|
||||||
|
```undefined
|
||||||
|
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||||
|
```
|
||||||
|
može se dekodirati u više reprezentacija, uključujući:
|
||||||
|
```undefined
|
||||||
|
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||||
|
9.999999999999999e95
|
||||||
|
1E+96
|
||||||
|
0
|
||||||
|
9223372036854775807
|
||||||
|
```
|
||||||
|
Koje bi mogle stvoriti nesuglasice
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
|
||||||
* [https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
|
* [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://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://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)
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Učite i vežbajte AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Učite i vežbajte GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Podržite HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Proverite [**planove pretplate**](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)**.**
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@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.
|
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
Loading…
Reference in a new issue