Script Name: TFT-Gallery Authors: Mike Scalora, Eric Thelin, Sascha Lorenz & Jan Berndt Website: http://tftgallery.sourceforge.net Bug Report: NetJackal (nj[AT]hackerz[DOT]ir & nima_501[AT]yahoo[DOT]com) Status: Patch not released First i should apologize for my bad english. Intro: TFT-Gallery is a PHP-based Web image gallery & does n't require databse. Bugs Description: First bug) Look at admin`s index page(/admin/index.php) if(file_exists("passwd")) { $fd = fopen("passwd", "r"); $givenpw = fgets($fd,15); fclose($fd); if(isset($_REQUEST['password']) and isset($_REQUEST['username']) and $_REQUEST['username']=='admin' and crypt($_REQUEST['password'], "tftgallery") == $givenpw) { $_SESSION['admin']=true; } else { include_once "login_form.inc"; exit; } } TFT-Gallery stores admin's password in "passwd" file at admin folder, so everyone has access to it by going to: http://victim/admin/passwd TIP: Password hashed by DES algorithm. TIP: Username is "admin". Second Bug) TFT-Gallery doesn't check file extension so if somebody who has gain access by First bug can upload any file extension (ex. evil.php). Solution: Edit code and store passwd some where else (out of wwwroot).