[PHP] MSN authentication

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ey,

Ik zit een beetje te kloten met dat nieuwe MSN protocol om een mooi botje ervan te maken, ik loop alleen een beetje vast bij het wachtwoord, dit is mijn code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
  function sendcmd($fp, $cmd) {
  if (!fputs($fp, $cmd)) {
  echo "<B>Error $cmd $errno $errstr</B>";
  }
  echo "<FONT color=blue>&gt;&gt;&gt;&gt;&nbsp;" . $cmd . "</FONT><BR>";
  $rstr = fgets($fp, 4096); 
  echo "<FONT color=green>&lt;&lt;&lt;&lt;&nbsp;" . $rstr . "</FONT><BR>";
  return $rstr;
  }

  
  // Verbinden met MSN Server
  $msn_connection = fsockopen("messenger.hotmail.com", "1863", $errno, $errstr);
  
  if (!msn_connection) {
    echo "<B>Error:</B>&nbsp; $errstr($errno)";
    die;
    }  
    
  sendcmd($msn_connection, "VER 1 MSNP8 CVR0\r\n");
  sendcmd($msn_connection, "CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS d.s.baars@planet.nl\r\n");
  $getsrvr = sendcmd($msn_connection, "USR 3 TWN I d.s.baars@planet.nl\r\n");
  
  // Doorsturen naar MSN Server
  if (eregi('^XFR ', $getsrvr)) {
  @list($cmd, $trid, $type, $info, $etc) = explode(' ', $getsrvr); 
  $info = trim($info); 

  // FF zeggen welke server dat gaat worden
  echo "<B>Transfer server</B>: " . $info . "<BR>\n"; 
  @list($srv, $prt) = explode(':', $info); 
  fclose($msn_connection);  
  $msn_notif = fsockopen($srv, $prt, $errno, $errstr);
  if (!$msn_notif) {
    echo "<B>Error:</B>&nbsp; $errstr($errno)";
    die;
    }  
  echo "<B><I>Notification Server</I></B><BR>";
  
  } else { die; }
  
  sendcmd($msn_notif, "VER 4 MSNP8 CVR0\r\n");
  sendcmd($msn_notif, "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS d.s.baars@planet.nl\r\n");
  $auth = sendcmd($msn_notif, "USR 6 TWN I d.s.baars@planet.nl\r\n");
  if ($auth) {
  $auth_line = substr($auth, 12);
  $auth_line = ereg_replace(",","&", $auth_line);
  $auth_line = ereg_replace("%3A", ":", $auth_line);
  $auth_line = ereg_replace("%2F", "/", $auth_line);
  $auth_line = ereg_replace("%2E", ".", $auth_line);
  
  $auth_conn = fsockopen("login.passport.com", "443", $errno, $errstr);
  if (!$auth_conn) { die; }
  $fullcmd = "GET /login.srf?" . $auth_line . " HTTP/1.0\r\n\r\n";
  echo "<BR>$fullcmd<BR>";
  $lines = fputs($auth_conn, $fullcmd);
  
  // Hier zit ergens de fout

  while (!feof ($auth_conn)) {
   $buffer = fgets($auth_conn, 4096);
   echo $buffer;
}


  fclose($auth_conn); 
  } 

  
  fclose($msn_notif);
  
  ?>

  


Na die laatste fgets() op regel 62 blijft ie hangen, de connectie naar de Passport server maakt ie nog wel.

Ik heb al gekeken op:
http://www.hypothetic.org...ation/example_session.php

maar daar kom ik niet echt verder mee, wie kan me wel verder helpen?

Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Misschien dat je wat meer moet doen, dan alleen het HTTP protocol volgen ;)
Poort 443 is HTTPS. Dat werkt iets anders wat je hebt er o.a. encryptie bij zitten.

[ Voor 29% gewijzigd door Infinitive op 18-02-2004 19:21 ]

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

Verwijderd

Van php weet ik niets, maar stuur je het wachtwoord wel als MD5?

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Infinitive schreef op 18 februari 2004 @ 19:20:
Misschien dat je wat meer moet doen, dan alleen het HTTP protocol volgen ;)
Poort 443 is HTTPS. Dat werkt iets anders wat je hebt er o.a. encryptie bij zitten.
Zorgt PHP hier niet automatisch voor? De TS is namelijk al een heel eind gekomen (zo lijkt het :) )
Verwijderd schreef op 18 februari 2004 @ 19:22:
Van php weet ik niets, maar stuur je het wachtwoord wel als MD5?
Waar haal jij vandaan dat er MD5 wordt gebruikt?

Aan de TS; het neergooien van code met foutmelding plus dat het niet werkt wordt niet gewaardeerd :) Wat heb je zelf al precies geprobeerd; en wat lukt er dan (niet) :?

[ Voor 57% gewijzigd door Spider.007 op 18-02-2004 19:28 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik met die HTTPS server kan connecten, heb ik geen MD5 meer nodig waarschijnlijk :) Ik moet alleen iets vinden (behalve cURL, want niet alle servers hebben dat :() die dus ook met HTTPS kan verbinden.

Acties:
  • 0 Henk 'm!

  • MikeN
  • Registratie: April 2001
  • Laatst online: 20-09 12:51
http://nl.php.net/fsockopen
As of PHP 4.3.0, if you have compiled in OpenSSL support, you may prefix the hostname with either 'ssl://' or 'tls://' to use an SSL or TLS client connection over TCP/IP to connect to the remote host.
Moet dus wel kunnen met 4.3.0 en hoger :)

[ Voor 7% gewijzigd door MikeN op 18-02-2004 19:31 ]

Pagina: 1