Pengertian SQLi dan Patch Bug SQLi - Pixel-Code

Pengertian SQLi dan Patch Bug SQLi

 Oke kali ini gue mau jelasin apa sih SQLi serta Patch Bug SQLi di website kalian oke langsung aja SQLi Injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain. (Sumber : https://id.wikipedia.org/wiki/Injeksi_SQL)
Jadi kalian ketahui bahwa SQL Injection terjadi karena tidak adanya penanganan terhadap karakter-karakter tanda petik tunggal (‘) dan juga karakter double minus (–). Sehingga seorang attacker dengan mudahnya bisa menyisipkan perintah SQL kedalam suatu parameter maupun suatu Form. Karena sesungguhnya para attacker hanya bermodalkan algoritma yang matang yang nantinya akan menjadi kode berbahaya bagi situs yang menjadi sasaran.

How to fix it?

Disini saya mempunyai sebuah contoh script yang belum di filter atau masih vuln SQLi:
 
<?php
    require_once("koneksi.php");
    if(isset($_GET['id'])){
        $id = $_GET['id'];
        $query = mysql_query("select * from petugas where id='$id'");
        while($data = mysql_fetch_assoc($query)){
            $id = $data['id'];
            $nama_depan = $data['nama_depan'];
            $nama_belakang = $data['nama_belakang'];
            $password = $data['password'];
            $hak = $data['hak'];
            echo "
                   <tr>
                       <td>$id</td>
                       <td>$nama_depan</td>
                       <td>$nama_belakang</td>
                       <td>$password</td>
                       <td>$hak</td>
                   </tr>
               ";
        }
    }
?>

Bagaimana cara mengatasinya? Kalian cukup menuliskan script tambahan dibawah ini:
 
if(preg_match("/'|onion|%27/",$id)){
    echo "NO SQL Injection Please - Patch By Pixel-Code";
    exit();
}

Tampilan contoh script jika sudah di tambahkan (Disini saya cuman menggunakan sepotong scriptnya saja):
 
<?php
    require_once("koneksi.php");
    if(isset($_GET['id'])){
        $id = $_GET['id'];
        if(preg_match("/'|onion|%27/",$id)){
            echo "NO SQL Injection Please - Patch By Pixel-Code";
            exit();
        }
        $query = mysql_query("select * from petugas where id='$id'");
        while($data = mysql_fetch_assoc($query)){
            $id = $data['id'];
            $nama_depan = $data['nama_depan'];
            $nama_belakang = $data['nama_belakang'];
            $password = $data['password'];
            $hak = $data['hak'];

Bagaimana cukup mudah bukan? Jangan hanya bisa injectnya saja bisa patchnya nda bisa hehe, Oke mungkin cukup sekian dari saya semoga bermanfaat see you next time byee~

2 Responses to "Pengertian SQLi dan Patch Bug SQLi"

Emoticon Urutan

  1. Itu di login.php nya mas ? Atau dimana ? Saya maaih bingung dimna naruh script pathnya

    ReplyDelete
  2. Tergantung dia vulnerablenya di parameter mana

    ReplyDelete