Rabu, 25 Desember 2013

Mencegah SQL Injection dengan absolute integer

Halo semuanya mas dan mbak berooo yang saya hormati...

Saya berbagi pengalaman terkait mencegah sql injection. Saya anggap aGan sudah tahu tentang sql injection.

Kalo belum tahu silahkan agan browsing ke om Google dulu saja deh...

Langsung broooo........ !!!!



sql inject

 

Gambar diatas script yang di curigai sebagai bugs database, jika diakses dengan : namaDomain.com/news_detail.php?post_id=1'

Biasanya dork pencarian googlenya : "inurl:news_detail.php?post_id=1"

Nah script kita bisa  modifikasi menjadi : $post_id = abs((int)$_GET['post_id']); dari $post_id = $_GET['post_id'];

penjelasan:

Dengan cara menjadikan variabel get menjadi absolute integer --> abs((int)$_GET['query_get']); 

Nah dengan diubag ke absolut integer jika diakses dengan namaDomain.com/news_detail.php?post_id=1' , maka tidak akan timbul bug di databasenya.

Ada lagi kasus pemnaggilan SQL juga:

sebelumnya :
<?php
f (isset($_GET['news_cat'])) {
$cat_news = $_GET['news_cat'];
$sql = "SELECT * FROM berita WHERE kategori = '$cat_news' ORDER BY id DESC LIMIT 20";
}
else {
$sql = "SELECT * FROM berita ORDER BY id DESC LIMIT 20";
}
$query = mysql_query($sql);
while($data = mysql_fetch_array($query)) {
?>

 

Di modifikasi menjadi :
<?php
//if (isset($_GET['news_cat'])) {
$cat_news = abs((int)$_GET['news_cat']);
if($cat==$cat_news){
$sql = "SELECT * FROM berita WHERE kategori = '$cat_news' ORDER BY id DESC LIMIT 20";
}
else {
$sql = "SELECT * FROM berita ORDER BY id DESC LIMIT 20";
}
$query = mysql_query($sql);
while($data = mysql_fetch_array($query)) {
?>

Setidaknya itu juga bisa menjadikan gambaran.

sql inject2

 

Bisa di cek sudah tidak ada "pesan error sql error"

Pesan : Telitilah script anda sebelum upload, semua bisa terjadi di dunia maya... okee broooo

Selamat mencoba

Tidak ada komentar:

Posting Komentar

Cara mengecek encyrp MD5 aman atau tidak

haloooo .......... password anda aman atau encyrpsi menggunakan md5 anda sudah aman? Google dorking, sudah tau? misalnya menggunakan wordpre...