|
|
Diposting pada 17/06/2023 11.10.55
|
|
|
|

Persyaratan: Gunakan alat pengujian penetrasi sumber terbuka sqlmap untuk menguji antarmuka situs web untuk risiko injeksi. Injeksi SQL berarti bahwa aplikasi web tidak menilai legitimasi data input pengguna atau pemfilterannya tidak ketat, dan penyerang dapat menambahkan pernyataan SQL tambahan ke akhir pernyataan kueri yang ditentukan sebelumnya dalam aplikasi web, dan menerapkan operasi ilegal tanpa sepengetahuan administrator, sehingga dapat menipu server database untuk menjalankan kueri arbitrer yang tidak sah, sehingga dapat memperoleh informasi data yang sesuai lebih lanjut. Singkatnya, itu adalahAntarmuka backend mengeksekusi pernyataan SQL dengan menyatukan parameter yang diminta。
Resensi:
sqlmap adalah alat pengujian penetrasi sumber terbuka yang mengotomatiskan proses mendeteksi dan mengeksploitasi kerentanan injeksi SQL dan mengambil alih server database. Muncul dengan mesin deteksi yang kuat, banyak fitur khusus dari penguji penetrasi terbaik, dan berbagai sakelar, termasuk sidik jari database, mengambil data dari database, mengakses sistem file yang mendasarinya, dan menjalankan perintah pada sistem operasi melalui koneksi out-of-band.
SQLmap bekerja langsung dari kotak dan berfungsi di platform apa punPython versi 2.6, 2.7 dan 3.x。
Konstruksi lingkungan SQLmap
Unduhan Python:Login hyperlink terlihat.
Alamat sumber terbuka SQLMAP:Login hyperlink terlihat. Dokumentasi perintah SQLMAP:Login hyperlink terlihat.
Pertama, komputer perlu menginstal Python (dihilangkan), dan kemudian menggunakan perintah git untuk mengunduh kode sumber, sebagai berikut:
Pilihan:
-h, --help Tampilkan pesan bantuan dasar dan keluar -----Tampilkan pesan bantuan dasar dan keluar -hh Tampilkan pesan bantuan lanjutan dan keluar----- --version untuk melihat nomor versi----------- Tampilkan nomor versi program dan keluar -v Tingkat detail VERBOSE (0-6, default 1) --Tingkat verbositas: 0-6 (default 1)
Target:
Setidaknya salah satu dari opsi berikut perlu diatur untuk menentukan URL target, yaitu: Setidaknya salah satu opsi berikut harus disertakan dalam perintah operasi SQLMap untuk menggunakannya secara normal
-d DIRECT String koneksi untuk koneksi database langsung------------------- -u URL, --url=URL Target URL --------------------- URL Target (misalnya "http://www.site.com/vuln.php?id=1") -l LOGFILE Uraikan target dari file log proksi Burp atau WebScarab ---- target dari file log Burp atau proxy lain -x SITEMAPURL mengurai target dari file sitemap(.xml) jarak jauh --Mengurai target dari file peta situs jarak jauh (.xml) Pindai beberapa target yang diberikan dalam file tekstual -------- BULKFILE -r REQUESTFILE Muat permintaan HTTP dari file ---------------Muat permintaan HTTP dari file -g GOOGLEDORK Memproses hasil Google dork sebagai URL target--- -c CONFIGFILE Muat opsi dari konfigurasi INI file -------------- Muat opsi dari konfigurasi INI file
Minta:
Opsi berikut menentukan cara menyambungkan ke URL tujuan
--method=METHOD Memaksa penggunaan metode HTTP yang diberikan (misalnya PUT------------------ --data=DATA String data yang akan dikirim melalui POST menggunakan metode POST------------------ --param-del=PARA.. Atur simbol untuk memisahkan nilai parameter--------------------Karakter yang digunakan untuk membagi nilai parameter --cookie=COOKIE menentukan nilai cookie HTTP ---------------------- nilai header cookie HTTP --cookie-del=COO.. Karakter yang digunakan untuk membagi nilai cookie------------------ Saat menguji titik injeksi menggunakan SQLMAP, Anda dapat menggunakan parameter -v x untuk menentukan kompleksitas informasi gema, yang berkisar dari [0~6] hingga 7 level, dengan default 1.
0: Hanya kesalahan python yang ditampilkan bersama dengan informasi penting. 1: Tampilkan informasi dasar dan informasi peringatan. (default) 2: Tampilkan informasi debug secara bersamaan. 3: Muatan yang disuntikkan ditampilkan secara bersamaan. 4: Tampilkan permintaan HTTP secara bersamaan. 5: Tampilkan header respons HTTP secara bersamaan. 6: Tampilkan halaman respons HTTP secara bersamaan.
ASP.NET Pengaturan lingkungan injeksi inti
Buat proyek web baru menggunakan ASP.NET Core, tulis antarmuka dengan injeksi, dan kode sumbernya adalah sebagai berikut:
Antarmuka uji:
Tes penetrasi yang umum digunakan
Menghitung database DBMS
Dan gunakan Profil SQL Server untuk menangkap eksekusi SQL, seperti yang ditunjukkan pada gambar berikut:
pilih * dari [Pengguna] di mana [Nama Pengguna] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(PILIH nama DARI master.. sysdatabases UNTUK JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'
Menghitung tabel database yang ditentukan
Perintahnya adalah sebagai berikut:
Untuk permintaan HTTP yang kompleks, Anda dapatmelalui parameter -r(Memuat permintaan HTTP dari file,Menggunakan alat Burp Suite untuk menangkap permintaan HTTP paket) untuk memuat permintaan HTTP asli dari file teks. Ini memungkinkan Anda untuk melewati penggunaan banyak opsi lain (misalnya pengaturan cookie, data yang dipublikasikan, dll.).
SQLPamap sangat kuat, lihat dokumentasi untuk fitur yang lebih canggih. (Akhir)
|
Mantan:EF 6 mengeksekusi pernyataan SQL asli, masalah injeksi parameterDepan:[Transfer] ke MySQL Advanced: optimalkan perintah tabel
|