[ Avaa Bypassed ]




Upload:

Command:

www-data@13.58.229.23: ~ $
#!/usr/bin/perl
# save_serv.cgi
# Create, modify or delete an internet service

require './xinetd-lib.pl';
&ReadParse();
@conf = &get_xinetd_config();
if ($in{'new'}) {
	$xinet = { 'name' => 'service',
		   'members' => [ ] };
	}
else {
	$xinet = $conf[$in{'idx'}];
	($defs) = grep { $_->{'name'} eq 'defaults' } @conf;
	foreach $m (@{$defs->{'members'}}) {
		$ddisable{$m->{'value'}} = $m if ($m->{'name'} eq 'disabled');
		}
	$oldid = $xinet->{'quick'}->{'id'}->[0] || $xinet->{'value'};
	}

&lock_file($config{'xinetd_conf'});
if ($in{'delete'}) {
	# Delete a service
	&delete_xinet($xinet);
	}
else {
	# Validate inputs
	&error_setup($text{'serv_err'});
	$in{'id'} =~ /^\S+$/ || &error($text{'serv_eid'});
	$in{'bind_def'} || &check_ipaddress($in{'bind'}) ||
	    &check_ip6address($in{'bind'}) ||
		&error($text{'serv_ebind'});
	foreach $p (&list_protocols()) {
		@ps = getservbyname($in{'id'}, $p);
		last if (@ps);
		}
	if ($in{'port_def'}) {
		# make sure the service actually exists
		if ($in{'proto'}) {
			@s = getservbyname($in{'id'}, $in{'proto'});
			}
		else {
			@s = @ps;
			}
		@s || &error(&text('serv_estd', $in{'name'}));
		}
	else {
		$in{'port'} =~ /^\d+$/ || &error($text{'serv_eport'});
		$in{'proto'} || @ps || &error($text{'serv_eproto'});
		}
	$in{'inst_def'} || $in{'inst'} =~ /^\d+$/ ||
		&error($text{'serv_einst'});
	$in{'user'} || $in{'prog'} == 0 || &error($text{'serv_euser'});
	$in{'group_def'} || $in{'group'} || &error($text{'serv_egroup'});
	$in{'nice_def'} || $in{'nice'} =~ /^\d+$/ ||
		&error($text{'serv_enice'});
	if (!$in{'cps_def'}) {
		$in{'cps'} =~ /^\d+$/ || &error($text{'serv_ecps0'});
		$in{'cps1'} =~ /^\d+$/ || &error($text{'serv_ecps1'});
		}
	if (!$in{'times_def'}) {
		@times = split(/\s+/, $in{'times'});
		map { &error($text{'serv_etimes'}) if (!/^\d+:\d+\-\d+:\d+$/) }
		    @times;
		}

	# Create service structure
	$xinet->{'values'} = [ $in{'id'} ];
	&set_member_value($xinet, 'disable', $in{'disable'} ? 'yes' : undef);
	&set_member_value($xinet, 'port',
			  $in{'port_def'} ? undef : $in{'port'});
	&set_member_value($xinet, 'bind',
			  $in{'bind_def'} ? undef : $in{'bind'});
	&set_member_value($xinet, 'socket_type', $in{'sock'});
	&set_member_value($xinet, 'protocol', $in{'proto'} ? $in{'proto'}
							   : undef);

	&set_member_value($xinet, 'user', $in{'user'}) if ($in{'user'});
	&set_member_value($xinet, 'group',
			  $in{'group_def'} ? undef : $in{'group'});
	@type = @{$q->{'type'}};
	@flags = @{$q->{'flags'}};
	if ($in{'prog'} == 0) {
		@type = &unique(@type, 'INTERNAL');
		&set_member_value($xinet, 'server');
		&set_member_value($xinet, 'server_args');
		&set_member_value($xinet, 'redirect');
		}
	elsif ($in{'prog'} == 1) {
		@type = grep { $_ ne 'INTERNAL' } @type;
		@s = split(/\s+/, $in{'server'});
		$in{'disable'} || @s && -x $s[0] ||
			&error($text{'serv_eserver'});
		&set_member_value($xinet, 'server', shift(@s));
		&set_member_value($xinet, 'server_args', @s);
		&set_member_value($xinet, 'redirect');
		}
	else {
		&to_ipaddress($in{'rhost'}) ||
			&error($text{'serv_erhost'});
		$in{'rport'} =~ /^\d+$/ || &error($text{'serv_erport'});
		@type = grep { $_ ne 'INTERNAL' } @type;
		&set_member_value($xinet, 'server');
		&set_member_value($xinet, 'server_args');
		&set_member_value($xinet, 'redirect',
				  $in{'rhost'}, $in{'rport'});
		}
	if ($in{'port_def'} || (!$in{'port_def'} && !$in{'proto'} && @ps)) {
		@type = grep { $_ ne 'UNLISTED' } @type;
		}
	else {
		@type = &unique(@type, 'UNLISTED');
		}
	&set_member_value($xinet, 'type', @type);
	&set_member_value($xinet, 'wait', $in{'wait'} ? 'yes' : 'no');
	&set_member_value($xinet, 'instances',
			  $in{'inst_def'} ? undef : $in{'inst'});
	&set_member_value($xinet, 'nice',
			  $in{'nice_def'} ? undef : $in{'nice'});
	&set_member_value($xinet, 'cps',
			  $in{'cps_def'} ? ( ) : ( $in{'cps'},$in{'cps1'} ) );
	&set_member_value($xinet, 'only_from', $in{'from_def'} ? undef :
			  $in{'from'} ? split(/\s+/, $in{'from'}) : ("") );
	&set_member_value($xinet, 'no_access', $in{'access_def'} ? undef :
			  $in{'access'} ? split(/\s+/, $in{'access'}) : ("") );
	&set_member_value($xinet, 'access_times', $in{'times_def'} ? undef
								   : @times);

	if ($in{'new'}) {
		foreach $xi (@conf) {
			if ($xi->{'name'} eq 'service' &&
			    $xi->{'value'} eq $in{'id'}) {
				# A service with the same name exists!
				&set_member_value(
					$xinet, 'id', "$in{'id'}-$in{'sock'}");
				}
			}
		if (-d $config{'add_dir'}) {
			&lock_file($newfile);
			$newfile = "$config{'add_dir'}/$in{'id'}";
			&create_xinet($xinet, $newfile);
			&unlock_file($newfile);
			}
		else {
			&create_xinet($xinet);
			}
		}
	else {
		&modify_xinet($xinet);
		if ($ddisable{$oldid}) {
			# Take out old global disabled
			&delete_xinet($ddisable{$oldid});
			}
		}
	}
&unlock_file($config{'xinetd_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'serv', $xinet->{'values'}->[0], $xinet->{'quick'});
&redirect("");


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 270 B 0644
backup_config.pl File 729 B 0755
cgi_args.pl File 226 B 0755
config File 163 B 0644
config-AlmaLinux-7.0-ALL File 154 B 0644
config-Amazon-Linux-2-ALL File 154 B 0644
config-CentOS-Linux-7.0-ALL File 154 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 154 B 0644
config-CloudLinux-8.0-ALL File 154 B 0644
config-Oracle-Linux-8.0-ALL File 154 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 154 B 0644
config-Rocky-Linux-7.0-ALL File 154 B 0644
config-Scientific-Linux-7.0-ALL File 154 B 0644
config-coherent-linux File 165 B 0644
config-debian-linux File 138 B 0644
config-freebsd File 136 B 0644
config-freebsd-8-ALL File 177 B 0644
config-gentoo-linux File 138 B 0644
config-macos-1.5-6.0 File 159 B 0644
config-macos-7.0-ALL File 181 B 0644
config-mandrake-linux File 134 B 0644
config-msc-linux File 138 B 0644
config-openSUSE-Linux-15.0-ALL File 107 B 0644
config-openmamba-linux File 165 B 0644
config-pardus-linux File 134 B 0644
config-redhat-linux File 165 B 0644
config-redhat-linux-24.0-ALL File 166 B 0644
config-sol-linux File 118 B 0644
config-suse-linux File 139 B 0644
config-suse-linux-7.1-8.2 File 138 B 0644
config-suse-linux-9.0-ALL File 109 B 0644
config-syno-linux File 143 B 0644
config-trustix-linux File 138 B 0644
config-united-linux File 109 B 0644
config.info File 312 B 0644
config.info.ca File 371 B 0644
config.info.de File 335 B 0644
config.info.es File 184 B 0644
config.info.fr File 391 B 0644
config.info.hr File 340 B 0644
config.info.hu File 194 B 0644
config.info.ja File 423 B 0644
config.info.ko File 349 B 0644
config.info.ms File 320 B 0644
config.info.nl File 333 B 0644
config.info.no File 330 B 0644
config.info.pl File 357 B 0644
config.info.ru File 286 B 0644
config.info.sk File 355 B 0644
config.info.sv File 172 B 0644
config.info.tr File 364 B 0644
config.info.uk File 303 B 0644
config.info.zh File 145 B 0644
config.info.zh_TW File 135 B 0644
config_info.pl File 446 B 0755
edit_defaults.cgi File 2.48 KB 0755
edit_serv.cgi File 4.53 KB 0755
feedback_files.pl File 131 B 0755
index.cgi File 4.09 KB 0755
install_check.pl File 398 B 0755
log_parser.pl File 737 B 0755
mass_enable.cgi File 1.38 KB 0755
module.info File 141 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 124 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 151 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 195 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 176 B 0644
module.info.ca File 105 B 0644
module.info.ca.auto File 15 B 0644
module.info.cs File 0 B 0644
module.info.cs.auto File 112 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 122 B 0644
module.info.de File 84 B 0644
module.info.de.auto File 15 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 216 B 0644
module.info.es File 0 B 0644
module.info.es.auto File 120 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 109 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 146 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 110 B 0644
module.info.fr File 0 B 0644
module.info.fr.auto File 122 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 136 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 118 B 0644
module.info.hu File 45 B 0644
module.info.hu.auto File 97 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 109 B 0644
module.info.ja File 0 B 0644
module.info.ja.auto File 156 B 0644
module.info.ko File 0 B 0644
module.info.ko.auto File 137 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 120 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 126 B 0644
module.info.ms File 107 B 0644
module.info.ms.auto File 15 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 121 B 0644
module.info.nl File 25 B 0644
module.info.nl.auto File 92 B 0644
module.info.no File 27 B 0644
module.info.no.auto File 89 B 0644
module.info.pl File 105 B 0644
module.info.pl.auto File 15 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 123 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 132 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 125 B 0644
module.info.ru File 0 B 0644
module.info.ru.auto File 161 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 113 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 124 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 122 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 249 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 124 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 156 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 188 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 144 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 108 B 0644
module.info.zh_TW File 0 B 0644
module.info.zh_TW.auto File 117 B 0644
restart.cgi File 316 B 0755
save_defaults.cgi File 1.52 KB 0755
save_serv.cgi File 4.88 KB 0755
start.cgi File 290 B 0755
xinetd-lib.pl File 3.97 KB 0755