Mengapakah Aksara ESAPI Melarikan Diri Backspace (\\b) dan Tabulator (\\t) dalam Pencegahan Suntikan SQL?

Patricia Arquette
Lepaskan: 2024-10-28 17:16:29
asal
671 orang telah melayarinya

 Why Does ESAPI Escape Backspace (\b) and Tabulator (\t) Characters in SQL Injection Prevention?

Pencegahan Suntikan MySQL: Melarikan Diri Aksara untuk Keselamatan Maksimum

Pencegahan suntikan SQL adalah penting untuk melindungi pangkalan data daripada serangan berniat jahat. Apabila menggunakan fungsi mysql_real_escape_string(), aksara , n, r, \, ', " dan Z terlepas untuk mengelakkan percubaan suntikan.

Walau bagaimanapun, perpustakaan keselamatan ESAPI OWASP.org termasuk aksara tambahan untuk melarikan diri, termasuk b (ruang belakang) dan t (tabulator). Timbul persoalan: mengapa aksara ini disertakan dan adakah ia benar-benar diperlukan?

Watak Penjadual dan Ruang Belakang dalam Pencegahan Escape

Pemasukan aksara b dan t dalam mekanisme melarikan diri ESAPI berkemungkinan berkaitan dengan kemungkinan percubaan suntikan menggunakan aksara ini:

Penyerang menghantar e-mel yang mengandungi fail teks yang dilampirkan dengan yang berikut. pertanyaan:

INSERT INTO students VALUES ("Bobby Tables",12,"abc",3.6);
Salin selepas log masuk

Ini nampaknya merupakan pertanyaan yang tidak berbahaya Walau bagaimanapun, penyerang telah bijak meletakkan aksara ruang belakang sebelum pertanyaan, seperti berikut:

DROP TABLE students;\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
Salin selepas log masuk

Apabila penerima mencatat fail tersebut. dan menyalurkannya ke MySQL, aksara ruang belakang menimpa pertanyaan yang tidak berbahaya, mengakibatkan pelajar DROP TABLE yang berniat jahat; perintah dilaksanakan tanpa diketahui oleh penerima.

Selain itu, aksara penjadual (t) berpotensi digunakan untuk menjajarkan kod hasad dalam pertanyaan, meningkatkan kebolehbacaannya dan menjadikannya lebih sukar untuk dikesan. Oleh itu, melepaskan watak ini memberikan lapisan perlindungan tambahan terhadap kemungkinan percubaan suntikan.

Atas ialah kandungan terperinci Mengapakah Aksara ESAPI Melarikan Diri Backspace (\\b) dan Tabulator (\\t) dalam Pencegahan Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!