PDA

View Full Version : [PHP] Variabile di sessione e protocollo RDP


Gregor
10-03-2010, 07:37
Ho una paginetta in rete raggiungibile da un ip tipo 192.168.x.x.
Se accedo alla suddetta paginetta da un Pc via remoto tramite Remote Desktop, ho modo di intercettare, tramite una variabile di sessione, un qualche parametro che mi confermi l'accesso tramite rdp appunto?
Ho provato con la variabile REMOTE_PORT, pensando di ritrovare la porta 3389 dell'RDP invece questo valore è diverso e cambia sempre! :confused:
Avete qualche altra idea?
Tnx! ;)

flx2000
10-03-2010, 10:33
La porta dell'host remoto (REMOTE_HOST) è normalmente un valore che viene incrementato ad ogni singola connessione, e non riconduce praticamente mai al protocollo utilizzato o al tipo di connessione effettuata.

La sola cosa che puoi fare è analizzare l'header della trasmissione per identificarne la tipologia, in modo da capire se si tratta o meno di una comunicazione RDP.

Gregor
10-03-2010, 10:59
La porta dell'host remoto (REMOTE_HOST) è normalmente un valore che viene incrementato ad ogni singola connessione, e non riconduce praticamente mai al protocollo utilizzato o al tipo di connessione effettuata.
Già me ne sono accorto...:(
Credevo potesse essermi utile...


La sola cosa che puoi fare è analizzare l'header della trasmissione per identificarne la tipologia, in modo da capire se si tratta o meno di una comunicazione RDP.
Interessante, mi daresti due dritte? ;)
Tnx!

flx2000
10-03-2010, 13:40
Interessante, mi daresti due dritte? ;)
Tnx!

Se hai un servizio in ascolto su una porta puoi quasi sempre identificare il tipo di protocollo, almeno se è un protocollo standardizzato.

In pratica, quando il tuo servizio riceve una connessione analizzi i primi byte che gli arrivano. Dando un'occhiata in giro troverai facilmente che qualsiasi connessione RDP inizia sempre con la stessa sequenza di byte, ergo puoi identificare una connessione di quel tipo ogni volta che arriva.

Per quanto riguarda i byte da aspettarsi ti consiglio di cercare l'RFC relativo all'RDP, che non dovrebbe essere difficile tra trovare su internet.

cionci
10-03-2010, 14:55
Per quanto riguarda i byte da aspettarsi ti consiglio di cercare l'RFC relativo all'RDP, che non dovrebbe essere difficile tra trovare su internet.
Remote Desktop e RFC credo che non vadano tanto d'accordo ;) Ovviamente è un protocollo proprietario. RDP nelle RFC è un altro protocollo.

Credo che convenga mettersi in ascolto con WireShark per vedere i primi byte inviati da client e da server.

flx2000
10-03-2010, 18:51
L'ho cercato al volo, parla di altro però potrebbe essere utile lo stesso: http://www.xatrix.org/article.php?s=1943

L'RDP (usandolo da Linux) l'ho ritenuto un protocollo aperto, implementato da applicazioni chiuse di Microsoft, e dunque mi sbagliavo. (Troppa buona fede? eheh)
Se non esiste un RFC allora conviene cercare altrove (sicuramente trovi qualcosa) o analizzare un tot di connessioni e vedere quali byte vengono sempre inviati all'inizio.