Pages

Subscribe:

Blogroll

Labels

Jumat, 14 Oktober 2011

PHP Security – Cek Bug PHP Script

PHP Security   Cek Bug PHP Script web desain grafisSetelah terampungkan script php yang telah kita buat ada  kalanya bug-bug yang tidak diinginkan bercokol di sela-sela script yang telah  siap dionlinekan. Dan tentunya bug ini bisa berakibat fatal sehingga dapat  dimanfaatkan oleh para intruder-intruder yang berusaha untuk mengekploitasi  system.
   
Dan siapa sangka script php yang telah dibuat itu aman  dari kerentanan dalam masalah security. :D~~~
   
Lalu, bagaimana mencegah sang hacker mengekploitasi,  bahkan merusak website anda, bagaimana mencegah secara pasti dan mengetahui  script yang telah dibuat memiliki bug yang fatal, bagaimana menangani itu semua  ??  :D
 
Sebelum kita beralih maju ke langkah selanjutnya ada  baiknya untuk mengenali bug popular yang paling sering diexploitasi.
Penulis akan mencoba untuk memberikan sedikit penjelasan,  bug yang sering dijumpai dalam aplikasi berbasis web khususnya Content  Management system maupun yang lainnya. Di antaranya :
- XSS ( Cross Site Scripting )- SQL Injection
- RFI ( Remote File Inclusion )

Cross Site Scriping
Lebih dikenal dengan sebutan XSS. Kesalahan ini terjadi  karena tidak adanya filtering pada html maupun java script.
 
Tetapi pada dasarnya defacing ( perubahan kontent ) hanya  terjadi disisi client saja. Yang paling fatal dari bug ini adalah anda dapat  mencuri cookie  kemudian menggunakannya  untuk berbuat sesuatu yang … :D~~
 
Contohnya :
Sensored [ maaf ]

SQL Injection
SQL Injection sebenarnya terjadi karena seorang attacker  yang mencoba melakukan inject query sql   melalui form ataupun via address bar pada browser internet.  Sebagai contohnya ketika penulis mencoba login  sebagai admin pada situs pemerintah Sumatra Selatan ( http://www.sumsel.go.id  ).  Dengan menggunakan query ‘ or 1=1–  penulis pun berhasil login. Pada dasarnya ‘ atau single quote dan or 1=1– itu  berfungsi untuk membingungkan si server sql, sehingga yang dilakukan oleh  server sql adalah menjalankan query ” select * “. Yang terjadi adalah  penulis diloloskan untuk login sebagai admin.
   
Berikut adalah gambar yang penulis capture ketika penulis  berhasil login sebagai admin pada situs http://www.sumsel.go.id
Gambar ini diambil sebelum penulis mengontak webmaster  via email untuk mempatch script phpnya.
   
RFI ( Remote File Inclusion )
Sebelumnya silahkan membaca artikel fungsi require, require_once, include, dan include_one RFI sendiri terjadi karena kesalahan programmer ketika  melakukan coding, yakni menggunakan variable dalam fungsi-fungsi tersebut.  Apabila user memasukkan url evil script miliknya pada variable yang digunakan  dalam fungsi require ataupun include, yang terjadi adalah evil script tersebut  dapat dieksekusi secara remote, dengan kata lain, attacker dapat menjalan  command di server milik anda untuk merubah konten situs atau bahkan merusaknya.  :D~~
Untuk contohnya silahkan anda cari di www.milw0rm.com :D~
Keywordnya Remote File Inclusion. :D~

Pengecekan BUG
Pengecekan bug sendiri bisa dilakukan secara manual. Hmmm  … tentunya ini akan memakan banyak waktu. Terbentuklah tools yang dapat  secara cepat dan otomatis menemukan bug-bug yang terselip di php script secara  tidak sengaja maupun sengaja. :D~
   
Pada dasarnya untuk mengecek bug dapat dilakukan secara  online maupun offline. Penulis sarankan pengecekan bug ini dilakukan di  localhost anda ( offline ) saja.
Cek Bug XSS
Tools untuk mengecek XSS pada script php milik anda  adalah sebuah addons mozilla firefox yang disediakan secara gratis.  Penginstallannya pun tergolong mudah, berikut juga cara penggunaannya.
   
Tools tersebut dapat  anda download disini :
http://www.securitycompass.com/exploit_me/xssme/xssme-0.2.1.xpi


Cek Bug SQL Injection
Untuk periode saat ini defacing dengan SQL Injection  digolongkan paling favorit dan tentunya paling banyak digunakan, mungkin karena  penyerangan yang dilakukan cukup mudah, cukup memiliki dasar pengetahuan syntax  sql. Lagi-lagi sebuah addons mozilla firefox yang cukup ampuh dan mudah  digunakan telah disediakan untuk melakukan cek bug sql injection. :D
   
Anda dapat mendownloadnya disini :
http://www.securitycompass.com/exploit_me/sqlime/sqlime-0.2.xpi
Penggunaanya pun tidak terlalu sulit.


Cek BUG Remote File Inclusion
Sebelumya anda download terlebih dahulu scriptnya disini http://www.newhack.org/dl_jump.php?id
Setelah itu silahkan download active perl, compiler  interpreter ini nantinya digunakan untuk menjalankan script  inclusionscanner.pl.
Dan kemudian copykan inclusionscanner.pl tersebut ke  direktori c:perlbin
Langkah selanjutnya :
1. Masukkan  script  yang akan anda scan kedalam sebuah direktori di c:perl php.
ex : c:perlwordpress.
2. Masuk ke command prompt, start | run | cmd | enter
3.  Setelah itu  masuk ke direktory c:perlbin, cd c:perlbin
4. Jalankan scriptnya,
C:Perlbin>perl.exe inclusionscanner.pl
#Will check a directory for all includes and unsets
#Coded by Ironfist (ironsecurity.nl)
#Usage: create a folder in your perlfolder and put the  files to be scanned in it
, next type the folder name below (eg myfolder)
#GIVES ERRORS WHEN CHECKING SUBFOLDERS: IGNORE THEM :)
 
Directory to read? c:perlwp
 
kemudian lihat hasilnya di c:perlbinresult.html
 
berikut hasil scan ketika penulis mencoba untuk melakukan  cek inclusion pada wordpress-2.3.3 :
   
  FOUND: require_once($locale_file);
  in c:perlwp/wp-settings.php FOUND:  require_once($import_root . ‘/’ . $file);
  in c:perlwp/wp-admin/import.php FOUND:  include_once($this->PluginDir . “class-smtp.php”);
  in c:perlwp/wp-includes/class-phpmailer.php FOUND:  include($lang_path.’phpmailer.lang-’.$lang_type.’.php’);
  in c:perlwp/wp-includes/class-phpmailer.php FOUND:  include($lang_path.’phpmailer.lang-en.php’);
  in c:perlwp/wp-includes/class-phpmailer.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  include($template);
  in c:perlwp/wp-includes/template-loader.php FOUND:  require_once($_template_file);
in c:perlwp/wp-includes/theme.php

woww !!! :D~~ silahkan di exploitasi eh di patch script  milik anda. :D~~

0 komentar:

Posting Komentar

lancarklik.com

Lancarklik
About The Author
Nama saya Yudi Aditya, Saya Bukan Seorang Blogger, Desainer atau Apapun Tapi Saya Hanya Seseorang Yang Ingin Selalu Belajar dan Ingin Tahu Sesuatu Yang Baru...