Hai, kali ini saya akan share artikel exploitasi bug/celah LFD (Local File Download).
Nah berdasarkan pengamatan saya tentang di retasnya situs indipass.indihome.co.id yang di retas oleh Team hacker Anonymous Cyber Team (ACT) yang mengunakan metode Local File Download. Mengapa saya bahas masalah bug ini, karna Bug ini sangat berbahaya, saking bahayanya jika web kalian mempunyai Adminer seperti PHPMYADMIN. Nah jadikan tinggal di akses aja, bahaya bukan untuk web kalian, bisa-bisa ke defave web kalian.Namun bug ini sering dianggap tidak berguna bagi para defacer dan hacker.
Gimana defacer bisa deface web kita lewat bug LFD? Ya bisa, logikanya gampang saja. Pertama-tama si penyerang mendownload file config yang menyimpan user&password database.Terus si penyerang buka lewat Adminer.
Cara patch nya gimana?, mari kita bahas satu-satu. Coba lihat source code download.php berikut:
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if( $filename == "" )
{
echo "<html><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
Lihat tuh kagak ada filer kan? Yap Siapa pun bisa download config.php dari server tersebut,anggap saya servernya linux.Terus di masukin link:
http:///fbi.gov/download.php?file=config.php (jika path nya benar)
Nah gimana kalau path nya : '../../../../../../../../../../etc/passwd' atau '/public_html/config.php' gimana coba bisa di habisin web kalian.
Sekarang kita coba login pake user dan password dari config.php mysql(anggap aja server mysql).
Terus anggap aja path Adminernya www.fbi.gov/phpmyadmin, ya tinggal login aja lagi.
lihat berhasil login kan, maaf website kgk ke sensor.
Cara patch nya?Ya kasih filter lah di $_GET nya,klo perlu ganti aja $_POST lalu di filter.
Filter paling sederhana ya dikasih path khusus yg nggk ada file penting,misalnya:
$files= '/uploads/pdf/'+$_POST['files'];
Dan jgn lupa dikasih filter pake pregmatch biar si attacker nggk bisa masukin '../' (directory transversal attack)
Pake str_replace yg paling gampang.Contoh:
$files='/uploads/pdf/'+str_replace('..','%20',$_POST['files']);
Untuk lebih amannya lagi,mending bikin file download sekarang pke sql aja deh.Pke cara konvensional dah nggk jaman eak...Tapi jgn lupa dilindungin juga dari sql inject,ntr malah tetep kena hek lagi webnya.Dan klo nggk benar-benar diperlukan,mending nggk ush pakai phpmyadmin segala,konsol aja dh cukup.
Sekian dari admin Forum IndoNetIndoNet
- Banjarmasin, 29 Oktober 2017
Share This :


comment 1 komentar
more_vertHarrah's Philadelphia Casino & Racetrack - Mapyro
Delete 3 Maret 2022 pukul 17.06Harrah's Philadelphia Casino & Racetrack is 태백 출장마사지 an 김포 출장안마 MGM 시흥 출장마사지 Resorts property located in the center of 남원 출장샵 Chester. Located on the former site of a former racing track 순천 출장안마 in