HttpwebRequest

  • VB.NET

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von Bluespide.

    Jabba2017 schrieb:

    Private Function Crazy(Nickname As String, Password As String) As Boolean
    Dim P As String = Quest("https://www.4crazy.de/login/", "POST", "user=" & Nickname & "&pwd=" & Password & ": undefined")
    Return P.Contains("Logout")
    End Function


    Du Gibst die Daten an eine Funktion weiter - die dann ein gewisses PHP-Script aufruft...


    EDIT1:
    @Jabba2017

    Also - deine Params alleine sind schon falsch benannt.
    Guck dir den Endpoint an (Entwicklertools) da werden User und Passwort anders übergeben.
    Fuuu - sry. hab mich verlesen.

    Aber wofür soll das :undefined stehen?

    LG :)
    Bilder
    • Unbenannt.png

      2,34 kB, 305×64, 89 mal angesehen
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Acr0most“ ()

    @Jabba2017 Nö in deinem mittlerweile rausgenommen Code im ersten Post hast du in Zeile 13 versucht S in den StreamWriter S aus Zeile 12 zu schreiben.
    Und da du den Code den du zum Senden benutzt entfernt hast/nicht zur verfügung stellst, kann man dir nicht helfen.

    Popa21 schrieb:

    HTML Quellcode


    Jou, bringt uns halt hier nichts, wenn wir auf das PHP-Script hinaus wollen, welches sich um den Login und das verarbeiten der Post-Params kümmert. ^^
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Heyho,
    da ich hier null Code sehe ein paar Tipps....
    Wenn das Login Script nicht von dir ist und du den POST nachbilden willst versuche es mal mit "live http headers" ist ein Addon gibt es für Chrome / Firefox
    damit kannst du super schön den POST Request nachbauen.

    Ansonsten bringt es nichts wenn man hier nur hin und her diskutiert "das hab ich schon immer so gemacht" oder "da ist ein try also ist das gut"...
    Mach mal ohne Try-Catch und sag was für ne Fehlermeldung kommt... Denn Try-Catch falsch angewendet frisst den Fehler und nichts passiert.

    Und warum zur Hölle steht im ersten Post nichts ? Manchmal finde ich sollte man die Editier Funktion ausschalten weil damit der ganze zusammenhang hier im Arsch ist.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    xChRoNiKx schrieb:

    Manchmal finde ich sollte man die Editier Funktion ausschalten weil damit der ganze zusammenhang hier im Arsch ist.


    Geb ich dir Recht... oder zumindest mal WBB so anpassen das wenn man was ändert das alte in einen Spoiler verschoben wird und das Duplikat mit den Änderungen den Platz einnimmt.
    Oder einfach nur eine Funktion die es zulässt Infos hinzuzufügen, nichts zu entfernen.

    Hier noch eine Info an den TE von mir...
    Um was geht es Dir hier eigentlich? Ich verstehe den kompletten Thread nicht mehr.
    Du willst nur Daten über VB via Post an deine "login.php" senden?


    Warum gehts du nicht direkt an die Datenbank?
    Damit kannst du genau so gut eine Session erzeugen...
    Hier mal was, was ich geschrieben hatte...
    Bitte steinigt mich dafür nicht wenn es vielleicht nicht nach CCD ist oder ähnlichem aber das ist schon 4 Jahre alt...
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports MySql
    2. Imports MySql.Data
    3. Imports MySql.Data.MySqlClient
    4. Imports System.Security.Cryptography
    5. Imports System.Text
    6. Public Class LoginForm1
    7. Dim MysqlConn As MySqlConnection
    8. Dim COMMAND As MySqlCommand
    9. Dim READER As MySqlDataReader
    10. Public Function MD5StringHash(ByVal strString As String) As String
    11. Dim MD5 As New MD5CryptoServiceProvider
    12. Dim Data As Byte()
    13. Dim Result As Byte()
    14. Dim Res As String = ""
    15. Dim Tmp As String = ""
    16. Data = Encoding.ASCII.GetBytes(strString)
    17. Result = MD5.ComputeHash(Data)
    18. For i As Integer = 0 To Result.Length - 1
    19. Tmp = Hex(Result(i))
    20. If Len(Tmp) = 1 Then Tmp = "0" & Tmp
    21. Res += Tmp
    22. Next
    23. Return Res
    24. End Function
    25. Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    26. Try
    27. Dim conn As New MySqlConnection
    28. Dim da As MySqlDataAdapter
    29. Dim ds As New DataSet
    30. Dim dt As New DataTable ' DataTable (Datentabelle)
    31. conn.ConnectionString = "server=domain.tld;uid=dbuser;pwd=dbpasswort;database=dbname;port=3306;"
    32. ' **** DataAdapter-Instanz bilden (Verbindung zur DB benennen)
    33. ' **** und SelectCommand übergeben
    34. da = New MySqlDataAdapter("", conn)
    35. da.SelectCommand.CommandText = "SELECT * FROM ms_user WHERE user = '" & User.Text & "' AND passwort = '" & MD5StringHash(Password.Text) & "'"
    36. da.SelectCommand.CommandType = CommandType.Text
    37. dt = New DataTable("Ergebnis") ' DataTable-Instanz bilden
    38. ds.Tables.Add(dt) ' und dem DataSet hinzufügen
    39. da.Fill(dt) ' DataTable füllen
    40. Dim Zeile As DataRow
    41. For I = 0 To dt.Rows.Count - 1 ' Alle Zeilen der Reihe nach durchlaufen
    42. Zeile = dt.Rows(I) ' Die I-te Zeile aus der DataTable holen
    43. My.Settings.userid = Zeile.Item(0)
    44. My.Settings.username = Zeile.Item(3)
    45. My.Settings.Save()
    46. Next
    47. Catch ex As Exception
    48. MsgBox("Fehler beim lesen der Datenbank")
    49. End Try
    50. '--------------------------------------------------------------------------------------------------------------------------
    51. MysqlConn = New MySqlConnection
    52. MysqlConn.ConnectionString = "server=domain.tld;uid=dbuser;pwd=dbpasswort;database=dbname;port=3306;"
    53. Try
    54. MysqlConn.Open()
    55. Dim Query As String
    56. Query = "SELECT * FROM ms_user WHERE user = '" & User.Text & "' AND passwort = '" & MD5StringHash(Password.Text) & "'"
    57. COMMAND = New MySqlCommand(Query, MysqlConn)
    58. READER = COMMAND.ExecuteReader
    59. Dim count As Integer
    60. count = 0
    61. While READER.Read
    62. count = count + 1
    63. End While
    64. If count = 1 Then
    65. Form1.Show()
    66. Me.Close()
    67. ElseIf count > 1 Then
    68. MessageBox.Show("Es ist ein Fehler aufgetreten - E200", "Information", MessageBoxButtons.OK, MessageBoxIcon.Error) ' Mehr als einen Datensatz mit identischen Daten gefunden
    69. Else
    70. MessageBox.Show("Username oder Passwort falsch", "Information", MessageBoxButtons.OK, MessageBoxIcon.Error)
    71. End If
    72. MysqlConn.Close()
    73. Catch ex As MySqlException
    74. MessageBox.Show(ex.Message)
    75. Finally
    76. MysqlConn.Dispose()
    77. End Try
    78. End Sub
    79. Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
    80. My.Settings.userid = ""
    81. My.Settings.username = ""
    82. Close()
    83. End Sub
    84. End Class


    Nein! Doch! OHH!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „samson“ ()

    samson schrieb:

    direkt an die Datenbank?


    Ich vermute das ist ein externes Tool und er will nur einen Autologin oder sowas basteln.
    Ohne den Code vom Anfang und einer erneuten, genauen Problembeschreibung kommen wir hier nicht weiter.


    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Also an @slice stelle würde ich mir vom TE schon ein bisschen verarscht vorkommen. Ich meine er hat den Fehler entdeckt und wollte ihn darauf aufmerksam machen, aber der hat diesen nur bestritten. Ich glaube die Stelle sah ca. folgendermaßen aus:

    VB.NET-Quellcode

    1. Dim S As StreamWriter = New StreamWriter(request.GetRequestStream())
    2. S.Write(S)
    Anstatt den PostString sollte der Stream sich hier selbst schreiben.