Stato HTTP 302 e successivo reindirizzamento [chiuso]

1

Ho inviato una richiesta HTTP GET a google.com e ottengo lo stato 302. Ora il percorso: url nell'intestazione http è un indirizzo http:// , invece di https. Quando il browser visita questo indirizzo, torno di nuovo a un reindirizzamento 302 ma con un indirizzo https nel campo posizione dell'intestazione http. Il browser quindi visita questo indirizzo e viene stabilita la connessione https. Anche l'IP del primo server che mi ha inviato un reindirizzamento 302 è diverso dal secondo reindirizzatore 302. Infine il server con il quale stabilisco una connessione https ha un ip differente.

La mia domanda è: perché non ottengo un reindirizzamento https nella prima risposta 302?

Inoltre, sto usando un programma che invia una richiesta HTML GET a un server e ottiene indietro la risposta. Come posso simulare questa catena di reindirizzamenti 302 per raggiungere il server finale che restituisce una pagina https?

Il programma prende come input ./execfile_name host_name page .

Ogni volta che fornisco il nome host google.com si connette allo stesso server (stesso IP). Come posso collegarlo al prossimo server della catena che porta a quello finale?

    
posta faraz khan 22.06.2015 - 12:47
fonte

1 risposta

-1

why do I not get a https redirect in the first 302 reply

Cattiva programmazione da parte di chiunque abbia progettato il sistema - il bobbing di https rende banale l'esecuzione di un attacco MITM sulla connessione.

How can I get it to connect to the next server in the chain leading to the final one

Usa un programma migliore. HTTP è ingannevolmente complesso. È possibile puntare un semplice adattatore socket sulla porta 80 su un server web, digitare 'GET / HTTP / 1.0 \ r \ n \ r \ n' e ottenere una risposta ragionevole nove volte su dieci, ma l'HTTP consente più materiale compex come codifica e reindirizzamenti a blocchi prima ancora di iniziare a prendere in considerazione la gestione delle sessioni e la prevenzione delle intrusioni.

Personalmente uso wget o arriccia dalla riga di comando (entrambi possono seguire automaticamente i reindirizzamenti) o libcurl in script / programmi.

    
risposta data 22.06.2015 - 17:35
fonte

Leggi altre domande sui tag