Rumah  >  Artikel  >  pangkalan data  >  Pemahaman ringkas tentang suntikan SQL buta

Pemahaman ringkas tentang suntikan SQL buta

WBOY
WBOYke hadapan
2022-06-01 11:47:274916semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang SQL, yang terutamanya memperkenalkan isu berkaitan suntikan buta memotong hasil data yang ditanya dalam pangkalan data kepada aksara tunggal, dan kemudian Mari kita lihat perkara yang sama. pembinaan pernyataan logik saya harap ia akan membantu semua orang.

Pemahaman ringkas tentang suntikan SQL buta

Disyorkan kajian: "Tutorial SQL"

SQL Injection - Blind Injection

Semakan

Suntikan gema digunakan terutamanya untuk memaparkan data dalam pangkalan data terus pada halaman laman web.
Suntikan ralat digunakan terutamanya apabila maklumat ralat asal wujud pada halaman tapak web, dan data dalam pangkalan data dipaparkan dalam maklumat ralat asal. Juga dikenali sebagai gema ralat.
Prinsip: Memandangkan pengguna mempunyai input yang tidak boleh dikawal, penyerang boleh memasukkan pernyataan SQL yang berniat jahat dengan sewenang-wenangnya, menyebabkan semantik SQL berubah, seterusnya menyebabkan risiko kepada pangkalan data dan sistem pengendalian.

Risiko: manipulasi data, pintasan log masuk, manipulasi fail, pelaksanaan arahan, manipulasi pendaftaran.

Pertahanan: penapisan, pra-penyusunan.

2. Senario kerentanan suntikan buta

1 Data dalam pangkalan data tidak akan dipaparkan secara langsung pada halaman muka surat . Contohnya, kotak log masuk
2. Sintaks sisipan, kemas kini, padam, dsb. tidak mempunyai fungsi pertanyaan data dan data dalam pangkalan data tidak akan wujud pada halaman. Seperti pendaftaran, pengubahsuaian maklumat, penambahan data

3 Prinsip suntikan buta

Teras
Potong hasil data yang ditanya dalam pangkalan data kepada aksara tunggal, dan kemudian. potong mereka menjadi aksara tunggal. Hasil pertanyaan dalam pangkalan data dinilai dengan menilai sama ada paparan halaman tidak normal atau sama ada halaman ditunjukkan.

4. Klasifikasi

1. bool blind note
Jika data yang sepadan boleh ditemui dalam pangkalan data, halaman akan dipaparkan secara normal, jika tidak, ia akan menjadi tidak normal.

2. Suntikan buta masa
Tidak kira apa data yang dimasukkan, kesan halaman adalah sama persis Keputusan pertanyaan dalam pangkalan data boleh dinilai berdasarkan sama ada halaman itu ditangguhkan.

5. Proses

1 Cari titik suntikan yang disyaki, cari titik input, dan cari tempat yang berinteraksi dengan pangkalan data
2. Tentukan sama ada terdapat pernyataan SQL yang berniat jahat. dibina oleh suntikan SQL, dan serahkannya Maklumat respons halaman adalah konsisten dengan jangkaan, yang menunjukkan bahawa suntikan wujud.
3. Dapatkan nama pangkalan data

1.获取当前数据库名
	and ascii(substr((select database()),1,1))=115
2.获取所有数据库名
	and (select ascii(substr(group_concat(schema_name),1,1)) from information_schema.schemata)>0

3. Kira panjang data yang perlu diperoleh

and (select length(group_concat(schema_name)) from information_schema.schemata)>10 --+

4. Dapatkan jadual
5. Dapatkan lajur
6. Mendapatkan data

6. Suntikan buta masa

and if(((select database())='a'),sleep(5),0)--+

7 Ringkasan

Suntikan buta masa boleh berlaku di mana-mana sahaja, pelaporan ralat dan suntikan bool. boleh berlaku, dan sebaliknya, suntikan buta jenis bool boleh digunakan apabila ralat gema berlaku, tetapi bukan sebaliknya.

8.sqlmap

Alat automasi suntikan SQL, dibangunkan dalam python2, serasi dengan python3. Penggunaan sqlmap sebenarnya mensimulasikan proses permintaan orang ke laman web, dan boleh mengumpul, menganalisis dan memaparkan data yang diperolehi.

python sqlmap.py -h	查看sqlmap可使用的参数
                 -u 网站的url	向sqlmnap提供注入点

Pemahaman ringkas tentang suntikan SQL buta
–dbs Dapatkan semua nama pangkalan data
Pemahaman ringkas tentang suntikan SQL buta

-D Tentukan perpustakaan --jadual Dapatkan maklumat tentang semua jadual dalam pangkalan data yang ditentukan
Pemahaman ringkas tentang suntikan SQL buta

-D Nyatakan perpustakaan-T Nyatakan jadual--lajur
Pemahaman ringkas tentang suntikan SQL buta

-D Nyatakan perpustakaan-T Nyatakan jadual-C Lajur 1, lajur 2 - -dump
Pemahaman ringkas tentang suntikan SQL buta

-r 'Nama fail'
Pemahaman ringkas tentang suntikan SQL buta

Kajian yang disyorkan: "Tutorial SQL"

Atas ialah kandungan terperinci Pemahaman ringkas tentang suntikan SQL buta. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam