Blog gw

Metode pencegahan SQL injection

Posted by dillah2008 on November 29, 2008

Issue ini lumayan krusial dalam dunia web, sebelum benar2 mengalami kejadian yang ditakutkan :( mungkin ada baiknya cari informasi mengenai hal ini.
Gw mendapatkan link artike ini dan kemudian mencoba membuat sedikit resume semau gw :)

Pada artikel ini dibagi dalam beberapa tahapan, antara lain :

  1. Input Validation
    Pada tahapan ini dijelaskan langkah-langkah seperti berikut :

    • Hanya melakukan escaping saja pada tiap inputan adalah cara yang salah
      Sering gw hanya melakukan proses escape saja pada inputan text, mungkin sebaiknya diperketat lagi masukan seperti apa yang harusnya masuk dan menolak jika selain itu ditolak saja. Kata-kata seperti “select”,”insert”,”update”,”shutdown”,”delete”,”drop”,”–”,”‘” juga sebaiknya di tolak karena berpotensi menimbulkan bahaya, Namun bagaimanapun juga melakukan escaping juga diperlukan.
    • Pada proses pemasukan data numeric, sebaiknya juga ditentukan range nya
    • 50% dari SQL Injection dimanfaatkan dari field numerik, hal ini disebabkan pada field numerik datanya tidak diharuskan menggunakan apostrophe, karena itu untuk amannya pada numerik digunakan juga apostrophe
    • Untuk penggunaan nama field (biasanya untuk melakukan order biasa dibuat fleksible maunya dari field yang mana) dibuat tanpa ada space, dan gunakan tanda ” pada nama field tersebut (“field_name”)
  2. Static Query Statement
  3. Least Privilege
    • Jangan menghubungkan ke DB dengan root access
    • buatlah hak akses read/write ke table ato view restrict
    • Hindari akses ke system util & system SP pada user yang digunakan pada program
    • Menggunakan SP jauh lebih baik
  4. Code Verification
  5. Web Application Gateway
  6. SQL Driver Proxy
  7. MISC Method

Selain tahapan tersebut untuk pencegahan lain mungkin bisa diterapkan :

  • Pencatatan setiap percobaan
  • Kirim email kepada administrator jika ada percobaan (by system tentunya)
  • Block IP yang coba2 tersebut
  • Kirim pesan intimidasi kepada yang coba2 itu

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>