mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/pentesting-web/websocket-attacks.md'] to it
This commit is contained in:
		
							parent
							
								
									a496874a0f
								
							
						
					
					
						commit
						6379f9adf9
					
				@ -35,7 +35,7 @@ Sec-WebSocket-Accept: 0FFP+2nmNIf/h+4BP36k9uzrYGk=
 | 
			
		||||
```
 | 
			
		||||
La connessione rimane aperta per lo scambio di messaggi in entrambe le direzioni una volta stabilita.
 | 
			
		||||
 | 
			
		||||
**Punti chiave del WebSocket Handshake:**
 | 
			
		||||
**Punti chiave del handshake WebSocket:**
 | 
			
		||||
 | 
			
		||||
- Gli header `Connection` e `Upgrade` segnalano l'inizio di un handshake WebSocket.
 | 
			
		||||
- L'header `Sec-WebSocket-Version` indica la versione del protocollo WebSocket desiderata, di solito `13`.
 | 
			
		||||
@ -68,27 +68,32 @@ Puoi utilizzare il **tool** [**https://github.com/PalindromeLabs/STEWS**](https:
 | 
			
		||||
### Strumenti di Debug per Websocket
 | 
			
		||||
 | 
			
		||||
- **Burp Suite** supporta la comunicazione MitM dei websockets in modo molto simile a come lo fa per la comunicazione HTTP regolare.
 | 
			
		||||
- L'**estensione** [**socketsleuth**](https://github.com/snyk/socketsleuth) **per Burp Suite** ti permetterà di gestire meglio le comunicazioni Websocket in Burp ottenendo la **cronologia**, impostando **regole di intercettazione**, utilizzando regole di **corrispondenza e sostituzione**, usando **Intruder** e **AutoRepeater.**
 | 
			
		||||
- L'**estensione Burp Suite** [**socketsleuth**](https://github.com/snyk/socketsleuth) **ti permetterà di gestire meglio le comunicazioni Websocket in Burp ottenendo la** **storia**, impostando **regole di intercettazione**, utilizzando **regole di corrispondenza e sostituzione**, usando **Intruder** e **AutoRepeater.**
 | 
			
		||||
- [**WSSiP**](https://github.com/nccgroup/wssip)**:** Abbreviazione di "**WebSocket/Socket.io Proxy**", questo strumento, scritto in Node.js, fornisce un'interfaccia utente per **catturare, intercettare, inviare messaggi personalizzati** e visualizzare tutte le comunicazioni WebSocket e Socket.IO tra il client e il server.
 | 
			
		||||
- [**wsrepl**](https://github.com/doyensec/wsrepl) è un **REPL websocket interattivo** progettato specificamente per il penetration testing. Fornisce un'interfaccia per osservare **i messaggi websocket in arrivo e inviarne di nuovi**, con un framework facile da usare per **automatizzare** questa comunicazione.
 | 
			
		||||
- [**https://websocketking.com/**](https://websocketking.com/) è un **web per comunicare** con altri web utilizzando **websockets**.
 | 
			
		||||
- [**https://hoppscotch.io/realtime/websocket**](https://hoppscotch.io/realtime/websocket) tra altri tipi di comunicazioni/protocolli, fornisce un **web per comunicare** con altri web utilizzando **websockets.**
 | 
			
		||||
 | 
			
		||||
## Decrittazione del Websocket
 | 
			
		||||
 | 
			
		||||
- [https://github.com/Anof-cyber/PyCript](https://github.com/Anof-cyber/PyCript)
 | 
			
		||||
- [https://github.com/Anof-cyber/PyCript-WebSocket/](https://github.com/Anof-cyber/PyCript-WebSocket/)
 | 
			
		||||
 | 
			
		||||
## Laboratorio Websocket
 | 
			
		||||
 | 
			
		||||
In [**Burp-Suite-Extender-Montoya-Course**](https://github.com/federicodotta/Burp-Suite-Extender-Montoya-Course) hai un codice per lanciare un web utilizzando websockets e in [**questo post**](https://security.humanativaspa.it/extending-burp-suite-for-fun-and-profit-the-montoya-way-part-3/) puoi trovare una spiegazione.
 | 
			
		||||
 | 
			
		||||
## Hijacking WebSocket Cross-site (CSWSH)
 | 
			
		||||
 | 
			
		||||
**L'hijacking WebSocket cross-site**, noto anche come **hijacking WebSocket cross-origin**, è identificato come un caso specifico di **[Cross-Site Request Forgery (CSRF)](csrf-cross-site-request-forgery.md)** che colpisce i handshake WebSocket. Questa vulnerabilità si verifica quando gli handshake WebSocket si autenticano esclusivamente tramite **HTTP cookies** senza **token CSRF** o misure di sicurezza simili.
 | 
			
		||||
**L'hijacking WebSocket cross-site**, noto anche come **hijacking WebSocket cross-origin**, è identificato come un caso specifico di **[Cross-Site Request Forgery (CSRF)](csrf-cross-site-request-forgery.md)** che colpisce i handshake WebSocket. Questa vulnerabilità si verifica quando i handshake WebSocket si autenticano esclusivamente tramite **cookie HTTP** senza **token CSRF** o misure di sicurezza simili.
 | 
			
		||||
 | 
			
		||||
Gli attaccanti possono sfruttare questo ospitando una **pagina web malevola** che avvia una connessione WebSocket cross-site a un'applicazione vulnerabile. Di conseguenza, questa connessione viene trattata come parte della sessione della vittima con l'applicazione, sfruttando la mancanza di protezione CSRF nel meccanismo di gestione delle sessioni.
 | 
			
		||||
Gli attaccanti possono sfruttare questo ospitando una **pagina web malevola** che avvia una connessione WebSocket cross-site a un'applicazione vulnerabile. Di conseguenza, questa connessione è trattata come parte della sessione della vittima con l'applicazione, sfruttando la mancanza di protezione CSRF nel meccanismo di gestione delle sessioni.
 | 
			
		||||
 | 
			
		||||
### Attacco Semplice
 | 
			
		||||
 | 
			
		||||
Nota che quando si **stabilisce** una connessione **websocket**, il **cookie** viene **inviato** al server. Il **server** potrebbe utilizzarlo per **relazionare** ogni **singolo** **utente** con la sua **sessione websocket** basata sul cookie inviato.
 | 
			
		||||
 | 
			
		||||
Quindi, se per **esempio** il **server websocket** **invia indietro la cronologia della conversazione** di un utente se viene inviato un msg con "**READY"**, allora un **semplice XSS** stabilendo la connessione (il **cookie** sarà **inviato** **automaticamente** per autorizzare l'utente vittima) **inviando** "**READY**" sarà in grado di **recuperare** la cronologia della **conversazione**.
 | 
			
		||||
Quindi, se per **esempio** il **server websocket** **restituisce la storia della conversazione** di un utente se viene inviato un msg con "**READY"**, allora un **semplice XSS** stabilendo la connessione (il **cookie** sarà **inviato** **automaticamente** per autorizzare l'utente vittima) **inviando** "**READY**" sarà in grado di **recuperare** la storia della **conversazione**.
 | 
			
		||||
```html
 | 
			
		||||
<script>
 | 
			
		||||
websocket = new WebSocket('wss://your-websocket-URL')
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user