Leggere gli header HTTP e le pagine Web con Netcat

Con Netcat è possibile interagire direttamente con il protocollo HTTP. Questa interazione favorisce operazioni come l’analisi delle intestazioni oppure la contraffazione di campi, come per esempio lo User-Agent. Inoltre è possibile scaricare pagine web come con un browser.

Abbiamo visto in un altro articolo come sia possibile visualizzare gli header HTTP e stabilire il tipo di web server. Nell’articolo citato venivano presentati tre strumenti. L’esempio riferito a Netcat differiva dagli altri. Nella risposta il codice di errore non indicava 200 ma 301. In quell’esempio mancava un campo: Host.

Il campo Host viene utilizzato per specificare a quale host fa riferimento la risorsa richiesta. Può accadere infatti (è molto frequente a dire il vero) che un solo server ospiti diversi siti; in questo caso ad un unico indirizzo IP fanno riferimento diversi domini. Quindi è necessario specificare in modo dettagliato qual’è l’indirizzo preciso. Il campo Host dell’header HTTP serve proprio a questo scopo. Se un web server supporta il virtual hosting e ospita diversi siti, alla richiesta di una risorsa senza il campo Host dichiarato non saprà come rispondere e restituirà un messaggio di errore, nel caso dell’esempio dell’altro articolo codice 301.

Quindi per ottenere gli header (o una pagina) dal web tramite Netcat è necessario inserire sempre il campo Host.

Per semplificare le operazioni di interrogazione è utile crearsi in precedenza un file di testo contenente i codici HTTP, senza doverli scrivere “in diretta” e rischiare di pasticciare.

Per leggere gli header di risposta di un server facciamo così:

1. Creiamo un file di testo con i comandi HTTP

HEAD / HTTP/1.0
Host: www.libero.it

ricordandoci di andare a capo due volte alla fine del testo (dopo Host: www.libero.it). Salviamo il file col nome header.txt

2. Invochiamo Netcat dalla linea di comando:

nc www.libero.it 80 -vv < header.txt

dove naturalmente www.libero.it è l’host che ci interessa, 80 è la porta TCP e il parametro -vv costringe Netcat a dareci informazioni sull’operazione in corso, utile per capire quando e perché qualcosa è andato storto.

risultato:

HTTP/1.1 200 OK
Date: Wed, 01 Oct 2008 21:59:22 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Vary: Accept-Encoding,User-Agent
Connection: close
Content-Type: text/html

E’ possibile anche travestire Netcat da Firefox (o da Explorer o Opera…). Ho spiegato questa tecnica in un altro articolo che vi può interessare. Per attuarla con Netcat basta inserire il campo User-Agent specificando il tipo di browser che desideriamo impersonare.
Modifichiamo il file header.txt in questo modo:

HEAD / HTTP/1.0
Host: www.libero.it
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17

ricordando sempre il doppio a capo (due volte enter) alla fine. Eseguendo di nuovo l’interrogazione libero.it registrerà sui suoi log la visita e la attribuirà ad un browser Firefox.

Recuperare pagine web

Per recuperare una pagina web con Netcat dobbiamo utilizzare il comando HTTP GET al posto di HEAD e specificare l’URL. Per scaricare la home page di PillolHacking.Net modifichiamo il file header in questo modo:

GET / HTTP/1.0
Host: www.pillolhacking.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17

ed eseguiamo:

nc www.pillolhacking.net 80 -vv < header.txt > pillolhacking.html

da notare la fine della riga: > pillolhacking.html. Questo fa in modo che la pagina venga salvata nel file pillolhacking.html. Naturalmente il file conterrà anche l’header HTTP oltre al codice HTML della pagina.

Questo articolo fa parte della serie “Le 7 Vite di Netcat“. Potrai trovare altre informazioni su Netcat nei prossimi articoli:

7 Comments
  1. Pingback: PillolHacking.Net » Le Sette Vite di Netcat

  2. Pingback: PillolHacking.Net » Leggere la posta elettronica con Netcat

  3. Pingback: Netcat Come Scanner | PillolHacking.Net

  4. Pingback: Trasferire File con Netcat | PillolHacking.Net

  5. Pingback: Inviare Email con Netcat | PillolHacking.Net

  6. Pingback: Back Channel con Netcat | PillolHacking.Net

  7. Salve,avevo notato un qualcosa che si autodistrugge all’apertura di windows,magari dopo qualche secondo se non lo si interrompe,dove lo cerco? Grazie

Comments are closed.