SQL Injection dengan Teknik Union
SQL injection dengan Teknik Union yaitu
untuk menggabungkan hasil query dengan query yang lainnya. dan saya juga akan
menjelaskan bagaimana cara kita untuk memgamankan dan mencegah database kita
dari serangan pencuri (hacker)
Misalnya dalam tabel post yang anda punya. Disini
saya mencontohkan syntact yang saya punya.
SELECT * FROM post WHERE id = 1
kalau seperti itu query normalnya akan
menghasilkan satu baris saja, kalau syntact di atas itu biasanya kita bisa
melihat isi databasenya dengan Teknik Union dengan di tambahkan :
SELECT * FROM post WHERE id = 1 UNION
SELECT 1,2,3,4
UNION SELECT 1,2,3,4 (harus sesuai dengan
kolom yang anda punya) yaitu kita menselect angka 1 sampai dengan 4, kalau di
jalankan di SQLnya maka akan muncul di baris pertama itu berasal dari tabel
post dan baris ke dua itu dari SELECT 1,2,3,4 dari hasil union tadi.
Dan bagaimana cara kita dapetnya cuma yang
SELECT 1,2,3,4, yaitu dengan cara kita mengembalikan hasil querynya untuk tidak
menghasilkan apapun.
cara agar mendapatkan SELECT 1,2,3,4 :
1. Dengan cara menambahkan ID yang besar
contoh
: SELECT * FROM post WHERE id = 9999 UNION SELECT 1,2,3,4
2. Dengan cara menambahkan syntact AND 1=2
contoh
: SELECT * FROM post WHERE id = 1 AND 1=2 UNION SELECT 1,2,3,4
Dalam syntact SELECT * FROM post WHERE id =
9999 UNION SELECT 1,2,3,4. Di nomer dua dan 4 bisa di isi dengan apapun, bisa
juga diisi dengan fungsi mysql.
Contoh : SELECT * FROM post WHERE id = 9999
UNION SELECT 1,database(),3, user()
fungsi di atas yaitu untuk mengembalikan
nama user dan nama database yang aktif saat ini. Selanjutnya Masukkan input
pada web 9999 UNION SELECT 1,database(),3, user(). maka akan di tampilkan nama
user dan nama database yang aktif yang di pakai di aplikasi tersebut.
Cara terakhir untuk mendapatkan ID,
USERNAME, PASSWORD, dan EMAIL dengan cara teknik union yaitu dengan menambahkan
:
SELECT * FROM post WHERE id = 9999 UNION
SELECT 1, group_concat(column name), 3, 3 FROM information_schema.columns WHERE
table_schema = 'blog' AND table_name = 'user'
Dengan Proteksi simpel seperti ini kita
dapat mencegah database kita dari serangan jahat atau pencuri (hacker) yang ingin
mengambil data data di dalam database kita.
Tidak ada komentar