Saturday, May 7, 2011

Tutorial MySQL Injection

MySQL Injection adalah tindakan memasukkan pernyataan MySQL ke dalam database tanpa pengetahuan dari pemilik database. Hal ini umumnya dilakukan dengan memanfaatkan field input pengguna yang tidak dilindungi dengan benar. Alih-alih memberikan masukan nyata bahwa pemilik database telah meminta, pengguna MySQL menyuntikkan pernyataan bahwa perubahan perilaku dari query untuk memberikan kemampuan pengguna jarum suntik untuk memanipulasi database.

1. MySQL Injection

Cara termudah untuk memahami dan belajar apa yang benar-benar injeksi MySQL
adalah untuk melihat sebuah contoh. Salah satu cara populer menggunakan MySQL
injeksi adalah untuk memotong cek login di website. Berikut adalah contoh
website yang menggunakan formulir berikut untuk otentikasi pengguna:


Login:
Lozinka:



Setelah menekan menyampaikan data diinput kemudian dikirim ke userlogin.php halaman yang menerima dan berjalan melalui query pada database untuk memeriksa tingkat akses pengguna telah dan jika ia telah memasuki username dan password yang benar.



Jenis login form terbuka lebar untuk eksploitasi oleh serangan injeksi MySQL. Untuk mendapatkan akses ke situs web setiap pengguna dapat menyisipkan kode berikut: 'OR 1 = 1 - untuk username dan' OR 1 = 1 untuk sandi.

Query sekarang akan terlihat seperti ini:
$ Query = "SELECT username, password FROM user WHERE username =''OR
1 = 1 - 'dan password =''OR 1 = 1 ";

Query ini akan memilih username dan password dari user mana nama user atau password tidak ada (''bagian) atau jika satu sama dengan satu. Sebagai salah satu sama dengan satu dalam semua kasus keamanan database dikompromikan. Dua berlari sebelum tanda kutip yang ditambahkan untuk membuat MySQL mengabaikan tanda kutip yang sekarang berlebihan. Ini hanyalah salah satu jenis serangan menggunakan injeksi MySQL. Variasi lain pada serangan ini adalah untuk mendapatkan
akses ke informasi lebih dari pengguna diperbolehkan.

Sekarang lihat contoh di mana pemilik database menggunakan query berikut
untuk mendapatkan data untuk ditampilkan pada halaman user account info.

$ Query = "SELECT * FROM pengguna WHERE username '$ name' =";

Jika semacam ini query tidak dilindungi berbahaya pengguna dapat masukan
'OR 1 = 1 - untuk memotong memeriksa username.
$ Query = "SELECT * FROM pengguna WHERE username =''OR 1 = 1 - '";
Query ini sekarang tidak akan memilih hanya data user, tetapi data dari semua pengguna dalam tabel "users".
Perlindungan Terhadap Suntikan MySQL
*

Ada banyak cara untuk melindungi terhadap suntikan MySQL. Bahkan suntikan MySQL adalah ancaman hanya jika pengembang telah mengabaikan ancaman dan gagal dalam melindungi kode nya. Cara termudah untuk melindungi terhadap suntikan dalam PHP dan MySQL kombinasi adalah dengan menggunakan fungsi PHP: "mysql_real_escape_string".

Kembali ke contoh pertama.


Untuk melindungi terhadap suntikan MySQL langsung menggunakan input pengguna harus
disaring melalui "mysql_real_escape_string". Fungsi "mysql_real_escape_string" akan melarikan diri semua karakter MySQL khusus menghapus kemungkinan untuk mengubah perilaku dari query kita.

No comments:

Post a Comment

semarang jawa tengah indonesia service keyboard service computer komputer kendal bali setting hotspot hacking password mysql protected username jasa setting jual beli
bobol password phpmyadmin debian 5 lenny ubuntu server surabaya sumatera american inggris access point microtic MikroTik jawa barat yamaha roland casio korg technic floppy disk emulator usb www universal cara ganti broadcast editing wireless Wi-Fi handphone novel health facebook Sepeda Fixie Jual Beli Sepeda Fixie Rose Network Sepeda Fixie Murah Wimax Wimax Indonesia, Long time waktu lorong waktu facebook twitter

Followers