SQL-Injection-Experiment 2

1. Experimenteller Zweck

1. Vertiefendes Verständnis des Funktionsprinzips der SQL-Injektion;

2. So umgehen Sie reguläre Ausdrücke, um eine Injektion zu erreichen

3. Fördern Sie die Fähigkeit der Schüler zum unabhängigen Denken

2. Experimentelle Umgebung

Browser-/Serverumgebung;

Serverkonfiguration: Apache+php+Mysql;

Öffnen Sie die experimentelle Website (http://10.1.1.11:81), Sie können das experimentelle Übungssystem sehen

3. Experimenteller Inhalt und experimentelle Anforderungen

Für die MySQL-Injection gibt es wahrscheinlich folgende Ideen:

1. Bestimmen Sie, ob der Injektionspunkt über Lese- und Schreibberechtigungen verfügt. Wenn ja, können Sie die Konfigurationsdatei, den Benutzernamen und das Passwort usw. direkt lesen. Wenn magic_quotes_gpc deaktiviert ist, können Sie eine Webshell auch direkt exportieren.

2. Wenn keine Lese- und Schreibberechtigung vorhanden ist, bestimmen Sie die MySQL-Version. Wenn sie 5.0 oder höher ist, können Sie den Benutzernamen und das Passwort durch Explosion erhalten; wenn sie unter 5.0 oder über 5.0 liegt und nicht explodiert werden kann (z. B. die Da die Datenbank „information_schema“ eingeschränkt ist), können Sie den Benutzernamen und das Passwort durch Blindinjektion erhalten.

3. Da ein Parameter möglicherweise mehrere Abfrageanweisungen ausführt, kann die Anzahl der Felder manchmal nicht gefunden werden und es gibt kein digitales Echo. Wenn der Server das MySQL-Fehlerecho aktiviert hat, können Sie auch die Fehlerinjektion verwenden, um die Fehlerinformationen aus dem zu extrahieren Fehlermeldung. Erfahren Sie, was wir wissen wollen.

Beispiel 4: Schauen Sie genau hin, haben Sie keine Angst

   Schlüsselcode:

   Diese Beispielaufgabe: Versuchen Sie, eine SQL-Injektion durchzuführen. Das Ziel besteht darin, den Benutzernamen und das Kennwort in der Datenbank abzurufen und Testanweisungen und einfache Anweisungen für Ihre SQL einzufügen.

Beispiel 5: Diese Regel ergibt wenig Sinn

      Schlüsselcode:

  

    Diese Beispielaufgabe: Versuchen Sie, eine SQL-Injektion durchzuführen. Das Ziel besteht darin, den Benutzernamen und das Kennwort in der Datenbank abzurufen und Ihrer SQL-Injektion eine Testanweisung und eine kurze Erklärung zu geben

Beispiel 6: Es gibt keine Möglichkeit, Werkzeuge zu verwenden

     Schlüsselcode:

     

      Diese Beispielaufgabe: Versuchen Sie, eine SQL-Injektion durchzuführen. Das Ziel besteht darin, den Benutzernamen und das Kennwort in der Datenbank abzurufen und Testanweisungen und einfache Anweisungen für Ihre SQL-Injektion einzufügen.

4. Experimenteller Prozess und Analyse

 Führen Sie eine SQL-Injection mit dem Ziel durch, den Benutzernamen und das Passwort in der Datenbank abzurufen

Führen Sie eine SQL-Injection mit dem Ziel durch, den Benutzernamen und das Passwort in der Datenbank abzurufen

Führen Sie eine SQL-Injection mit dem Ziel durch, den Benutzernamen und das Passwort in der Datenbank abzurufen

Wenn Sie keine Leerzeichen verwenden möchten, können Sie % verwenden

5. Zusammenfassung der experimentellen Ergebnisse

Im Experiment sind keine Probleme aufgetreten. Wenn Sie keine Leerzeichen verwenden möchten, können Sie % verwenden.

Guess you like

Origin blog.csdn.net/qq_70311894/article/details/133420706