Problem beim Auslesen

  • VB.NET

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Thirty? schrieb:

    Hab das Problem gelöst.


    Sehr löblich. Welches Buch hast du bestellt?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    VB.NET-Quellcode

    1. Form1.adminb.Visible = False
    2. Dim lesen As MySqlLib3.MySqlLib.ResultCollection = db.Query("SELECT * FROM login WHERE Benutzername='" + Replace(usern.Text, " ", "") + "' AND Passwort='" & (PWSafe.HashString(pw.Text)) & "'")
    3. If lesen.Row.Count = 1 Then
    4. Me.Visible = False
    5. Dim lesen1 As MySqlLib3.MySqlLib.ResultCollection = db.Query("SELECT * FROM login WHERE Benutzername='" + usern.Text + "' + Admin=true")
    6. If lesen1.Row.Count = 0 Then
    7. Form1.adminb.Visible = True
    8. Dim lesen2 As MySqlLib3.MySqlLib.ResultCollection = db.Query("SELECT * FROM login WHERE Benutzername='" + usern.Text + "' + Ban=true")
    9. If lesen2.Row.Count = 0 Then
    10. Timer3.Start()
    11. End If
    12. End If
    13. Form1.Show()
    14. Else
    15. MessageBox.Show("Password oder Account Name Falsch! oder Account Existiert nicht")
    16. End If

    so habe ich es gelöst, für meine Funktionen funktioniert es.
    Mein Benutzername ist:

    Quellcode

    1. ';DROP\tlogin;--

    oder

    Quellcode

    1. 'OR\tAdmin=true\tAND\tBan=false;--


    Wie bereits gesagt wurde, würde ich dir ebenfalls Nahelegen die Parameterisierung zu verwenden, falls das diese Lib nicht kann würde ich dir empfehlen etwas anderes zu verwenden(Warum überhaupt nicht über die bekannten Libs?)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Der erste "Benutzername" löscht dir alle deine Benutzer. Der zweite Benutzer gibt mir Adminzugriff ohne, dass ich auch weder einen Adminnutzernamen noch ein Passwort benötige. Ich könnte Passwörter von Nutzern ändern und vieles mehr.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Niemals "Security through obscurity"
    geb mir ne Fertig kompilierte Anwendung von mir aus auch durch den Obfuscator gejagt, oder nativ kompiliert, glaub mir ich komm ran.
    Und wie gesagt allein durch diesen Benutzernamen werde ich einfach als Admin eingeloggt und hab somit die Möglichkeit alles zu tun, was ein Admin auch kann und selbst wenn du da noch irgendeine weitere Sicherheitsstufe eingebaut hast bin ich mir sicher, dass es nicht sonderlich schwer sein dürfte diese ebenfalls zu umgehen...
    Wie gesagt DB parameter, Dodos Lib ist mW alles andere als sicher. Vorallem ist escaping eine der Grundsätzlichsten Dinge, die man immer und überall machen sollte.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---