Schrift
[thread]4310[/thread]

Authen::NTLM

Leser: 1


<< >> 3 Einträge, 1 Seite
esskar
 2005-04-22 22:25
#37802 #37802
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
$domain = &unicode($domain)
wandelt doch den string, in einen unicode string um, oder?
und genau das, ist eben bei NTLM erforderlich...
In der windows-api z.B. gibt es ebenfalls NTLM Funktion; welche für unicode und äquivalent dazu auch für ascii strings. Wenn man sich dann aber mal die sache richtig anschaut, rufen die ascii funktionen einfach die unicode-funktionen auf!
sesth
 2005-04-22 18:16
#37803 #37803
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Hallo,

die letzten Tage habe ich mit einem LWP-Skript gekämpft, dass per NTLM Authentifizierung Web-Seiten von einem Intranet-Server (IIS 5.0) laden sollte. Das Skript hatte ich mal vor 3 Jahren zum Testen geschrieben und wieder reaktiviert. Allerdings ging jetzt die Authentifizierung schief. Googeln nach "Authen::NTLM and MS04-011" brachte mich dann auf die richtigen Ideen.

Ich verwende Authen::NTLM 1.02. Der in den Newsgroups empfohlene Patch für MS04-011 brachte bei mir nur einen Teilerfolg, da der Intranet-Server in einer Root-Domäne registriert ist und mein User Account in einer Sub-Domäne. Im Authen::NTLM wird in
Code: (dl )
$domain = substr($c_info->{buffer}, 0, $c_info->{domain}{len});

die Response vom Server ausgelesen und für die Authentifizierung wieder verwendet. Der Server liefert aber die Root-Domain zurück, in der ich keinen Account habe. Deshalb geht die Anmeldung also schief. Ich habe den Code jetzt in
Code: (dl )
$domain = &unicode($domain)

geändert, so dass meine ursprüngliche Sub-Domain für die Anmeldung verwendet wird. Seitdem läuft mein Skript wieder.

Da ich mich mit NTLM und den entsprechenden Challenge/Response Verfahren kaum auskenne, wollte ich Euch mal bitten, diese Änderung zu bewerten. Ist die allgemeingültig oder hab ich nur Glück, dass es jetzt bei mir wieder läuft?
Gruß
Thomas
sesth
 2005-04-25 15:51
#37804 #37804
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Genau. Aber die alte Version hat den Unicode-String nicht selbst erzeugt, sondern aus der Response (Typ 2) vom Server bezogen. Der liefert die Domäne auch in Unicode an. Das geht aber in genau dem Fall schief, wo User und Server in verschiedenen Domänen hängen und die Authentifizierung sich aus der Hierarchie oder einem Trust ergibt. Daher habe ich den Code modifiziert. Ob es so aber korrekt ist, kann ich nicht beurteilen. Für meinen Anwendungsfall läuft es jetzt jedenfalls.
Gruß
Thomas
<< >> 3 Einträge, 1 Seite



View all threads created 2005-04-22 22:25.