Board Index
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Board Index


 
IndeksPortalPencarianLatest imagesPendaftaranLogin
.::Buat temen2 yang buat thread diharapkan hidden alamat link agar para member juga aktif dalam forum::.

Share | 
 

 Mengamankan web dari injection

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
volmacht
Member
Member
volmacht

Posts : 11
Join date : 05.01.10
Age : 35
Location : INDONESIA LINE.

Mengamankan web dari injection Vide
PostSubyek: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeMon Jan 18, 2010 1:45 pm

"Injection" disini maksud gw adalah, teknik injeksi script yang di
lakukan melalui address bar. SQL Injection, RFI, dan XSS. soalnya tw gw
cuma itu. hehe

wlo kagak jago,bukan master, jelek, tp biarin. gak ada batasan buat share. ahag ahag Mengamankan web dari injection 828895

Tidak ada system yang aman 100%. Tetapi kita bisa mengupayakan
semaximal mungkin system kita aman. Gak tau seberapa persen. Walo 1%
pun, sangat berharga untuk sebuah keamanan. Coding berikut, hanya seper
xxxxxx persen. But semoga berguna.

Beberapa baris program berikut, intinya buat memparsing, validasi, or
filter variable-variable yang di kirim melalui address bar
($_GET['namavar']) secara otomatis. seberapa banyak pun variable, akan
tetep di filter.
Jd variable yg mau di filter, tidak perlu di definisikan terlebih
dahulu, karena program udah di buat otomatis buat filter semua variable
yg di lewatkan dengan methode GET.

langsong yagh pak

Code:
/* global config
tambahkan karakter yg km anggap berbahaya disini
*/
$xssinjectionchars = array("%3Cscript%3E","%3C/script%3E");
$sqlinjectionchars = array("-","*","/","'","\\""," ","=","+","(",")","@","%20","%");

//batasi hanya variable ini yang akan di filter
$registeredrequests = array("page","cat","id");

/* function */
function securitycheck(){
    global $registeredrequests;
    $REQUESTS = $_SERVER['QUERY_STRING'];
    $REQUESTS = explode("&",$REQUESTS);   
    for($i=0; $i< count($REQUESTS); $i++){       
        $get = substr($REQUESTS[$i],0,(strpos($REQUESTS[$i],"=")));
        $val = substr($REQUESTS[$i],(strpos($REQUESTS[$i],"=")+1),strlen($REQUESTS[$i]));
        if(in_array($get,$registeredrequests)){       
            $val = antixssinjection($val);
            $val = antisqlinjection($val);                       
            $val = rficleaner($val);
            $_GET[$get]=$val;
        }
    }   
}

//filter sql
function antisqlinjection($cek){   
    global $sqlinjectionchars;
    for($i = 0; $i <= strlen($cek); $i++){
        if(!in_array(substr($cek,$i,1),$sqlinjectionchars)) { $filtered .= substr($cek,$i,1);}       
    }
    for($i = 0; $i < count($sqlinjectionchars); $i++){
        $filtered = str_replace($sqlinjectionchars[$i],"",$filtered);
    }
    return $filtered;
}

//filter rfi
function rficleaner($cek){
    $filtered = ((eregi("^(http:).+",$cek))?'index':$cek);
    return $filtered;
}

//filter xss
function antixssinjection($cek){
    global $xssinjectionchars;
    for($i = 0; $i < count($xssinjectionchars); $i++){
        $filtered = str_replace($xssinjectionchars[$i],"",$cek);
    }
    return $filtered;
}

penjelasan config.

$xssinjectionchars adalah karakter2 yang di anggap sebagai xss
injection. disini masih tak masukan dan .
$sqlinjectionchars adalah karakter2 yang di anggap sebagai sql injection. misalnya -, +, dll.

Karakter2 bisa di tambahkan sendiri sebanyak yg di ketahui.

$registeredrequests merupakan variable2 valid yang memang ada dan di
perlukan di website. variable yang tidak di daftarkan disini, akan
dilewatkan dalam pengecekan dan di hapus.

Penjelasan alurnya program.

contoh :

http://websiteku.com/?page=about&news_id=5


1. Ambil semua variable yang di kirim melalui methode get.

$REQUESTS = $_SERVER['QUERY_STRING'];

Menghasilkan => /?page=about&news_id=5


2. Variable2 tersebut masih berbentuk string. pisahkan berdasarkan tanda "&".

$REQUESTS = explode("&",$REQUESTS);

step ini menghasilkan $REQUESTS dalam bentuk array. masing2 array, berbentuk layaknya sebuah variable dikirim.

$REQUESTS[0] = page=about
$REQUESTS[1] = news_id=5

3. Mulai filter.

a. Hitung jumlah $REQUESTS. kemudian lakukan pengulangan untuk mengecek.

for($i=0; $i< count($REQUESTS); $i++){ ... filterisasi .... }

b. Pisahkan nilai masing2 $REQUESTS menjadi 2 bagian berdasarkan tanda "=". [nama var]=[value var]

$get = substr($REQUESTS[$i],0,(strpos($REQUESTS[$i],"=")));
$val = substr($REQUESTS[$i],(strpos($REQUESTS[$i],"=")+1),strlen($REQUESTS[$i]));

c. Dek apakah variable terdaftar ($registeredrequests)

Mungkin ada yg bertanya, mengapa harus mendaftarkan variable terlebih dahulu, bukankah variable di cek secara otomatis.
Iya, memang. tp hal ini penting, karena kalau dibiarkan, klo ada orang
tau codingnya, maka bisa jadi ddos bagi server hanya dengan membuat
variable yang sangat banyak.

if(in_array($get,$registeredrequests))

Jika variable terdaftar, maka lakukan pengecekan. jika tidak, maka hapus variable tersebut.

d. Do filter

Seip, lakkukan filterisasi terhadap xss-i,sqli,rfi pada value variable.
filter dilakukan dengan menghilangkan karakter2 yg di anggap berbahaya
(sesuai config). sehingga nilai yang di hasilkan benar2 bersih dari
karakter yg di anggap berbahaya.

$val = antixssinjection($val);
$val = antisqlinjection($val);
$val = rficleaner($val);

e. Rubah value variable yg dikirim dengan value variable yg lolos filter.

$_GET[$get]=$val;


Seip.... udah selese. Coding gw ini msh terlalu jelek. Karena kemampuan
gw emang segitu. Mgkn sobat migworld punya solusi lain untuk lebih
menyempurnakanya. Or mungkin klo di temukan bug, bisa di fix.
n, teknik penyempurnaanya + bug fix nya, kita bahas disini sekalian de sob. Very Happy

Semoga berguna buat kita semua.
oiya, ketinggalan.

cara pakainya, tinggal include tuh script. terserah mo di taruh campur
function2 km, km taruh page sendiri, km taruh di halaman km, terserah.
cara pakainya tetep sama :

letakan code berikut di halaman yg mo di cek. di atas sob, sebelum proses di mulai.


securitycheck();

Mengamankan web dari injection 828895


Terakhir diubah oleh volmacht tanggal Sun Jan 24, 2010 4:44 pm, total 1 kali diubah
Kembali Ke Atas Go down
http://www.indonesialine.ace.st
amuntai
Moderator
Moderator
amuntai

Posts : 50
Join date : 28.12.09
Age : 36
Location : kalsel

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeFri Jan 22, 2010 1:07 am

wah ebad master script Mengamankan web dari injection 116834
Kembali Ke Atas Go down
http://mig33amc.tk
rizalblue
Moderator
Moderator
rizalblue

Posts : 78
Join date : 31.12.09
Age : 29
Location : satui

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeFri Jan 22, 2010 2:05 am

kaget gk ngerti aq
Kembali Ke Atas Go down
http://www.rizalblue.co.tv
fuck.u.
Helper
Helper
fuck.u.

Posts : 64
Join date : 28.12.09

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeFri Jan 22, 2010 4:12 am

Mengamankan web dari injection 41287 pak web ku tolong inject ke dunk...
Kembali Ke Atas Go down
volmacht
Member
Member
volmacht

Posts : 11
Join date : 05.01.10
Age : 35
Location : INDONESIA LINE.

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeSun Jan 24, 2010 4:47 pm

fuck.u. wrote:
Mengamankan web dari injection 41287 pak web ku tolong inject ke dunk...

Mengamankan web dari injection 988 dah dikasi tutor og masi nyuruh inject ne
Kembali Ke Atas Go down
http://www.indonesialine.ace.st
Admin
Admin
Admin
Admin

Posts : 130
Join date : 26.12.09

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeMon Jan 25, 2010 4:34 am

Quote :
dah dikasi tutor og masi nyuruh inject ne

Mengamankan web dari injection 41287 we kan master c mas...
Kembali Ke Atas Go down
https://migworld.forumotion.net
rizalblue
Moderator
Moderator
rizalblue

Posts : 78
Join date : 31.12.09
Age : 29
Location : satui

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeSat Mar 20, 2010 7:40 am

yahoo_witsend SQL ya...
Kembali Ke Atas Go down
http://www.rizalblue.co.tv
er.o
Star Of The Month
Star Of The Month
er.o

Posts : 6
Join date : 24.01.10
Age : 37
Location : Gawokville, Solo, Indonesia

Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitimeTue Mar 23, 2010 8:57 pm

gaga mudeng soal script gituan Mengamankan web dari injection 195893
yg aq tau cuma html doank Mengamankan web dari injection 567715 Mengamankan web dari injection 567715
Kembali Ke Atas Go down
http://errorisme.wen.ru/
Sponsored content




Mengamankan web dari injection Vide
PostSubyek: Re: Mengamankan web dari injection   Mengamankan web dari injection Icon_minitime

Kembali Ke Atas Go down
 

Mengamankan web dari injection

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
Board Index :: Other :: Programming-