Latihan 1 dari materi SQL Injection Dasar di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Supaya kamu bisa mengenali query yang rentan, reproduksi injeksi klasiknya di tabel demo. Query aslinya SELECT * FROM users WHERE username = '<input>', dan bagian <input> disambung mentah dari user. Tabel users berisi tiga baris: admin, budi, siti.
Isi <input> dengan payload klasik ' OR 1=1 -- sehingga kondisinya selalu benar.
Tulis query utuhnya: SELECT * FROM users WHERE username = '' OR 1=1 --';
Hasilnya harus 3 baris (seluruh tabel, termasuk admin), dengan kolom username ikut ada.
1=1 selalu benar, jadi WHERE cocok untuk setiap baris, dan -- mengomentari sisa query. Lesson berikutnya mengajarkan cara menutup celah ini dengan parameterized query.
Hint
Tujuannya membuat kondisi WHERE selalu benar supaya semua baris ikut terbawa, bukan menyaring satu nama.
Tutup string username dengan kutip, tambahkan OR 1=1 yang selalu benar, lalu -- untuk mengomentari sisa query.
SELECT * FROM users WHERE username = '' OR 1=1 --';
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...