[ Avaa Bypassed ]




Upload:

Command:

www-data@3.145.17.123: ~ $
#!/usr/bin/perl
# index.cgi
# Display the icons for various types of proftpd config options

require './proftpd-lib.pl';

# Check if proftpd is installed
@st = stat($config{'proftpd_path'});
if (!@st) {
	&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("proftpd", "man", "doc", "google"));
	print &text('index_eproftpd', "<tt>$config{'proftpd_path'}</tt>",
		  "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";

	&foreign_require("software", "software-lib.pl");
	$lnk = &software::missing_install_link("proftpd",$text{'index_proftpd'},
			"../$module_name/", $text{'index_title'});
	print $lnk,"<p>\n" if ($lnk);

	&ui_print_footer("/", $text{'index'});
	exit;
	}

# Check if the config file exists
$conf = &get_config();
if (!@$conf) {
	&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("proftpd", "man", "doc", "google"));
	print &text('index_econf', "<tt>$config{'proftpd_conf'}</tt>",
		  "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
	&ui_print_footer("/", $text{'index'});
	exit;
	}

# Check if the executable has changed ..
if ($site{'size'} != $st[7]) {
	# Check if it really is proftpd and the right version
	$site{'size'} = $st[7];
	$ver = &get_proftpd_version(\$out);
	if (!$ver) {
		&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
			&help_search_link("proftpd", "man", "doc", "google"));
		print &text('index_eproftpd2',
			  "<tt>$config{'proftpd_path'}</tt>",
			  "@{[&get_webprefix()]}/config.cgi?$module_name",
			  "<tt>$config{'proftpd_path'} -v</tt>",
			  "<pre>$out</pre>"),"<p>\n";
		&ui_print_footer("/", $text{'index'});
		exit;
		}
	$site{'version'} = $ver;
	if ($site{'version'} < 0.99) {
		&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
			&help_search_link("proftpd", "man", "doc", "google"));
		print &text('index_eversion',
			  "<tt>$config{'proftpd_path'}</tt>",
			  "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
		&ui_print_footer("/", $text{'index'});
		exit;
		}

	# Get the list of modules
	local @mods;
	open(MODS, "$config{'proftpd_path'} -l |");
	while(<MODS>) {
		s/\r|\n//g;
		if (/^\s*(\S+)\.c$/) {
			push(@mods, $1);
			}
		}
	close(MODS);
	$site{'modules'} = join(" ", @mods);
	&write_file("$module_config_directory/site", \%site);
	}

&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("proftpd", "man", "doc", "google"),
	undef, undef, &text('index_version', $site{'version'}));
$conf = &get_config();

# Display global category icons
print &ui_subheading($text{'index_global'});
$ft_icon = { "icon" => "images/dir.gif",
	     "name" => $text{'ftpaccess_title'},
	     "link" => "ftpaccess.cgi" };
$us_icon = { "icon" => "images/ftpusers.gif",
	     "name" => $text{'ftpusers_title'},
	     "link" => "edit_ftpusers.cgi" };
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'manual_configs'},
	     "link" => "allmanual_form.cgi" };
&config_icons("root global", "edit_global.cgi?", $ft_icon, $us_icon, $ed_icon);

# Display global per-directory/limit options
$global = &find_directive_struct("Global", $conf);
$gconf = $global->{'members'} if ($global);
@dir = ( &find_directive_struct("Directory", $gconf) ,
	 &find_directive_struct("Limit", $gconf) );
if (@dir) {
	print &ui_hr();
	print &ui_subheading($text{'virt_header'});
	foreach $d (@dir) {
		if ($d->{'name'} eq 'Limit') {
			push(@links, "limit_index.cgi?limit=".
				     &indexof($d, @$gconf)."&global=1");
			push(@titles, &text('virt_limit', $d->{'value'}));
			push(@icons, "images/limit.gif");
			}
		else {
			push(@links, "dir_index.cgi?idx=".
				     &indexof($d, @$gconf)."&global=1");
			push(@titles, &text('virt_dir', $d->{'value'}));
			push(@icons, "images/dir.gif");
			}
		}
	&icons_table(\@links, \@titles, \@icons, 3);
	}

print "<table width=100%><tr><td>\n";

print "<form action=create_dir.cgi>\n";
print "<input type=hidden name=global value=1>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_adddir'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_path'}</b></td>\n";
print "<td><input name=dir size=30>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td><td>\n";

print "<form action=create_limit.cgi>\n";
print "<input type=hidden name=global value=1>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_addlimit'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_cmds'}</b></td>\n";
print "<td><input name=cmd size=20>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td></tr></table>\n";


# Start virtual server list with default
push(@vname, $text{'index_defserv'});
push(@vlink, "virt_index.cgi");
push(@vdesc, $text{'index_defdesc'});
push(@vaddr, $text{'index_any'});
push(@vserv, &def(&find_directive("ServerName", $conf), $text{'default'}));

# Add other virtual servers
@virt = &find_directive_struct("VirtualHost", $conf);
foreach $v (@virt) {
	$vm = $v->{'members'};
	push(@vname, $text{'index_virt'});
	push(@vlink, "virt_index.cgi?virt=".&indexof($v, @$conf));
	push(@vaddr, $v->{'value'});
	$sname = &find_directive("ServerName", $vm);
	local $ip = &to_ipaddress($v->{'value'});
	push(@vdesc, &text('index_vdesc', $ip ? $ip : $text{'index_eip'}));
	push(@vserv, &def(&find_vdirective("ServerName", $vm, $conf),
			  $text{'index_auto'}));
	}

# Show virtual servers
print &ui_hr();
print &ui_subheading($text{'index_virts'});

if ($config{'show_list'} && scalar(@vname)) {
	# as list for people with lots of servers
	print "<table width=100% border=1>\n";
	print "<tr $tb> <td><b>$text{'index_type'}</b></td> ",
	      "<td><b>$text{'index_addr'}</b></td> ",
	      "<td><b>$text{'index_name'}</b></td> </tr>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr $cb>\n";
		print "<td><a href=\"$vlink[$i]\">",
		      &html_escape($vname[$i]),"</a></td>\n";
		print "<td>",&html_escape($vaddr[$i]),"</td>\n";
		print "<td>",&html_escape($vserv[$i]),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	# as icons for niceness
	print "<table width=100% cellpadding=5>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr> <td valign=top align=center nowrap>";
		print '<div class="row icons-row inline-row">';
		&generate_icon("images/virt.gif", &html_escape($vname[$i]),
			       $vlink[$i]);
		print "</div>\n";
		print "</td> <td valign=top>\n";
		print &html_escape($vdesc[$i]),"<br>\n";
		print "<table width=100%><tr>\n";
		print "<td width=30%><b>$text{'index_addr'}</b> ",
		      &html_escape($vaddr[$i]),"</td>\n";
		print "<td width=70%><b>$text{'index_name'}</b> ",
		      &html_escape($vserv[$i]),"</td></tr>\n";
		print "</table></td> </tr>\n";
		}
	print "</table>\n";
	}

print "<form action=create_virt.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'index_create'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'index_addr'}</b></td>\n";
print "<td><input name=addr size=25></td> </tr>\n";
print "<tr> <td><b>$text{'index_port'}</b></td>\n";
print "<td>",&opt_input(undef, "Port", $text{'default'}, 6),"</td> </tr>\n";
print "<tr> <td><b>$text{'index_name'}</b></td>\n";
print "<td>",&opt_input(undef, "ServerName", $text{'default'}, 25);
print "&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table>\n";
print "</form>\n";

# Find out how ProFTPd is running
($inet, $inet_mod) = &running_under_inetd();
if (!$inet) {
	# Get the FTP server pid
	$pid = &get_proftpd_pid();
	print &ui_hr();
	print &ui_buttons_start();
	}
if (!$inet && $pid) {
	print &ui_buttons_row("apply.cgi",
			      $text{'index_apply'},
			      &get_proftpd_version() > 1.22 ? 
				$text{'index_applymsg2'} :
				$text{'index_applymsg'});
	print &ui_buttons_row("stop.cgi",
			      $text{'index_stop'}, $text{'index_stopmsg'});
	}
elsif (!$inet && !$pid) {
	print &ui_buttons_row("start.cgi",
		      $text{'index_start'},
		      $inet_mod ? &text('index_startmsg', "/$inet_mod/")
				: $text{'index_startmsg2'});
	}
if (!$inet) {
	print &ui_buttons_end();
	}

&ui_print_footer("/", $text{'index'});


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 484 B 0644
allmanual_form.cgi File 1.07 KB 0755
allmanual_save.cgi File 652 B 0755
anon_index.cgi File 2.64 KB 0755
apply.cgi File 349 B 0755
backup_config.pl File 797 B 0755
config File 179 B 0644
config-AlmaLinux-7.0-ALL File 292 B 0644
config-Amazon-Linux-2-ALL File 258 B 0644
config-CentOS-Linux-7.0-ALL File 292 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 292 B 0644
config-CloudLinux-8.0-ALL File 292 B 0644
config-Oracle-Linux-8.0-ALL File 292 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 258 B 0644
config-Rocky-Linux-7.0-ALL File 292 B 0644
config-Scientific-Linux-7.0-ALL File 258 B 0644
config-Ubuntu-Linux File 231 B 0644
config-cobalt-linux File 157 B 0644
config-coherent-linux File 157 B 0644
config-debian-linux File 227 B 0644
config-debian-linux-10.0-ALL File 231 B 0644
config-debian-linux-4.0-9.0 File 235 B 0644
config-freebsd File 173 B 0644
config-freebsd-8-ALL File 269 B 0644
config-gentoo-linux File 165 B 0644
config-mandrake-linux File 219 B 0644
config-msc-linux File 157 B 0644
config-open-linux File 157 B 0644
config-openSUSE-Linux-15.0-ALL File 223 B 0644
config-redhat-linux File 222 B 0644
config-redhat-linux-10.0-23.0 File 262 B 0644
config-redhat-linux-24.0-ALL File 308 B 0644
config-slackware-linux File 157 B 0644
config-sol-linux File 195 B 0644
config-suse-linux File 227 B 0644
config-syno-linux File 179 B 0644
config-trustix-linux File 227 B 0644
config-turbo-linux File 237 B 0644
config-united-linux File 227 B 0644
config.info File 803 B 0644
config.info.ca File 970 B 0644
config.info.cs File 720 B 0644
config.info.de File 933 B 0644
config.info.es File 241 B 0644
config.info.fa File 792 B 0644
config.info.fr File 1.02 KB 0644
config.info.hu File 0 B 0644
config.info.ja File 789 B 0644
config.info.ko File 686 B 0644
config.info.nl File 661 B 0644
config.info.no File 626 B 0644
config.info.pl File 696 B 0644
config.info.pt_BR File 769 B 0644
config.info.ru File 349 B 0644
config.info.uk File 376 B 0644
config.info.zh_TW File 410 B 0644
create_dir.cgi File 1.08 KB 0755
create_ftpaccess.cgi File 784 B 0755
create_limit.cgi File 1.16 KB 0755
create_virt.cgi File 1.01 KB 0755
delete_ftpaccess.cgi File 408 B 0755
dir_index.cgi File 2.67 KB 0755
edit_anon.cgi File 1.13 KB 0755
edit_aserv.cgi File 2.03 KB 0755
edit_dir.cgi File 2.07 KB 0755
edit_dserv.cgi File 2.11 KB 0755
edit_ftpaccess.cgi File 1.07 KB 0755
edit_ftpusers.cgi File 589 B 0755
edit_global.cgi File 1011 B 0755
edit_limit.cgi File 3.77 KB 0755
edit_lserv.cgi File 4.19 KB 0755
edit_net.cgi File 777 B 0755
edit_virt.cgi File 1020 B 0755
edit_vserv.cgi File 1.37 KB 0755
feedback_files.pl File 126 B 0755
find_ftpaccess.cgi File 1.01 KB 0755
ftpaccess.cgi File 1.37 KB 0755
ftpaccess_index.cgi File 1.81 KB 0755
index.cgi File 8.11 KB 0755
install_check.pl File 429 B 0755
limit_index.cgi File 2.9 KB 0755
log_parser.pl File 3.14 KB 0755
manual_form.cgi File 3.91 KB 0755
manual_save.cgi File 3.14 KB 0755
mod_auth.pl File 2.68 KB 0755
mod_core.pl File 41.29 KB 0755
mod_ldap.pl File 9.01 KB 0755
mod_log.pl File 3.14 KB 0755
mod_ls.pl File 4.4 KB 0755
mod_pam.pl File 676 B 0755
mod_readme.pl File 426 B 0755
mod_site.pl File 443 B 0755
mod_unixpw.pl File 1.54 KB 0755
module.info File 204 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 151 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 193 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 225 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 230 B 0644
module.info.ca File 141 B 0644
module.info.ca.auto File 16 B 0644
module.info.cs File 23 B 0644
module.info.cs.auto File 139 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 162 B 0644
module.info.de File 151 B 0644
module.info.de.auto File 16 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 265 B 0644
module.info.es File 25 B 0644
module.info.es.auto File 139 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 159 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 220 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 150 B 0644
module.info.fr File 24 B 0644
module.info.fr.auto File 143 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 197 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 162 B 0644
module.info.hu File 30 B 0644
module.info.hu.auto File 136 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 159 B 0644
module.info.ja File 26 B 0644
module.info.ja.auto File 175 B 0644
module.info.ko File 23 B 0644
module.info.ko.auto File 147 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 151 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 161 B 0644
module.info.ms File 148 B 0644
module.info.ms.auto File 16 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 168 B 0644
module.info.nl File 23 B 0644
module.info.nl.auto File 128 B 0644
module.info.no File 22 B 0644
module.info.no.auto File 134 B 0644
module.info.pl File 29 B 0644
module.info.pl.auto File 137 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 155 B 0644
module.info.pt_BR File 28 B 0644
module.info.pt_BR.auto File 136 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 157 B 0644
module.info.ru File 28 B 0644
module.info.ru.auto File 194 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 162 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 152 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 152 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 309 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 164 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 224 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 237 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 189 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 146 B 0644
module.info.zh_TW File 27 B 0644
module.info.zh_TW.auto File 127 B 0644
proftpd-lib.pl File 23.42 KB 0755
save_anon.cgi File 594 B 0755
save_aserv.cgi File 1.7 KB 0755
save_dir.cgi File 874 B 0755
save_dserv.cgi File 1.37 KB 0755
save_ftpaccess.cgi File 486 B 0755
save_ftpusers.cgi File 342 B 0755
save_global.cgi File 529 B 0755
save_limit.cgi File 1.02 KB 0755
save_lserv.cgi File 1.79 KB 0755
save_virt.cgi File 496 B 0755
save_vserv.cgi File 1.55 KB 0755
start.cgi File 223 B 0755
stop.cgi File 207 B 0755
userpermissions_form.cgi File 16.7 KB 0755
virt_index.cgi File 2.62 KB 0755