Cara Hack Menggunakan Sql Injection Tutorial

Secara singkat SQL injection merupakan sebuah aksi untuk memodifikasi perintah SQL ke dalam database. Sehingga orang yang melakukan aksi tersebut bisa manipulasi isi database sesuai yang mereka inginkan, bahkan bisa menghapus seluruh isi database. Ini merupakan salah satu mimpi buruk bagi saya apabila website buatan saya terkena serangan SQL Injection dan banyak data yang di acak-acak.

Menurut survei teknik yang paling untuk hack situs web adalah menggunakan SQL Injection.Seperti script kiddie dapat menggunakannya untuk deface webite. Cara Hack Situs Web Menggunakan SQL Injection Dipublikasikan oleh uzie. Tutorial Hacking Cara Membuat keylogger menggunakan Notepad Sebuah keylogger adalah tool hacker newbie tetapi.

Pada tutorial ini saya akan berbagi sedikit tips atau cara mencegah serangan SQL Injection pada website yang menggunakan bahasa pemrograman PHP, yaitu menggunakan function mysqli_real_escape_string(). Fungsi mysqli_real_escape_string() berfungsi ketika string yang diinputkan masuk ke query database, maka string yang sudah melewati filter ini tidak dijalankan sebagai perintah query (hanya string bisa).

Supaya lebih paham akan saya tunjukkan sebuah contoh, contoh kode ini saya ambil dari seri tutorial CRUD PHP sederhana. Yang dalam contoh tersebut belum ada filter mysqli_real_escape_string(). Sekarang saya masuk ke halaman tambah data, dan memasukkan nama yang memiliki tanda kutip satu, yaitu Lukm’an seperti gambar dibawah. Perlu diingat tanda kutip merupakan karakter spesial, atau karakter yang memiliki arti (fungsi) dalam bahasa pemrograman dan perintah query sql.

Maka akan menampilkan tulisan tambah data gagal.

Kemudian saya akan edit sebuah data yang sebelumnya sudah ditambahkan. Kemudian pada form edit masukkan sebuah data yang memiliki tanda kutip. Pada contoh ini saya memasukkan data dengan nama Wind’y.

Dan kemudian saya klik Edit Data maka akan menampilkan error seperti gambar dibawah.

Dari beberapa contoh diatas, berarti kode yang saya tujukan tersebut memiliki celah keamanan SQL injection. Dan salah satu cara untuk mencegahnya yaitu menggunakan function mysqli_real_escape_string(), yang akan kita pelajari di tutorial ini.

Cara Mencegah SQL Injection PHP

Cara Hack Menggunakan Sql Injection Tutorial For Beginners

Sql

Sekarang langsung saja ke inti dari tutorial ini yaitu cara mencegah SQL injection PHP menggunakan function mysqli_real_escape_string(). Langsung saja saya edit kode program yang saya demokan diatas dengan menambahkan function mysqli_real_escape_string() di setiap kode PHP yang menerima data input. Dan apabila kamu ingin download contoh kode yang akan saya edit ini silakan download di link ini.

Biasanya kode PHP yang menerima data dari form yang memiliki method post, maka diterima dengan kode $nama = $_POST[‘nama’];. Nah sebelum kita memasukkan data $_POST[‘nama’] kedalam variabel $nama, kita filter dulu menggunakan function mysqli_real_escape_string(). Function mysqli_real_escape_string() memerlukan 2 buah argumen, argumen pertama yaitu variabel yang menyimpan koneksi database, dan argumen kedua yaitu data yang ingin kita filter, pada contoh ini yaitu data $_POST[‘nama’];.

Jadi pada kode php tambah data yang sebelum di edit seperti ini :

Cara Hack Menggunakan Sql Injection Tutorial Step By Step

tambah.php - Sebelum Edit
Cara
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
require_once('koneksi.php');
if(isset($_POST['submit'])){
$nama=mysqli_real_escape_string($konek,$_POST['nama']);
$alamat=mysqli_real_escape_string($konek,$_POST['alamat']);
$jenis_kelamin=mysqli_real_escape_string($konek,$_POST['jenis_kelamin']);
// query insert data ke database dalam tabel anggota
$query='INSERT INTO anggota (nama, alamat, jenis_kelamin) values('$nama', '$alamat', '$jenis_kelamin')';
header('Location: index.php');
echo'Tambah data gagal';
}
mysqli_close($konek);// menutup koneksi ke database
<html>
<title>CRUD PHP Sederhana</title>
<body>
<form action='tambah.php'method='post'>
Alamat:<textarea name='alamat'rows='3'cols='20'></textarea><br><br>
Jenis Kelamin:<input type='radio'name='jenis_kelamin'value='Laki-laki'>Laki-laki
<input type='radio'name='jenis_kelamin'value='Perempuan'>Perempuan<br><br>
<input type='submit'name='submit'value='Tambah Data'>
</body>

Lakukan yang sama di setiap input dari form dan url yang parameternya digunakan untuk query database.

Dan setelah saya edit, saya coba kembali memasukkan data yang memiliki tanda kutip, maka kode yang ditulis tetap berjalan sesuai yang kita inginkan.

Contoh 1, tambah data dengan nama Lukm’an :

Hasil :

Contoh 2, edit data Windy menjadi Wind’y :

Sql Injection Tutorial Pdf

Hasil :

Apabila kamu ingin melihat atau download seluruh kode setelah diedit, kamu dapat download file tersebut di link ini.

Sql Injection How To

Saya rasa untuk penjelasan cara mencegah SQL injection PHP menggunakan function mysqli_real_escape_string ini cukup jelas. Apabila kamu ingin mengetahui function ini lebih dalam silakan lihat di website resmi PHP, melalui link ini. Mungkin dari tutorial ini masih terdapat celah SQL, karena saya juga kurang dalam tentang web security. Intinya disini saya hanya ingin berbagi pengalaman saja. Dan bagi kamu yang memiliki tips lain seputar pencegahan serangan SQL injection, kamu dapat berbagi caranya pada kolom komentar dibawah. Selain itu bagi kamu yang memiliki pertanyaan seputar tutorial ini, silakan tanyakan pada kolom komentar dibawah.