[VB.NET] HttpWebRequest änder des Minecraft Passwortes

10/10/2013 19:19 unknwnx.#1
Guten Tag,
und zwar habe ich versucht über httpWebRequest (POST) das Passwort eines Minecraft Accounts zu ändern, jedoch scheitert. Ich erhalte die Fehlermeldung
"Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig."

Die Loginfunktion hatte ich problemlos schreiben können.

Mein Code
PHP Code:
        Dim logincookie As CookieContainer

        Dim postData 
As String = "authenticityToken=" & SecurityToken & "&name=" & ID & "&uid=&oldPassword=" & OldPw & "&password=" & NewPw & "&passwordConfirmation=" & NewPw
        Dim tempCookies 
As New CookieContainer
        Dim encoding 
As New UTF8Encoding
        Dim byteData 
As Byte() = encoding.GetBytes(postData)

        
Dim postReq As HttpWebRequest = CType(WebRequest.Create("https://minecraft.net/profile/password"), HttpWebRequest)
        
postReq.Method = "POST"
        
postReq.KeepAlive = True
        postReq
.CookieContainer = logincookie
        postReq
.ContentType = "application/x-www-form-urlencoded"
        
postReq.Referer = "http://minecraft.net/profile/password/"
        
postReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"
        
postReq.ContentLength = byteData.Length

        Dim postreqstream 
As Stream = postReq.GetRequestStream()
        
postreqstream.Write(byteData, 0, byteData.Length)
        
postreqstream.Close()

        
Dim postresponse As HttpWebResponse

        postresponse 
= DirectCast(postReq.GetResponse(), HttpWebResponse)
        
tempCookies.Add(postresponse.Cookies)
        
logincookie = tempCookies
        Dim postreqreader 
As New StreamReader(postresponse.GetResponseStream())
        
Dim ThePage As String = postreqreader.ReadToEnd

        
If ThePage.Contains("Your password has been changed.") Then
            Writelog
("[SUCCESS] Password wurde erfolgreich auf """ & NewPw & """ geändert")
        Else
            
Writelog("[CRITICAL-ERROR] Passwort kann nicht geändert werden.")
        
End If 
Scheitern tut es bei Zeile 23 sprich
Quote:
postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
10/10/2013 19:24 tolio#2
gute alte wikipedia:
HTTP 403 - Wikipedia, the free encyclopedia

dein request ist also irgendwie so "falsch" das der server ihn nicht bearbeiten will
10/10/2013 19:46 unknwnx.#3
Quote:
Originally Posted by tolio View Post
gute alte wikipedia:
HTTP 403 - Wikipedia, the free encyclopedia

dein request ist also irgendwie so "falsch" das der server ihn nicht bearbeiten will
Das der Code falsch ist weiß ich auch :3
Nur die Frage ist, wo ist der Fehler :x
10/10/2013 19:51 tolio#4
dann schau dir den request in livehttpheaders oder welches programm du da auch immer benutzt nochmal an und achte auf alle feinheiten, wenn du da nicht mehr weiterkommst, deinen request aus dem programm via wireshark auch loggen und den dann mal vergleichen mit dem was du nachmachen willst, spätestens da müssen alle unterschiede zu tage kommen