Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Value dr $_REQUEST rawan SQL injection?

Apa bener bro? kalo kita biasa ambil value dr $_REQUEST cenderung rawan SQL injection?

hmmmmmh padahal ane biasa ambil value
$id=$_REQUEST['id'];

kata temen musti di patch dulu sblm di masukin ke query.

bgmna teknik patch tsbt dan trik apa biar aman?

Yuuk d share d mari :cool::cool:

Tanggapan

  • Kalau misalkan ambil id dari url pastikan diubah ke integer dulu

    $id=(int)$_GET;
  • kan $_REQUEST itu gabungan dari $_GET, $_POST, sama $_COOKIE

    jadi setengah register global ON
    variabel cookie/ post tetap bisa diinject lewat URL
  • Aduh jeng kan sudah saya jelaskan di gathering kemarin, cek inputnya. Batasi hanya angka, spasi dan huruf saja yg diterima. Juga batasi maxlength di text inputnya misalkan 15 karakter.
    Lagipula jangan pakai REQUEST. Sesuaikan GET atau POST.
  • sori dobel post,
    lebih aman pake GET, POST dan COOKIE ketimbang REQUEST
  • @egar
    Entar giliranmu nanti saat gathering di Bandung. Mau? Tapi sebelumnya sama hendri atau aseli dulu :D :D
  • hahahaahahahahahahahahahahahahaahahaha
    :P:P:P:P:P:P:P:P:P:P:P:P:P

    NGAKAK GULINK2......
  • Originally posted by Goku
    Aduh jeng kan sudah saya jelaskan di gathering kemarin.........

    gathering dimana nih???? kapan???
    /*OOT bentar
  • kayaknya dulu pas mereka berdua ber-eep ria dihotel...:D
  • kalo si hacker nambah perintah di blkng id=12+union+all+select+1,2,3 <<< kebacanya bukan integer juga ya bem?
  • Originally posted by egar
    klo nilai dari tabel yg dikirm melwati variabel get atw post tapi formatnya kita bwt ndiri gmn tuh..

    mislkan : index.php?key=DW_001_28

    ???

    Itu kan nggk berbahaya. Hanya string biasa
  • Originally posted by Goku
    Ya di tes saja jeng

    $input='12+union+all+select+1,2,3';

    echo (int)$input;

    Jadinya apa? :D

    tapi ketika ane coba inject pake tanda (-)
    misal bbllahba?id=-12

    querynya gagal bem, gk bisa mbaca.
    brarti masih rawan inject dong :mad:
  • Originally posted by Goku
    @egar
    Entar giliranmu nanti saat gathering di Bandung. Mau? Tapi sebelumnya sama hendri atau aseli dulu :D :D

    diiih...!!!
    klo gini percaya saya sekrng kang goku ependier'z sejati yg mencari mangsa2...:D:D

    kabooooooooooor
  • Kan sudah saya sebutin terjemahin dulu ke integer.
  • Originally posted by Goku
    Kalau misalkan ambil id dari url pastikan diubah ke integer dulu

    $id=(int)$_GET;

    apa bedanya $id sblm di kasih(int) dan sesudah d kasih int?
    apakah SQL injection d jamin aman bem?


    *edit
    utk pertanyaan ini udah ada di sini http://www.diskusiweb.com/viewthread.php?tid=28573
  • klo nilai dari tabel yg dikirm melwati variabel get atw post tapi formatnya kita bwt ndiri gmn tuh..

    mislkan : index.php?key=DW_001_28

    ???
  • Originally posted by Goku
    Aduh jeng kan sudah saya jelaskan di gathering kemarin, cek inputnya. Batasi hanya angka, spasi dan huruf saja yg diterima. Juga batasi maxlength di text inputnya misalkan 15 karakter.
    Lagipula jangan pakai REQUEST. Sesuaikan GET atau POST.

    ini bukan tttng login kok bem :D

    umpamanya mau baca thread yg di panggil kan id-nya.
    paling enak kan kirim lewat $_request kek di DW ini.
  • Ya di tes saja jeng

    $input='12+union+all+select+1,2,3';

    echo (int)$input;

    Jadinya apa? :D
  • Pasti aman deh. Kan semua di konversi ke interger.

    Misalkan

    select field from table where field = 'anything' OR 'x'='x';

    Nah yang saya bold itu contoh sql injection.

    seharusnya


    select field from table where field = '12';

    Nah jika di konversi ke integer akan menjadi 0
  • blm saya ts sih kang...

    tapi ko do konversi ke int gima dengan character huruf ny???
  • tapi klo disisipkan..karakter2 khusu yg memang niatya mu cb2 nginjek???
  • Bukan gagal jeng. Datanya nggk ada :)

    Setahu saya nggk masalah pakai where id='-12'
  • Kan formatnya DW_001_28

    if(!preg_match('/^[a-z0-9_]*$/i', $_GET){
    //tidak valid
    }
    else{
    //proses query
    }
  • Coba tes diskusiweb

    http://www.diskusiweb.com/viewthread.php?tid=-12

    Hasilnya topik nggk ada :)
  • Originally posted by egar
    tapi klo disisipkan..karakter2 khusu yg memang niatya mu cb2 nginjek???
    Makanya di konversi ke interger. Coba tes skrip yang saya berikan.
  • Originally posted by Goku
    Bukan gagal jeng. Datanya nggk ada :)

    Setahu saya nggk masalah pakai where id='-12'

    justru bermasalah je bem
    dr forum2 hack kbnykn mereka ngetes web yg mo di inject dengan cara spt itu.
    kalo masih ada error katanya masih rawan buat d inject.
    :cool:
  • sebaiknya jangan dibabat jadikan integer, tapi di tes aja berupa angka atau tidak

    is_numeric()
  • Buat apa di encrypt ...
  • klo ga pas di idnya kita encrypt ke md5, klo gitu aman ya kykanya

    ntar getnya jg di encrypt
  • daripada pusing takut sql injection nih gunakan script ini: semoga bermanfaat:

    taruh diatas sebelum get ,post,cookies dan sesudah include koneksi...

    <?php
    // skrip untuk menghindari sql injection
    if(!get_magic_quotes_gpc()){
    $_GET = array_map('mysql_real_escape_string', $_GET);
    $_POST = array_map('mysql_real_escape_string', $_POST);
    $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
    }else{
    $_GET = array_map('stripslashes', $_GET);
    $_POST = array_map('stripslashes', $_POST);
    $_COOKIE = array_map('stripslashes', $_COOKIE);
    $_GET = array_map('mysql_real_escape_string', $_GET);
    $_POST = array_map('mysql_real_escape_string', $_POST);
    $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
    }

    ?>

    gimana ada comment? jadi lebih simpel.... ada yang lebih powerfull dan simpel?
  • di encrypt makin ribet
  • intinya gunakan yang lazim digunakan (POST n' GET) dan biar aman register_globals set off. untuk tahap pengembangan display_errors gpp klo =on . tapi klo sistem dah jadi, sebaiknya display_errors=off.
  • Yoi. Alternatif lain pakai mysql_real_escape_string()
Sign In or Register to comment.