Translated ['src/pentesting-web/hacking-with-cookies/README.md'] to af

This commit is contained in:
Translator 2025-05-18 03:21:52 +00:00
parent 29c630d38b
commit 3c3f361f3d

View File

@ -34,9 +34,9 @@ Wanneer twee koekies dieselfde naam het, word die een wat gekies word om te stuu
Onthou, terwyl jy koekies konfigureer, kan die begrip van hierdie attribuut help om te verseker dat hulle soos verwag oor verskillende scenario's optree.
| **Versoektipe** | **Voorbeeldkode** | **Koekies Gestuur Wanneer** |
| **Versoek tipe** | **Voorbeeld kode** | **Koekies gestuur wanneer** |
| ---------------- | ---------------------------------- | --------------------- |
| Skakel | \<a href="...">\</a> | NotSet\*, Lax, None |
| Skakel | \<a href="...">\</a> | NotSet\*, Lax, None |
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
| Vorm GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
| Vorm POST | \<form method="POST" action="..."> | NotSet\*, None |
@ -45,10 +45,10 @@ Onthou, terwyl jy koekies konfigureer, kan die begrip van hierdie attribuut help
| Beeld | \<img src="..."> | NetSet\*, None |
Tabel van [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) en effens gewysig.\
'n Koekie met _**SameSite**_ attribuut sal **CSRF-aanvalle verminder** waar 'n ingelogde sessie nodig is.
'n Koekie met _**SameSite**_ attribuut sal **CSRF-aanvalle** **verlig** waar 'n ingelogde sessie nodig is.
**\*Let daarop dat vanaf Chrome80 (feb/2019) die standaard gedrag van 'n koekie sonder 'n koekie samesite** **attribuut sal lax wees** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
Let daarop dat tydelik, na die toepassing van hierdie verandering, die **koekies sonder 'n SameSite** **beleid** in Chrome sal **behandel word as Geen** gedurende die **eerste 2 minute en dan as Lax vir topvlak kruis-web POST versoek.**
Let daarop dat tydelik, na die toepassing van hierdie verandering, die **koekies sonder 'n SameSite** **beleid** in Chrome sal **as Geen** behandel word gedurende die **eerste 2 minute en dan as Lax vir topvlak kruis-web POST versoek.**
## Koekies Vlaggies
@ -60,7 +60,7 @@ Dit verhoed dat die **klient** toegang tot die koekie het (Via **Javascript** by
- As die bladsy **die koekies as die antwoord** van 'n versoek stuur (byvoorbeeld in 'n **PHPinfo** bladsy), is dit moontlik om die XSS te misbruik om 'n versoek na hierdie bladsy te stuur en **die koekies** uit die antwoord te **steel** (kyk 'n voorbeeld in [https://blog.hackcommander.com/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://blog.hackcommander.com/posts/2022/11/12/bypass-httponly-via-php-info-page/)).
- Dit kan omseil word met **TRACE** **HTTP** versoeke aangesien die antwoord van die bediener (as hierdie HTTP metode beskikbaar is) die koekies wat gestuur is, sal weerspieël. Hierdie tegniek word **Cross-Site Tracking** genoem.
- Hierdie tegniek word vermy deur **moderne blaaiers deur nie toe te laat om 'n TRACE** versoek van JS te stuur. Daar is egter sekere omseilings in spesifieke sagteware gevind, soos om `\r\nTRACE` in plaas van `TRACE` na IE6.0 SP2 te stuur.
- Hierdie tegniek word vermy deur **moderne blaaiers deur nie toe te laat om 'n TRACE** versoek van JS te stuur nie. Daar is egter sekere omseilings in spesifieke sagteware gevind, soos om `\r\nTRACE` in plaas van `TRACE` na IE6.0 SP2 te stuur.
- 'n Ander manier is die uitbuiting van nul/dag kwesbaarhede van die blaaiers.
- Dit is moontlik om **HttpOnly koekies** te oorskry deur 'n Koekie Jar oorgeloop aanval uit te voer:
@ -101,7 +101,7 @@ Of in PHP was dit moontlik om **ander karakters aan die begin** van die koekie n
As 'n pasgemaakte koekie sensitiewe data bevat, kyk dit (veral as jy 'n CTF speel), aangesien dit kwesbaar mag wees.
### Dekodering en Manipulasie van Koekies
### Dekodering en Manipulering van Koekies
Sensitiewe data wat in koekies ingebed is, moet altyd ondersoek word. Koekies wat in Base64 of soortgelyke formate gekodeer is, kan dikwels gedekodeer word. Hierdie kwesbaarheid laat aanvallers toe om die koekie se inhoud te verander en ander gebruikers na te boots deur hul gewysigde data weer in die koekie te kodeer.
@ -111,7 +111,7 @@ Hierdie aanval behels die steel van 'n gebruiker se koekie om ongeoorloofde toeg
### Sessiefiksasie
In hierdie scenario bedrieg 'n aanvaller 'n slagoffer om 'n spesifieke koekie te gebruik om in te log. As die toepassing nie 'n nuwe koekie toeken nie wanneer daar ingelog word, kan die aanvaller, wat die oorspronklike koekie besit, die slagoffer naboots. Hierdie tegniek staat op die slagoffer wat inlog met 'n koekie wat deur die aanvaller verskaf is.
In hierdie scenario bedrieg 'n aanvaller 'n slagoffer om 'n spesifieke koekie te gebruik om in te log. As die toepassing nie 'n nuwe koekie toeken nie wanneer daar ingelog word, kan die aanvaller, wat die oorspronklike koekie besit, die slagoffer naboots. Hierdie tegniek berus op die slagoffer wat inlog met 'n koekie wat deur die aanvaller verskaf is.
As jy 'n **XSS in 'n subdomein** gevind het of jy **beheer 'n subdomein**, lees:
@ -133,7 +133,7 @@ cookie-tossing.md
Klik op die vorige skakel om toegang te verkry tot 'n bladsy wat moontlike gebreke in JWT verduidelik.
JSON Web Tokens (JWT) wat in koekies gebruik word, kan ook kwesbaarhede hê. Vir diepgaande inligting oor potensiële gebreke en hoe om dit te benut, word dit aanbeveel om die gekoppelde dokument oor die hack van JWT te raadpleeg.
JSON Web Tokens (JWT) wat in koekies gebruik word, kan ook kwesbaarhede hê. Vir diepgaande inligting oor potensiële gebreke en hoe om dit te benut, word dit aanbeveel om die gekoppelde dokument oor die hacking van JWT te raadpleeg.
### Kruis-web Versoek Forgery (CSRF)
@ -155,7 +155,7 @@ document.cookie = `${name}=${value}`
setCookie("", "a=b") // Setting the empty cookie modifies another cookie's value
```
Dit lei daartoe dat die blaaiert 'n koekie-header stuur wat deur elke webbediener geïnterpreteer word as 'n koekie met die naam `a` en 'n waarde `b`.
Dit lei daartoe dat die blaaiert 'n koekie-kop stuur wat deur elke webbediener geïnterpreteer word as 'n koekie met die naam `a` en 'n waarde `b`.
#### Chrome Fout: Unicode Surrogate Codepoint Probleem
@ -167,13 +167,13 @@ Dit lei tot `document.cookie` wat 'n leë string uitset, wat permanente korrupsi
#### Koekie Smuggling As gevolg van Parsing Probleme
(Kyk na verdere besonderhede in die [oorspronklike navorsing](https://blog.ankursundara.com/cookie-bugs/)) Verskeie webbedieners, insluitend dié van Java (Jetty, TomCat, Undertow) en Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), hanteer koekie stringe verkeerd as gevolg van verouderde RFC2965 ondersteuning. Hulle lees 'n dubbel-aanhaling koekiewaarde as 'n enkele waarde, selfs al sluit dit puntkomma's in, wat normaalweg sleutel-waarde pare moet skei:
(Kyk na verdere besonderhede in die [oorspronklike navorsing](https://blog.ankursundara.com/cookie-bugs/)) Verskeie webbedieners, insluitend dié van Java (Jetty, TomCat, Undertow) en Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), hanteer koekie stringe verkeerd as gevolg van verouderde RFC2965 ondersteuning. Hulle lees 'n dubbel-aanhaling koekiewaarde as 'n enkele waarde, selfs al sluit dit puntkommas in, wat normaalweg sleutel-waarde pare moet skei:
```
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
```
#### Koekie-inspuitingskw vulnerabilities
#### Koekie-inspuitingskwesbaarhede
(Kyk na verdere besonderhede in die [oorspronklike navorsing](https://blog.ankursundara.com/cookie-bugs/)) Die onkorrekte ontleding van koekies deur bedieners, veral Undertow, Zope, en dié wat Python se `http.cookie.SimpleCookie` en `http.cookie.BaseCookie` gebruik, skep geleenthede vir koekie-inspuitingsaanvalle. Hierdie bedieners slaag nie daarin om die begin van nuwe koekies behoorlik te begrens nie, wat dit vir aanvallers moontlik maak om koekies na te maak:
(Kyk na verdere besonderhede in die [oorspronklike navorsing](https://blog.ankursundara.com/cookie-bugs/)) Die onkorrekte ontleding van koekies deur bedieners, veral Undertow, Zope, en dié wat Python se `http.cookie.SimpleCookie` en `http.cookie.BaseCookie` gebruik, skep geleenthede vir koekie-inspuitingsaanvalle. Hierdie bedieners slaag nie daarin om die begin van nuwe koekies behoorlik te begrens nie, wat dit moontlik maak vir aanvallers om koekies na te maak:
- Undertow verwag 'n nuwe koekie onmiddellik na 'n aangehaalde waarde sonder 'n puntkomma.
- Zope soek 'n komma om die volgende koekie te begin ontleed.
@ -183,7 +183,7 @@ Hierdie kwesbaarheid is veral gevaarlik in webtoepassings wat op koekie-gebaseer
### Koekies $version
#### WAF Omspring
#### WAF Oorskryding
Volgens [**hierdie blogpos**](https://portswigger.net/research/bypassing-wafs-with-the-phantom-version-cookie), mag dit moontlik wees om die koekie-attribuut **`$Version=1`** te gebruik om die agtergrond 'n ou logika te laat gebruik om die koekie te ontleed as gevolg van die **RFC2109**. Boonop kan ander waardes soos **`$Domain`** en **`$Path`** gebruik word om die gedrag van die agtergrond met die koekie te verander.
@ -197,7 +197,7 @@ Volgens [**hierdie blogpos**](https://portswigger.net/research/stealing-httponly
- Dan sal die wettige koekie volgende in die volgorde kom
- **Skep 'n vals koekie wat die dubbele aanhalingstekens** binne sy waarde sluit
Op hierdie manier word die slagoffer koekie vasgevang binne die nuwe koekie weergawe 1 en sal dit weerspieël word wanneer dit weerspieël word.
Op hierdie manier word die slagofferkoekie in die nuwe koekie weergawe 1 vasgevang en sal dit weerspieël word wanneer dit weerspieël word.
```javascript
document.cookie = `$Version=1;`;
document.cookie = `param1="start`;
@ -217,13 +217,13 @@ Hierdie ontleding dui aan om ontsnapte waardes binne die koekies te ontvlug, sod
- `eval('test') => verbode`
- `"\e\v\a\l\(\'\t\e\s\t\'\)" => toegelaat`
#### Omseiling van koekie-naam bloklys
#### Omseiling van koekie-naam bloklyste
In die RFC2109 word aangedui dat 'n **komma as 'n skeidingsteken tussen koekiewaardes gebruik kan word**. En dit is ook moontlik om **spasies en tabulasies voor en na die gelykteken by te voeg**. Daarom genereer 'n koekie soos `$Version=1; foo=bar, abc = qux` nie die koekie `"foo":"bar, admin = qux"` nie, maar die koekies `foo":"bar"` en `"admin":"qux"`. Let op hoe 2 koekies gegenereer word en hoe admin die spasie voor en na die gelykteken verwyder is.
#### Omseiling van waarde-analise met koekie-skeiding
Laastens sou verskillende agterdeure in 'n string verskillende koekies saamvoeg wat in verskillende koekie-kopstukke deurgegee word soos in:
Laastens sou verskillende agterdeure in 'n string verskillende koekies saamvoeg wat in verskillende koekie-koptekste deurgegee word soos in:
```
GET / HTTP/1.1
Host: example.com
@ -244,9 +244,9 @@ Resulting cookie: name=eval('test//, comment') => allowed
- Die **koekie** is elke keer wanneer jy **aanmeld** die **dieselfde**.
- Meld uit en probeer om dieselfde koekie te gebruik.
- Probeer om met 2 toestelle (of blaaiers) na dieselfde rekening aan te meld met dieselfde koekie.
- Kontroleer of die koekie enige inligting bevat en probeer om dit te wysig.
- Kontroleer of die koekie enige inligting daarin het en probeer om dit te wysig.
- Probeer om verskeie rekeninge met amper dieselfde gebruikersnaam te skep en kyk of jy ooreenkomste kan sien.
- Kontroleer die "**onthou my**" opsie indien dit bestaan om te sien hoe dit werk. As dit bestaan en kwesbaar kan wees, gebruik altyd die koekie van **onthou my** sonder enige ander koekie.
- Kontroleer die "**onthou my**" opsie as dit bestaan om te sien hoe dit werk. As dit bestaan en kwesbaar kan wees, gebruik altyd die koekie van **onthou my** sonder enige ander koekie.
- Kontroleer of die vorige koekie werk selfs nadat jy die wagwoord verander.
#### **Geavanceerde koekie-aanvalle**
@ -254,7 +254,7 @@ Resulting cookie: name=eval('test//, comment') => allowed
As die koekie dieselfde bly (of amper) wanneer jy aanmeld, beteken dit waarskynlik dat die koekie verband hou met 'n veld van jou rekening (waarskynlik die gebruikersnaam). Dan kan jy:
- Probeer om baie **rekeninge** met gebruikersname wat baie **soortgelyk** is te skep en probeer om te **raai** hoe die algoritme werk.
- Probeer om die **gebruikersnaam te bruteforce**. As die koekie slegs as 'n verifikasiemetode vir jou gebruikersnaam stoor, kan jy 'n rekening met die gebruikersnaam "**Bmin**" skep en elke enkele **bit** van jou koekie **bruteforce** omdat een van die koekies wat jy sal probeer die een behoort aan "**admin**".
- Probeer om die **gebruikersnaam te bruteforce**. As die koekie slegs as 'n verifikasiemetode vir jou gebruikersnaam gestoor word, kan jy 'n rekening met die gebruikersnaam "**Bmin**" skep en elke enkele **bit** van jou koekie **bruteforce** omdat een van die koekies wat jy sal probeer die een behoort aan "**admin**".
- Probeer **Padding** **Oracle** (jy kan die inhoud van die koekie ontsleutel). Gebruik **padbuster**.
**Padding Oracle - Padbuster voorbeelde**
@ -267,7 +267,7 @@ padbuster http://web.com/index.php u7bvLewln6PJPSAbMb5pFfnCHSEd6olf 8 -cookies a
padBuster http://web.com/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6
7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6 8 -encoding 2
```
Padbuster sal verskeie pogings doen en jou vra watter voorwaarde die foutvoorwaarde is (die een wat nie geldig is nie).
Padbuster sal verskeie pogings aanwend en jou vra watter voorwaarde die foutvoorwaarde is (die een wat nie geldig is nie).
Dan sal dit begin om die koekie te ontsleutel (dit kan 'n paar minute neem).