HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/usr/share/webmin/software/view.cgi
#!/usr/bin/perl
# view.cgi
# Output the contents of a file

require './software-lib.pl';
$p = $ENV{'PATH_INFO'};

# Try to guess type from filename
if ($p =~ /\.([^\.\/]+)$/) {
	$ext = lc($1);
	&get_miniserv_config(\%miniserv);
	open(MIME, "<$miniserv{'mimetypes'}");
	while(<MIME>) {
		s/#.*//g;
		if (/(\S+)\s+(.*)/) {
			foreach $e (split(/\s+/, $2)) {
				if ($ext eq $e) {
					$type = $1;
					last;
					}
				}
			}
		}
	close(MIME);
	}
if (!$type) {
	# No idea .. use the 'file' command
	if (`file "$p"` =~ /text|script/) {
		$type = "text/plain";
		}
	else {
		$type = "application/octet-stream";
		}
	}

# Dump the file
if (!open(FILE, "<$p")) {
	print "Content-type: text/plain\n\n";
	print &text('list_eview', $p, $!),"\n";
	}
else {
	@st = stat($p);
	print "Content-length: $st[7]\n";
	print "Content-type: $type\n\n";
	my $bs = &get_buffer_size();
	while(read(FILE, $buf, $bs)) {
		print $buf;
		}
	close(FILE);
	}