mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/pentesting-web/hacking-with-cookies/README.md'] to it
This commit is contained in:
		
							parent
							
								
									7990bc926f
								
							
						
					
					
						commit
						9e530418d1
					
				@ -12,7 +12,7 @@ La data di scadenza di un cookie è determinata dall'attributo `Expires`. Al con
 | 
			
		||||
 | 
			
		||||
### Domain
 | 
			
		||||
 | 
			
		||||
Gli host che ricevono un cookie sono specificati dall'attributo `Domain`. Per impostazione predefinita, questo è impostato sull'host che ha emesso il cookie, senza includere i suoi sottodomini. Tuttavia, quando l'attributo `Domain` è esplicitamente impostato, comprende anche i sottodomini. Questo rende la specifica dell'attributo `Domain` un'opzione meno restrittiva, utile per scenari in cui è necessario condividere cookie tra sottodomini. Ad esempio, impostare `Domain=mozilla.org` rende i cookie accessibili sui suoi sottodomini come `developer.mozilla.org`.
 | 
			
		||||
Gli host che ricevono un cookie sono specificati dall'attributo `Domain`. Per impostazione predefinita, questo è impostato sull'host che ha emesso il cookie, escludendo i suoi sottodomini. Tuttavia, quando l'attributo `Domain` è esplicitamente impostato, comprende anche i sottodomini. Questo rende la specifica dell'attributo `Domain` un'opzione meno restrittiva, utile per scenari in cui è necessario condividere i cookie tra sottodomini. Ad esempio, impostare `Domain=mozilla.org` rende i cookie accessibili sui suoi sottodomini come `developer.mozilla.org`.
 | 
			
		||||
 | 
			
		||||
### Path
 | 
			
		||||
 | 
			
		||||
@ -141,7 +141,7 @@ Questo attacco costringe un utente autenticato a eseguire azioni indesiderate su
 | 
			
		||||
 | 
			
		||||
### Empty Cookies
 | 
			
		||||
 | 
			
		||||
(Controlla ulteriori dettagli nella [ricerca originale](https://blog.ankursundara.com/cookie-bugs/)) I browser consentono la creazione di cookie senza nome, il che può essere dimostrato tramite JavaScript come segue:
 | 
			
		||||
(Controlla ulteriori dettagli nella [ricerca originale](https://blog.ankursundara.com/cookie-bugs/)) I browser consentono la creazione di cookie senza un nome, il che può essere dimostrato tramite JavaScript come segue:
 | 
			
		||||
```js
 | 
			
		||||
document.cookie = "a=v1"
 | 
			
		||||
document.cookie = "=test value;" // Setting an empty named cookie
 | 
			
		||||
@ -204,26 +204,26 @@ document.cookie = `param1="start`;
 | 
			
		||||
// any cookies inside the sandwich will be placed into param1 value server-side
 | 
			
		||||
document.cookie = `param2=end";`;
 | 
			
		||||
```
 | 
			
		||||
### Bypass dei WAF
 | 
			
		||||
### WAF bypasses
 | 
			
		||||
 | 
			
		||||
#### Cookies $version
 | 
			
		||||
 | 
			
		||||
Controlla la sezione precedente.
 | 
			
		||||
 | 
			
		||||
#### Analisi del valore di bypass con codifica di stringa quotata
 | 
			
		||||
#### Bypassing value analysis with quoted-string encoding
 | 
			
		||||
 | 
			
		||||
Questo parsing indica di disattivare i valori scappati all'interno dei cookie, quindi "\a" diventa "a". Questo può essere utile per bypassare i WAF come:
 | 
			
		||||
Questo parsing indica di disattivare l'escape dei valori all'interno dei cookie, quindi "\a" diventa "a". Questo può essere utile per bypassare i WAF come:
 | 
			
		||||
 | 
			
		||||
- `eval('test') => vietato`
 | 
			
		||||
- `"\e\v\a\l\(\'\t\e\s\t\'\)" => consentito`
 | 
			
		||||
- `eval('test') => forbidden`
 | 
			
		||||
- `"\e\v\a\l\(\'\t\e\s\t\'\)" => allowed`
 | 
			
		||||
 | 
			
		||||
#### Bypass delle blacklist dei nomi dei cookie
 | 
			
		||||
#### Bypassing cookie-name blocklists
 | 
			
		||||
 | 
			
		||||
Nell'RFC2109 è indicato che una **virgola può essere usata come separatore tra i valori dei cookie**. Ed è anche possibile aggiungere **spazi e tabulazioni prima e dopo il segno di uguale**. Pertanto, un cookie come `$Version=1; foo=bar, abc = qux` non genera il cookie `"foo":"bar, admin = qux"` ma i cookie `foo":"bar"` e `"admin":"qux"`. Nota come vengono generati 2 cookie e come "admin" ha rimosso lo spazio prima e dopo il segno di uguale.
 | 
			
		||||
Nell'RFC2109 è indicato che una **virgola può essere usata come separatore tra i valori dei cookie**. Ed è anche possibile aggiungere **spazi e tabulazioni prima e dopo il segno di uguale**. Pertanto, un cookie come `$Version=1; foo=bar, abc = qux` non genera il cookie `"foo":"bar, admin = qux"` ma i cookie `foo":"bar"` e `"admin":"qux"`. Nota come vengono generati 2 cookie e come l'admin ha rimosso lo spazio prima e dopo il segno di uguale.
 | 
			
		||||
 | 
			
		||||
#### Bypass dell'analisi del valore con la suddivisione dei cookie
 | 
			
		||||
#### Bypassing value analysis with cookie splitting
 | 
			
		||||
 | 
			
		||||
Infine, diverse backdoor si unirebbero in una stringa diversi cookie passati in intestazioni di cookie diverse come in:
 | 
			
		||||
Infine, diverse backdoor si unirebbero in una stringa diversi cookie passati in intestazioni di cookie differenti come in:
 | 
			
		||||
```
 | 
			
		||||
GET / HTTP/1.1
 | 
			
		||||
Host: example.com
 | 
			
		||||
@ -241,7 +241,7 @@ Resulting cookie: name=eval('test//, comment') => allowed
 | 
			
		||||
 | 
			
		||||
#### **Controlli di base**
 | 
			
		||||
 | 
			
		||||
- Il **cookie** è **sempre** lo **stesso** ogni volta che ti **accedi**.
 | 
			
		||||
- Il **cookie** è lo **stesso** ogni volta che ti **accedi**.
 | 
			
		||||
- Disconnettiti e prova a usare lo stesso cookie.
 | 
			
		||||
- Prova ad accedere con 2 dispositivi (o browser) allo stesso account usando lo stesso cookie.
 | 
			
		||||
- Controlla se il cookie contiene informazioni e prova a modificarlo.
 | 
			
		||||
@ -269,9 +269,9 @@ padBuster http://web.com/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28E
 | 
			
		||||
```
 | 
			
		||||
Padbuster farà diversi tentativi e ti chiederà quale condizione è la condizione di errore (quella che non è valida).
 | 
			
		||||
 | 
			
		||||
Poi inizierà a decrittografare il cookie (potrebbe richiedere diversi minuti).
 | 
			
		||||
Poi inizierà a decrittografare il cookie (potrebbe richiedere diversi minuti)
 | 
			
		||||
 | 
			
		||||
Se l'attacco è stato eseguito con successo, allora potresti provare a crittografare una stringa a tua scelta. Ad esempio, se desideri **encrypt** **user=administrator**.
 | 
			
		||||
Se l'attacco è stato eseguito con successo, allora potresti provare a crittografare una stringa a tua scelta. Ad esempio, se desideri **encrypt** **user=administrator**
 | 
			
		||||
```
 | 
			
		||||
padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user