Web Security Studi Kasus PHP and MySQL PDF
Web Security Studi Kasus PHP and MySQL PDF
/*
attacker memasukkan arga OR 1 = 1,
sehingga query menjadi:
SELECT * FROM pengguna WHERE username = arga
OR 1 = 1
*/
SQL Injection
Tidak hanya $_POST, tapi bisa juga melalui
$_GET
Yang lebih berbahaya jika injeksi dilakukan pada
query UPDATE dan DELETE
SQL Injection Word List
https://wfuzz.googlecode.com/svn/trunk/
wordlist/Injections/SQL.txt
Pencegahan SQL Injection
Escape karakter khusus menggunakan fungsi
mysql_real_escape_string()
Agar semakin aman:
Gunakan prepared statements &
parameterized queries (PDO / MySQLi)
Cek tipe input dari user dengan fungsi
gettype()
Pastikan jumlah row pada datasource sudah
sesuai
Prepared Statements &
Parameterized Queries
$mysqli = new mysqli($hostname, $username,
$password, $database);
$nama = $_POST[nama];