[ Avaa Bypassed ]




Upload:

Command:

www-data@3.19.218.250: ~ $
#!/usr/bin/perl
# Show all firewall rules

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

# Make sure the ipfw command is installed
if (!&has_command($config{'ipfw'})) {
	&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
	&ui_print_endpage(
		&ui_config_link('index_eipfw',
			[ "<tt>$config{'ipfw'}</tt>", undef ]));
	}

# Make sure ipfw works
$rules = &get_config();
$active = &get_config("$config{'ipfw'} show |", \$out);
if ($?) {
	&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
	&ui_print_endpage(
		&ui_config_link('index_elist',
			[ "<tt>$config{'ipfw'} show</tt>",
			  "<pre>$out</pre>", undef ]));
	}

# Get the version number
if ($config{'version'}) {
	$ipfw_version = $config{'version'};
	}
else {
	$vout = `$config{'ipfw'} 2>&1`;
	$vouth = `$config{'ipfw'} -h 2>&1`;
	if ($vout =~ /preproc/ || $vouth =~ /preproc/) {
		$ipfw_version = 2;
		}
	else {
		$ipfw_version = 1;
		}
	}
open(VERSION, ">$module_config_directory/version");
print VERSION $ipfw_version,"\n";
close(VERSION);
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
		 &help_search_link("ipfw", "man", "doc", "google"),
		 undef, undef,
		 &text('index_version', $ipfw_version));

# Check for an active firewall that is not managed by this module
if (!@$rules && @$active > 1) {
	# Yes .. offer to convert
	print &text('index_existing', scalar(@$active),
		    "<tt>$ipfw_file</tt>"),"<p>\n";
	print &ui_form_start("convert.cgi");
	print "<center>",&ui_submit($text{'index_saveex'}),"<p>\n";
	print "</center>\n";
	print &ui_form_end();

	print "<table border width=100%>\n";
	print "<tr $tb><td><b>$text{'index_headerex'}</b></td></tr>\n";
	print "<tr $cb> <td><pre>";
	print $out;
	print "</pre></td> </tr></table>\n";
	}
elsif (@$rules && !$in{'reset'}) {
	# Find last editable rule
	if ($rules->[@$rules-1]->{'num'} == 65535 &&
	    @$rules > 1) {
		$lastidx = $rules->[@$rules-2]->{'index'};
		}
	else {
		$lastidx = $rules->[@$rules-1]->{'index'};
		}

	# Build map of active rules
	local %amap = map { int($_->{'num'}), $_ } @$active;

	# Show the rules
	print &ui_form_start("edit_rule.cgi");
	local @widths = ( "width=10", "width=5%", undef );
	push(@widths, undef) if ($config{'view_condition'});
	push(@widths, undef) if ($config{'view_comment'});
	push(@widths, "width=5%", "width=5% nowrap") if ($config{'view_counters'});
	push(@widths, "width=5%", "width=5%");
	@links = ( &select_all_link("d", 0),
		   &select_invert_link("d", 0) );
	print &ui_links_row(\@links);
	print &ui_columns_start([ "",
				  $text{'index_num'},
				  $text{'index_action'},
			    	  $config{'view_condition'} ?
					( $text{'index_desc'} ) : ( ),
			    	  $config{'view_comment'} ?
					( $text{'index_cmt'} ) : ( ),
			    	  $config{'view_counters'} ?
					( $text{'index_count1'},
					  $text{'index_count2'} ) : ( ),
			    	  $text{'index_move'},
			    	  $text{'index_radd'} ], 100, 0,
				\@widths);
	foreach $r (@$rules) {
		next if ($r->{'other'});	# Not displayable
		local ($mover, $adder);
		$mover = &ui_up_down_arrows(
			"move.cgi?idx=$r->{'index'}&up=1",
			"move.cgi?idx=$r->{'index'}&down=1",
			$r->{'index'} != 0 && $r->{'index'} <= $lastidx,
			$r->{'index'} < $lastidx);
		if ($r->{'index'} <= $lastidx) {
			$adder .= "<a href='edit_rule.cgi?new=1&".
				  "after=$r->{'index'}'>".
				  "<img src=images/after.gif border=0></a>";
			$adder .= "<a href='edit_rule.cgi?new=1&".
				  "before=$r->{'index'}'>".
				  "<img src=images/before.gif border=0></a>";
			}

		local $num = $r->{'num'};
		local $act = ($text{'action_'.&real_action($r->{'action'})} ||
                              uc($r->{'action'})).
			     (defined($r->{'aarg'}) ? " $r->{'aarg'}" : "");
		if ($r->{'index'} <= $lastidx) {
			$num = &ui_link("edit_rule.cgi?idx=$r->{'index'}",$num);
			$act = &ui_link("edit_rule.cgi?idx=$r->{'index'}",$act);
			}
		local $a = $amap{int($r->{'num'})};
		print &ui_checked_columns_row(
			[ $num,
			  $act,
			  $config{'view_condition'} ?
				( &describe_rule($r) ) : ( ),
			  $config{'view_comment'} ?
				( $r->{'cmt'} || "<br>" ) : ( ),
			  $config{'view_counters'} ?
				( $a->{'count1'}, &nice_size($a->{'count2'}) ) : ( ),
			  $mover,
			  $adder ],
			\@widths, "d", $r->{'num'});
		}
	print &ui_columns_end();
	print &ui_links_row(\@links);

	# Show delete and add buttons
	print "<table width=100%><tr>\n";
	print "<td align=left>",
	      &ui_submit($text{'index_delete'}, "delsel"),"</td>\n";
	print "<td align=right>",
	      &ui_submit($text{'index_add2'}, "new"),"</td>\n";
	print "</tr></table>\n";
	print &ui_form_end();

	# Show buttons to apply configuration and start at boot
	print &ui_hr();

	$atboot = &check_boot();
	print &ui_buttons_start();
	if (&foreign_check("servers")) {
		@servers = &list_cluster_servers();
		}
	print &ui_buttons_row("apply.cgi", $text{'index_apply'},
			      @servers ? $text{'index_applydesc2'}
				       : $text{'index_applydesc'});
	print &ui_buttons_row("unapply.cgi", $text{'index_unapply'},
			      $text{'index_unapplydesc'});
	if ($atboot != -1) {
		print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
				      $text{'index_bootdesc'}, undef,
				      &ui_radio("boot", $atboot ? 1 : 0,
						[ [ 1, $text{'yes'} ],
						  [ 0, $text{'no'} ] ]));
		}
	print &ui_buttons_row("index.cgi", $text{'index_reset'},
			      $text{'index_resetdesc'}, undef,
			      &ui_hidden("reset", 1));
	# Show button for cluster page
	if (&foreign_check("servers")) {
		&foreign_require("servers", "servers-lib.pl");
		@allservers = grep { $_->{'user'} }
				&servers::list_servers();
		}
	if (@allservers) {
		print &ui_buttons_row("cluster.cgi", $text{'index_cluster'},
				      $text{'index_clusterdesc'});
		}
	print &ui_buttons_end();
	}
else {
	# Offer to setup simple firewall
	print &text($in{'reset'} ? 'index_rsetup' : 'index_setup',
		    "<tt>$ipfw_file</tt>"),"<p>\n";
	print "<form action=setup.cgi>\n";
	print &ui_hidden("reset", $in{'reset'});
	print "<center><table><tr><td>\n";
	print "<input type=radio name=auto value=0 checked> ",
	      "$text{'index_auto0'}<p>\n";
	foreach $a (2 .. 4) {
		print "<input type=radio name=auto value=$a> ",
		      "$text{'index_auto'.$a} ",
		      &interface_choice("iface".$a, undef, 1),"<p>\n";
		}
	print "</td></tr></table>\n";
	print "<input type=submit value='$text{'index_auto'}'><p>\n";
	print "<input type=checkbox name=atboot value=1> ",
	      "$text{'index_atboot'}\n";
	print "</center></form>\n";
	}

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


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 1.04 KB 0644
apply.cgi File 293 B 0755
bootup.cgi File 240 B 0755
cluster.cgi File 1.98 KB 0755
cluster_add.cgi File 1.79 KB 0755
cluster_delete.cgi File 470 B 0755
config File 89 B 0644
config.info File 472 B 0644
config.info.ca File 433 B 0644
config.info.de File 539 B 0644
config.info.nl File 426 B 0644
convert.cgi File 274 B 0755
edit_rule.cgi File 10.16 KB 0755
index.cgi File 6.36 KB 0755
install_check.pl File 484 B 0755
ipfw-lib.pl File 17.42 KB 0755
log_parser.pl File 569 B 0755
module.info File 170 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 114 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 169 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 192 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 208 B 0644
module.info.ca File 106 B 0644
module.info.cs File 0 B 0644
module.info.cs.auto File 108 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 105 B 0644
module.info.de File 117 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 222 B 0644
module.info.es File 0 B 0644
module.info.es.auto File 99 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 105 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 113 B 0644
module.info.fr File 0 B 0644
module.info.fr.auto File 117 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 157 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 112 B 0644
module.info.hu File 0 B 0644
module.info.hu.auto File 139 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 112 B 0644
module.info.ja File 0 B 0644
module.info.ja.auto File 158 B 0644
module.info.ko File 0 B 0644
module.info.ko.auto File 125 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 121 B 0644
module.info.ms File 0 B 0644
module.info.ms.auto File 114 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 110 B 0644
module.info.nl File 21 B 0644
module.info.nl.auto File 98 B 0644
module.info.no File 0 B 0644
module.info.no.auto File 115 B 0644
module.info.pl File 0 B 0644
module.info.pl.auto File 102 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 99 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 105 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 114 B 0644
module.info.ru File 0 B 0644
module.info.ru.auto File 171 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 106 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 120 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 111 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 177 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 140 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 194 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 235 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 139 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 95 B 0644
module.info.zh_TW File 0 B 0644
module.info.zh_TW.auto File 101 B 0644
move.cgi File 561 B 0755
save_rule.cgi File 8.19 KB 0755
setup.cgi File 4.14 KB 0755
start.pl File 271 B 0755
stop.pl File 254 B 0755
unapply.cgi File 257 B 0755