SQL Injection #skysen #coding #pemograman #php #sql #injection

preview_player
Показать описание
Ini adalah teknik hacking yang paling sering dibicarakan. SQL Injection. Celah ini bisa terjadi apabila programmer menggunakan sesuatu yang bisa diubah oleh user, untuk membuat perintah query. Sebagai contoh disini pada URL ada id=1. Angka 1 ini digunakan untuk membangun query di bagian akhir yaitu WHERE id=1.

Pertama usernya akan mencoba dahulu mengubah kalau 1 menjadi 2, kira-kira apa yang terjadi. Perhatikan awalnya tampil data pertama yaitu Budi. Setelah diubah berubah menjadi data kedua yaitu Andi.

Selanjutnya user akan mencoba lagi misalkan url diubah menjadi 2' or 1='1. Dan sebagai hasilnya terjadilah SQL Injection. Perintah Query berubah, sudah tidak seperti rancangan awal programmer lagi. Karena pada WHERE terjadi 2 buah kondisi id = '2' or 1='1'. Dan sebagai hasilnya, perhatikan bahwa semua data terpilih untuk tampil ke layar.

Salah satu solusi untuk menutup celah ini adalah semua input yang kita dapatkan dari user harus di-sanitize terlebih dahulu, setelah itu baru digunakan untuk membuat perintah query. Contohnya id disini kita sanitize menggunakan real_escape_string. Maka celah ini sudah tidak bisa menampilkan semua data.
Рекомендации по теме
Комментарии
Автор

jangan pake rawquery kecuali di backend models/controller kalo bisa ya ORM aja cukup, semua url dan API harus udah "mateng", sensitive data harus POST method dan dibuat validasinya, user sesion / cookies harus di bikin double validation bukan pake 1 id bisa dapet login auth, client side sama server side harus jelas separasinya, semua endpoint juga harus end to end encrypted antara client sama server, API sensitive harus ada req header kalo bisa dynamic pake keygen, hostingnya juga kudu di secure entah itu shared / VPS, media server juga harus bener confignya, dan laen laenya masi

steven_ch
Автор

Semua ini data bisa diakses, gak dianggap sulit.. mantap bang

MikaYT
Автор

usahakan pake prepared statement, boleh tambah sanity, tambah validasi input. kalau pake postgresql ada fungsi pg_escape_string dll

TigaherangChannel
Автор

pentingnya filter semua variable. pakai mysql_real_escape_String, atau replace (') jadi (\') (\) jadi (\\) atau pakai parameter

ammarammar-tojv
Автор

parameter id jangan dipake buat jadi kondisi kalo id primary nya cuma integer increment, mending pake ULID atau uuidv7 untuk primary key jadi gak mudah di tebak dan bisa juga masih buat sort by id

clangamers
Автор

nah ini yg gua cari😂 kebetulan gua punya web yg pake php juga, mo coba ahh

Broolan-Al
Автор

Njirr wkwkwkwk dulu pernah iseng pas ujian tambahin satu di id loginnya malah kelogin akun teman disamping 😂

RiProG
Автор

boleh make sanitasi strinng, atau boleh di tambahkan validasi data yang lebih spesifik

kardotinambunan
Автор

Nah biasanya terjadi ketika si programmer menyertakan input text / lewat url, kadang untuk membuat rich text juga perlu menyertakan syntax html seperti bold strong italic dll. Cara verifikasinya bagaimana pak?

dadang
Автор

Apapun bahasa pemrogramannya, jangan pernah percaya input data. Selalu filter input.

mizrachayit
Автор

real escape string untuk input user, baik post maupun get

io
Автор

di aplikasi web yang kami kerjain sekarang karena mepet waktu kebanyakan routing-nya gini sih.. data dari database diambil dari parameter url dengan get, ada nanya ke abang-abang juga yang nggak senior banget tapi katanya kita kerjain aja dulu nanti dah senggang baru di refactor lagi. Best practicenya gimana tu bang?

top_loserrr
Автор

salfok sama suaranya, kiraiin suara google tapi ini rill suara abangnya sendiri 🤣

Erijal_
Автор

Kalo pake raw query gini, id nya pake uniqueidentifier, jangan pake int

bramoke
Автор

Mainan sy SMP dulu, skrg kan ke API dulu

Rajendraenroses
Автор

Pernah pake ini pas dulu sma pas pemilihan ketua osis milihnya dari website gini malah login pake akun admin wkwk 😂

PanPan-mlip
Автор

Klo saya ngatasinnya dgn memecah alur query bang ... jd stlh get id dari url, tipe datanya aku cek, integer atau bukan. Klo bukan aku kasih response 400

bagas
Автор

kalo gitu bukannya kerentanan idor bg?

SecurityCyberSec
Автор

sql injection enak pada jaman 2012-2015an bnyak web” yg vuln😅😅

AlikaKaznila
Автор

simple fix: convert id jadi tipe integer

miteina
welcome to shbcf.ru