[ Avaa Bypassed ]




Upload:

Command:

www-data@18.216.248.35: ~ $
#!/usr/bin/perl
# create_virt.cgi
# Create a new virtual host.

require './apache-lib.pl';
&ReadParse();
$access{'create'} || &error($text{'cvirt_ecannot'});
&error_setup($text{'cvirt_err'});
$conf = &get_config();

# get directives from clone
if ($in{'clone'} ne '') {
	$clone = $conf->[$in{'clone'}];
	@cmems = grep { $_->{'name'} ne 'ServerName' &&
		        $_->{'name'} ne 'Port' &&
		        $_->{'name'} ne 'DocumentRoot' &&
		        $_->{'name'} ne 'ServerAlias' } @{$clone->{'members'}};
	}

# Parse and find the specified address to listen on
if ($in{'addr_def'} == 1) {
	if ($httpd_modules{'core'} >= 1.2) { $addr = "_default_"; }
	else { $addr = "*"; }
	}
elsif ($in{'addr_def'} == 2) {
	$addr = "*";
	}
elsif ($in{'addr'} !~ /\S/) {
	&error($text{'cvirt_eaddr1'});
	}
else {
	foreach $a (split(/\s+/, $in{'addr'})) {
		&to_ipaddress($a) || &to_ip6address($a) ||
			&error(&text('cvirt_eaddr2', $a));
		push(@addrs, &check_ip6address($a) ? "[$a]" : $a);
		}
	$addr = join(" ", @addrs);
	}

# Parse and find the specified port
$defport = &find_directive("Port", $conf) || 80;
if ($in{'port_mode'} == 0) {
	$port = "";
	$portnum = $defport;
	}
elsif ($in{'port_mode'} == 1) {
	$port = ":*";
	$portnum = "*";
	}
elsif ($in{'port'} !~ /^\d+$/) {
	&error(&text('cvirt_eport', $in{'port'}));
	}
else {
	$port = ":$in{'port'}";
	$portnum = $in{'port'};
	}

if (!$in{'name_def'}) {
	@names = split(/\s+/, $in{'name'});
	@names || &error(&text('cvirt_ename', $in{'name'}));
	foreach my $n (@names) {
		$n =~ /^[a-z0-9\.\_\-]+$/i || &error(&text('vserv_ename', $n));
		}
	}

# Check if the virtual server already exists
if (!$in{'name_def'}) {
	$aclname = "$in{'name'}$port";
	@virt = &find_directive_struct("VirtualHost", $conf);
	foreach $v (@virt) {
		local ($clash) = grep { $_ eq $aclname } &virt_acl_name($v);
		$clash && &error($text{'cvirt_etaken'});
		}
	}

# Check if the root directory is allowed
!$in{'root'} || &allowed_auth_file($in{'root'}) ||
	&error(&text('cvirt_eroot3', $in{'root'}));

if ($in{'root'} && !-e $in{'root'}) {
	# create the document root
	mkdir($in{'root'}, 0755) ||
		&error(&text('cvirt_eroot2', $in{'root'}, $!));
	$user = &find_directive("User", $conf);
	$group = &find_directive("Group", $conf);
	$user || &error($text{'cvirt_eroot4'});
	&set_ownership_permissions($user, $group, undef, $in{'root'});
	}

# find file to add to
if ($in{'fmode'} == 0) {
	# Use the first file in config (usually httpd.conf)
	$vconf = &get_virtual_config();
	$f = $vconf->[0]->{'file'};
	for($j=0; $vconf->[$j]->{'file'} eq $f; $j++) { }
	$l = $vconf->[$j-1]->{'eline'}+1;
	}
elsif ($in{'fmode'} == 1) {
	# Use the standard file/directory for virtual hosts
	local $vfile = &server_root($config{'virt_file'});
	if (!-d $vfile) {
		# Just appending to a file
		$f = $vfile;
		}
	elsif ($in{'name_def'}) {
		# No server name, so use webmin.UTIME.conf
		$linkfile = "webmin.".time().".conf";
		$f = "$vfile/$linkfile";
		}
	else {
		# Work out a filename
		$tmpl = $config{'virt_name'} || '${DOM}.conf';
		%hash = ( 'dom' => $in{'name'},
			  'ip' => $addr );
		$linkfile = &substitute_template($tmpl, \%hash);
		$f = "$vfile/$linkfile";
		}
	}
else {
	# Use a user-specified file
	$f = $in{'file'};
	}
-r $f || open(FILE, ">>$f") || &error(&text('cvirt_efile', &html_escape($f), $!));
close(FILE);

&lock_apache_files();
&lock_file($f);
&before_changing();
 
# Check each IP address for a needed Listen and NameVirtualHost directive
foreach $a (@addrs) {
	local $ip = &to_ipaddress($a);
	if ($in{'listen'} && $ip) {
		# add Listen if needed
		local @listen = &find_directive("Listen", $conf);
		local $lfound;
		foreach $l (@listen) {
			if ($portnum eq "*") {
				# Look for any Listen directive that would match the IP
				$lfound++ if ($l eq "*" ||
					      $l =~ /^\d+$/ ||
					      ($l =~ /^(\S+):(\d+)$/ &&
					       &to_ipaddress("$1") eq $ip) ||
					      &to_ipaddress($l) eq $ip);
				}
			else {
				# Look for a Listen directive that would match
				# the specified port and IP
				$lfound++ if (($l eq '*' && $portnum == $defport) ||
					      ($l =~ /^\*:(\d+)$/ && $portnum == $1) ||
					      ($l =~ /^0\.0\.0\.0:(\d+)$/ && $portnum == $1) ||
					      ($l =~ /^\d+$/ && $portnum == $l) ||
					      ($l =~ /^(\S+):(\d+)$/ &&
					       &to_ipaddress("$1") eq $ip &&
					       $2 == $portnum) ||
					      (&to_ipaddress($l) eq $ip));
				}
			}
		if (!$lfound && @listen > 0) {
			# Apache is listening on some IP addresses, but not the
			# entered one.
			local $lip;
			if ($httpd_modules{'core'} >= 2) {
				$lip = $in{'port_mode'} == 2 ? "$ip:$in{'port'}"
							     : "$ip:80";
				}
			else {
				$lip = $in{'port_mode'} == 2 ? "$ip:$in{'port'}" : $ip;
				}
			&save_directive("Listen", [ @listen, $lip ], $conf, $conf);
			}
		}

	# add NameVirtualHost if needed
	if ($in{'nv'} && !$in{'addr_def'} && $ip) {
		local $found;
		local @nv = &find_directive("NameVirtualHost", $conf);
		foreach $nv (@nv) {
			$found++ if (&to_ipaddress($nv) eq $ip ||
				     $nv =~ /^(\S+):(\S+)/ &&
				      &to_ipaddress("$1") eq $ip ||
				     $nv eq '*' ||
				     $nv =~ /^\*:(\d+)$/ && $1 eq $portnum ||
				     $nv =~ /^0\.0\.0\.0:(\d+)$/ && $1 eq $portnum);
			}
		if (!$found) {
			&save_directive("NameVirtualHost", [ @nv, $ip ], $conf, $conf);
			}
		}
	}

# Create the structure
if (@addrs) {
	$ap = join(" ", map { $_.$port } @addrs);
	}
else {
	$ap = $addr.$port;
	}
@mems = ( );
$virt = { 'name' => 'VirtualHost',
	  'value' => $ap,
	  'file' => $f,
	  'type' => 1,
	  'members' => \@mems };
push(@mems, { 'name' => 'DocumentRoot',
	      'value' => "\"$in{'root'}\"" }) if ($in{'root'});
if (@names) {
	push(@mems, { 'name' => 'ServerName',
		      'value' => $names[0] });
	shift(@names);
	foreach $sa (@names) {
		push(@mems, { 'name' => 'ServerAlias',
			      'value' => $sa });
		}
	}
push(@mems, @cmems);

if ($in{'adddir'} && $in{'root'}) {
	# Add a <Directory> section for the root
	my @dmems;
	if ($httpd_modules{'core'} < 2.4) {
		push(@dmems, { 'name' => 'allow',
			       'value' => 'from all' });
		}
	push(@dmems, { 'name' => 'Options',
		       'value' => 'None' });
	$dirsect = { 'name' => 'Directory',
		     'value' => "\"$in{'root'}\"",
		     'type' => 1,
		     'members' => \@dmems,
		   };
	if ($httpd_modules{'core'} >= 2.4) {
		# Apache 2.4+ needs a 'Require all granted' line
		push(@{$dirsect->{'members'}},
		     { 'name' => 'Require',
		       'value' => 'all granted' });
		}
	push(@mems, $dirsect);
	}
foreach my $m (@mems) {
	$m->{'indent'} = 4;
	}
foreach my $m (@{$dirsect->{'members'}}) {
	$m->{'indent'} = 8;
	}

# Save to the file
&save_directive_struct(undef, $virt, $conf, $conf);
&flush_file_lines();
&unlock_file($f);
&update_last_config_change();
&unlock_apache_files();

# Create a symlink from another dir, if requested (as in Debian)
if ($linkfile) {
	&create_webfile_link($f);
	}

# Make sure it was really added
undef(@get_config_cache);
$conf = &get_config();
$found = 0;
foreach $v (&find_directive_struct("VirtualHost", $conf)) {
	next if ($v->{'value'} ne $ap);
	if (@names) {
		$nsn = &find_directive("ServerName", $v->{'members'});
		next if ($nsn ne $names[0]);
		}
	$found = 1;
	}
if (!$found) {
	&rollback_apache_config();
	&error(&text('cvirt_emissing', $f, "../config.cgi?$module_name"));
	}

&after_changing();
&format_config_file($f);
&webmin_log("virt", "create", ($in{'name_def'} ? $addr : $in{'name'}).$port,
	    \%in);

# add to acl
if ($access{'virts'} ne '*') {
	$access{'virts'} .= " $aclname";
	&save_module_acl(\%access);
	}
&redirect("");


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 4.06 KB 0644
acl_security.pl File 5.44 KB 0755
allmanual_form.cgi File 1.26 KB 0755
allmanual_save.cgi File 915 B 0755
apache-lib.pl File 57.96 KB 0755
auth-lib.pl File 3.09 KB 0755
autoindex.pl File 9.54 KB 0755
backup_config.pl File 1.4 KB 0755
browsermatch.pl File 2.15 KB 0755
cache.pl File 3 KB 0755
cgi_args.pl File 1.02 KB 0755
change_dir.cgi File 1.36 KB 0755
change_files.cgi File 1.13 KB 0755
config-AlmaLinux-7.0-ALL File 419 B 0644
config-Amazon-Linux-2-ALL File 419 B 0644
config-CentOS-Linux-7.0-ALL File 419 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 419 B 0644
config-CloudLinux-8.0-ALL File 419 B 0644
config-Fedora-Linux-20.00-ALL File 419 B 0644
config-Oracle-Linux-8.0-ALL File 419 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 419 B 0644
config-Rocky-Linux-7.0-ALL File 419 B 0644
config-Scientific-Linux-7.0-ALL File 419 B 0644
config-aix File 300 B 0644
config-cobalt-linux File 311 B 0644
config-coherent-linux File 387 B 0644
config-corel-linux File 412 B 0644
config-debian-linux File 412 B 0644
config-debian-linux-10.0-ALL File 552 B 0644
config-debian-linux-3.1-6.9 File 607 B 0644
config-debian-linux-7.0-9.0 File 637 B 0644
config-freebsd File 457 B 0644
config-freebsd-8.0-ALL File 465 B 0644
config-generic-linux File 321 B 0644
config-gentoo-linux File 447 B 0644
config-hpux File 321 B 0644
config-irix File 321 B 0644
config-irix-6.5 File 359 B 0644
config-lfs-linux File 503 B 0644
config-macos File 533 B 0644
config-macos-1.3-8.1 File 382 B 0644
config-macos-9.2-ALL File 347 B 0644
config-mandrake-linux File 401 B 0644
config-msc-linux File 301 B 0644
config-netbsd File 421 B 0644
config-open-linux-2.3 File 377 B 0644
config-open-linux-2.3e File 363 B 0644
config-open-linux-2.4 File 363 B 0644
config-open-linux-2.5 File 460 B 0644
config-open-linux-3.1e File 471 B 0644
config-openSUSE-Linux-15.0-ALL File 539 B 0644
config-openbsd File 383 B 0644
config-openmamba-linux File 417 B 0644
config-openserver File 461 B 0644
config-osf1 File 321 B 0644
config-pardus-linux File 397 B 0644
config-redhat-linux File 311 B 0644
config-redhat-linux-12.1-12.9 File 388 B 0644
config-redhat-linux-13.0-23.0 File 373 B 0644
config-redhat-linux-24.0-ALL File 419 B 0644
config-redhat-linux-7.0-7.4 File 431 B 0644
config-redhat-linux-8.0 File 387 B 0644
config-redhat-linux-8.1 File 473 B 0644
config-redhat-linux-9.0-12.0 File 387 B 0644
config-slackware-linux File 212 B 0644
config-slackware-linux-12.0-ALL File 422 B 0644
config-slackware-linux-7.0-7.1 File 349 B 0644
config-slackware-linux-8.0-ALL File 388 B 0644
config-sol-linux File 333 B 0644
config-solaris File 321 B 0644
config-solaris-10 File 325 B 0644
config-solaris-11-ALL File 475 B 0644
config-solaris-9 File 325 B 0644
config-suse-linux File 414 B 0644
config-suse-linux-7.1-8.0 File 412 B 0644
config-suse-linux-8.2 File 439 B 0644
config-suse-linux-9.0 File 471 B 0644
config-suse-linux-9.1-ALL File 547 B 0644
config-syno-linux File 321 B 0644
config-trustix-linux File 372 B 0644
config-turbo-linux File 311 B 0644
config-united-linux File 403 B 0644
config-unixware File 461 B 0644
config-windows File 449 B 0644
config.info File 2.03 KB 0644
config.info.bg File 3.31 KB 0644
config.info.ca File 2.22 KB 0644
config.info.cs File 2.03 KB 0644
config.info.da File 479 B 0644
config.info.de File 2.24 KB 0644
config.info.es File 1.76 KB 0644
config.info.fa File 2.36 KB 0644
config.info.fr File 2.46 KB 0644
config.info.hr File 0 B 0644
config.info.hu File 775 B 0644
config.info.ja File 2.16 KB 0644
config.info.ms File 2.15 KB 0644
config.info.nl File 1.98 KB 0644
config.info.no File 2.05 KB 0644
config.info.pl File 2.12 KB 0644
config.info.pt_BR File 2.15 KB 0644
config.info.ru File 1.56 KB 0644
config.info.ru.UTF-8 File 1.56 KB 0644
config.info.sv File 650 B 0644
config.info.tr File 1.81 KB 0644
config.info.uk File 1.58 KB 0644
config.info.zh File 568 B 0644
config.info.zh_TW File 1.23 KB 0644
config_solaris.txt.1.25 File 81 B 0644
core.pl File 40.41 KB 0755
create_dir.cgi File 1.24 KB 0755
create_files.cgi File 1014 B 0755
create_htaccess.cgi File 1.49 KB 0755
create_virt.cgi File 7.4 KB 0755
defaultacl File 119 B 0644
delete_htaccess.cgi File 552 B 0755
delete_vservs.cgi File 832 B 0755
dir_index.cgi File 1.94 KB 0755
edit_authgroup.cgi File 1.52 KB 0755
edit_authuser.cgi File 1.75 KB 0755
edit_defines.cgi File 799 B 0755
edit_dir.cgi File 1.03 KB 0755
edit_files.cgi File 1.06 KB 0755
edit_global.cgi File 1.62 KB 0755
edit_gmime_type.cgi File 1.01 KB 0755
edit_htaccess.cgi File 999 B 0755
edit_mods.cgi File 1.04 KB 0755
edit_virt.cgi File 1.46 KB 0755
feedback_files.pl File 125 B 0755
files_index.cgi File 1.68 KB 0755
find_htaccess.cgi File 1.78 KB 0755
htaccess.cgi File 1.28 KB 0755
htaccess_index.cgi File 2.38 KB 0755
index.cgi File 15.34 KB 0755
install_check.pl File 450 B 0755
list_authgroups.cgi File 1.42 KB 0755
list_authusers.cgi File 1.88 KB 0755
log_parser.pl File 3.7 KB 0755
manual_form.cgi File 3.2 KB 0755
manual_save.cgi File 2.24 KB 0755
mod_access.pl File 3.18 KB 0755
mod_actions.pl File 2.57 KB 0755
mod_alias.pl File 5.7 KB 0755
mod_apachessl.pl File 13.47 KB 0755
mod_asis.pl File 125 B 0755
mod_auth.pl File 1.88 KB 0755
mod_auth_basic.pl File 983 B 0755
mod_auth_dbm.pl File 1.79 KB 0755
mod_auth_digest.pl File 1.56 KB 0755
mod_authn_dbm.pl File 1.02 KB 0755
mod_authn_file.pl File 838 B 0755
mod_authz_dbm.pl File 1.38 KB 0755
mod_authz_groupfile.pl File 863 B 0755
mod_authz_host.pl File 314 B 0755
mod_authz_owner.pl File 139 B 0755
mod_autoindex.pl File 2.15 KB 0755
mod_bandwidth.pl File 3.86 KB 0755
mod_browser.pl File 274 B 0755
mod_cache.pl File 2.73 KB 0755
mod_cern_meta.pl File 1.13 KB 0755
mod_cgi.pl File 1.26 KB 0755
mod_cgid.pl File 1.26 KB 0755
mod_dav.pl File 1.1 KB 0755
mod_dir.pl File 1.06 KB 0755
mod_disk_cache.pl File 1.03 KB 0755
mod_env.pl File 2.03 KB 0755
mod_expires.pl.broken File 3.22 KB 0644
mod_ext_filter.pl File 2.63 KB 0755
mod_fastcgi.pl File 181 B 0755
mod_fcgid.pl File 169 B 0755
mod_http2.pl File 107 B 0755
mod_imap.pl File 2.35 KB 0755
mod_include.pl File 601 B 0755
mod_info.pl File 145 B 0755
mod_log_agent.pl File 1.08 KB 0755
mod_log_common.pl File 1.14 KB 0755
mod_log_config.pl File 4.49 KB 0755
mod_log_referer.pl File 1.59 KB 0755
mod_mem_cache.pl File 1.1 KB 0755
mod_mime.pl File 6.16 KB 0755
mod_mime_magic.pl File 521 B 0755
mod_mpm_prefork.pl File 820 B 0755
mod_negotiation.pl File 1.25 KB 0755
mod_perl.pl File 147 B 0755
mod_php.pl File 93 B 0755
mod_php3.pl File 147 B 0755
mod_php4.pl File 2.89 KB 0755
mod_php5.pl File 2.82 KB 0755
mod_php7.pl File 2.82 KB 0755
mod_proxy.pl File 8.42 KB 0755
mod_proxy_balancer.pl File 173 B 0755
mod_rewrite.pl File 121 B 0755
mod_ruby.pl File 155 B 0755
mod_setenvif.pl File 3.04 KB 0755
mod_speling.pl File 565 B 0755
mod_ssl.pl File 6.22 KB 0755
mod_status.pl File 542 B 0755
mod_suexec.pl File 1.24 KB 0755
mod_userdir.pl File 2.58 KB 0755
mod_vhost_alias.pl File 2.33 KB 0755
module.info File 265 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 104 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 156 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 154 B 0644
module.info.bg File 35 B 0644
module.info.bg.auto File 130 B 0644
module.info.ca File 109 B 0644
module.info.ca.auto File 15 B 0644
module.info.cs File 26 B 0644
module.info.cs.auto File 87 B 0644
module.info.da File 25 B 0644
module.info.da.auto File 85 B 0644
module.info.de File 92 B 0644
module.info.de.auto File 15 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 170 B 0644
module.info.es File 28 B 0644
module.info.es.auto File 93 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 106 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 171 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 119 B 0644
module.info.fr File 27 B 0644
module.info.fr.auto File 96 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 162 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 110 B 0644
module.info.hu File 95 B 0644
module.info.hu.auto File 15 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 118 B 0644
module.info.ja File 28 B 0644
module.info.ja.auto File 115 B 0644
module.info.ko File 26 B 0644
module.info.ko.auto File 95 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 137 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 124 B 0644
module.info.ms File 108 B 0644
module.info.ms.auto File 15 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 118 B 0644
module.info.nl File 25 B 0644
module.info.nl.auto File 83 B 0644
module.info.no File 25 B 0644
module.info.no.auto File 83 B 0644
module.info.pl File 96 B 0644
module.info.pl.auto File 14 B 0644
module.info.pt File 28 B 0644
module.info.pt.auto File 84 B 0644
module.info.pt_BR File 31 B 0644
module.info.pt_BR.auto File 90 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 114 B 0644
module.info.ru File 35 B 0644
module.info.ru.auto File 111 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 116 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 115 B 0644
module.info.sv File 25 B 0644
module.info.sv.auto File 84 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 235 B 0644
module.info.tr File 28 B 0644
module.info.tr.auto File 99 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 150 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 160 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 138 B 0644
module.info.zh File 25 B 0644
module.info.zh.auto File 76 B 0644
module.info.zh_TW File 34 B 0644
module.info.zh_TW.auto File 82 B 0644
mpm_netware.pl File 1.26 KB 0755
mpm_winnt.pl File 801 B 0755
notes File 1.12 KB 0644
perchild.pl File 4.05 KB 0755
postinstall.pl File 92 B 0755
prefork.pl File 796 B 0755
prefs.info File 52 B 0644
reconfig.cgi File 543 B 0755
reconfig_form.cgi File 1.55 KB 0755
remove_vserv.pl File 814 B 0755
restart.cgi File 1019 B 0755
save_authgroup.cgi File 1.09 KB 0755
save_authuser.cgi File 1.17 KB 0755
save_defines.cgi File 462 B 0755
save_dir.cgi File 640 B 0755
save_files.cgi File 745 B 0755
save_global.cgi File 483 B 0755
save_gmime_type.cgi File 745 B 0755
save_htaccess.cgi File 671 B 0755
save_mods.cgi File 883 B 0755
save_sync.cgi File 488 B 0755
save_virt.cgi File 1.05 KB 0755
save_vserv.cgi File 3.73 KB 0755
search_virt.cgi File 4.12 KB 0755
show.cgi File 3.64 KB 0755
show_dir.cgi File 1.99 KB 0755
show_files.cgi File 1.99 KB 0755
show_htaccess.cgi File 2.02 KB 0755
show_virt.cgi File 2.12 KB 0755
start.cgi File 309 B 0755
stop.cgi File 290 B 0755
syslog_logs.pl File 457 B 0755
useradmin_update.pl File 957 B 0755
virt_index.cgi File 4.92 KB 0755
worker.pl File 1.57 KB 0755