staging.inyokaproject.org

HTTP Authorization über telnet

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Mr.Green

Anmeldungsdatum:
21. April 2007

Beiträge: 464

Hallo,
wie muss eine Anfrage aussehen, die sich über GET an einem Server per Authentication einloggen will?

Ich habe den Wireshark Mitschnitt im Anhang.

Ich versuche einfach, daraus eine Anfrage zu bauen, die über netcat abgeschickt wird:

#!/bin/bash

get="GET http://192.168.1.1/ HTTP/1.1\r\n
Host: 192.168.1.1\r\n
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9) Gecko/2008061015 Firefox/3.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
Authorization: Basic **************\r\n"



port=3128
proxy=localhost


echo -e $get | netcat $proxy $port #2>/dev/null #| iconv -f LATIN1 -t UTF-8 | iconv -f LATIN1 -t UTF-8

Trotzdem kommt immer wieder "401 - not authorized" zurück. Eigentlich sollte es doch egal sein, ob die GET Anfrage vom Browser oder von telnet ausgeführt wird, das merkt der Server ja nicht.

Wie muss die Auth-Anfrage denn dann aussehen wenn nicht so, wie der Mitschnitt aus Wireshak?

Danke
Mr.Green

Bilder

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

also wenn ich mich per telnet mit google verbinde

telnet www.google.de 80

und dann ein

GET / HTTP/1.1

schicke werde ich gleich zugebombt mit ner htmldatei.
Ich werde mal ein wenig rumprobieren (kenn mich nicht so dolle aus)

Edit: google is irgendwie scheiße hab ne bessere seite zum probieren gefunden (diesmal mit passwortabfrage)
Edit: hab mal mit tcpdump nen erfolgreichen login mitgeschnitten http://ubuntuusers.de/paste/380281/

Hm also das Passwort wird nicht im Klartext übersendet (vieleicht als base64?)

Mr.Green

(Themenstarter)

Anmeldungsdatum:
21. April 2007

Beiträge: 464

Naja, das ist ja das, was ich auch schon raus hatte. Ich hab mit Wireshark ja genau dasselbe gemacht. Mir fehlt jetzt nur noch der letzte Schritt, wie ich die Anfrage zur Authentifizierung zusammenbauen muss, um sie dann per telnet abzuschicken.

Edit: Das Passwort hab ich ja auch direkt aus dem Dumo kopiert; siehe meine Codezeilen (nur dass das Passwort da *** ist 😉 )

Mr.Green

(Themenstarter)

Anmeldungsdatum:
21. April 2007

Beiträge: 464

Ich hab die Lösung gefunden; es ist tatsächlich nur eine Frage der Formatierung.

So klappt es:

echo -e "GET http://192.168.1.1/log.html HTTP/1.1\nAuthorization: Basic ******************\n" | netcat $proxy $port  2>/dev/null
Antworten |