Questo concetto (tipicamente usato come parte di un attacco) è spesso chiamato "pivot", come in "Ho usato la funzione di inoltro delle richieste del server per ruotare da Internet a localhost". Non c'è modo di "falsificare" il traffico localhost su TCP; TCP richiede un indirizzo IP di origine valido per completare l'handshake. Su UDP, potresti gestirlo se l'applicazione è in ascolto su interfacce esterne ma stai rifiutando qualsiasi connessione che non proviene dall'host locale - questo è diverso dall'ascolto solo sull'interfaccia di loopback, che è quello che faresti normalmente se volevo solo il traffico locale, ma non ho mai sentito parlare di questo approccio, probabilmente perché è un modo stupido di configurare un server.
Esistono diversi modi per ruotare una connessione di rete a una rete locale (interna) o a localhost (che è essenzialmente un extra-piccolo - una sola macchina - rete locale). Facciamo un esempio banale e forzato: anche la macchina che esegue il server con connessioni locali esegue un server proxy aperto esposto a Internet. Ti connetti al proxy e dici di connetterti a 127.0.0.1 sulla porta desiderata. Il server proxy invia tale richiesta per tuo conto e si connette al server limitato. Il proxy inoltra quindi il traffico al server limitato e il traffico verso di te.
Ci sono alcuni esempi meno fatti che potrebbero funzionare. Gli attacchi XML External Entity sono probabilmente i più comuni e possono essere usati per fare vari tipi di richieste , ad esempio HTTP, HTTPS, FTP ed eventualmente altri, a un host e una porta di tua scelta (relativamente al parser XML vulnerabile, che di solito è in un server web, quindi richiedere "localhost" nella XXE renderebbe il server web connettersi a se stesso sul protocollo specificato sulla porta). Questo di solito non ti dà traffico interattivo, ma è utile per le richieste semplici e di solito può essere fatto tutte le volte che lo desideri (questo può essere usato anche per effettuare una scansione di una rete interna per determinati tipi di server). Qualsiasi cosa che permetta a un programma esterno di fare una richiesta arbitraria per conto dell'utente esterno può essere sfruttata per inviare una richiesta ai servizi di localhost del server.
Un'altra opzione che potrebbe a volte essere rilevante è usare questo tipo di attacco per ottenere privilegi su un host dopo averlo compromesso e aver ottenuto l'esecuzione arbitraria di codice in un ambiente con privilegi limitati. Immagina, ad esempio, un server Web sandbox. Si compromette il server e si inserisce una shell inversa, consentendo di eseguire il codice all'interno della sandbox del server. Quindi si apre una connessione di rete a un altro servizio sullo stesso server (ma al di fuori della sandbox del server Web) che è in ascolto su localhost ma è altrimenti non autenticato. Se la sandbox non ti limita a farlo e il server di destinazione espone direttamente qualcosa che non è visibile all'interno della sandbox, hai semplicemente guadagnato ulteriori privilegi.