[ Avaa Bypassed ]




Upload:

Command:

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

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

# Make sure the ipf command is installed
$cmd = &missing_firewall_commands();
if ($cmd) {
	&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
	&ui_print_endpage(
		&ui_config_link('index_ecmd',
			[ "<tt>$cmd</tt>", undef ]));
	}

# Get the version number
$vout = &backquote_command("$config{'ipf'} -V 2>&1");
if ($vout =~ /IP\s+Filter:\s+v?(\S+)/i) {
	$ipf_version = $1;
	}
open(VERSION, ">$module_config_directory/version");
print VERSION $ipf_version,"\n";
close(VERSION);
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
		 &help_search_link("ipf", "man", "doc", "google"),
		 undef, undef,
		 &text('index_version', $ipf_version));

# See if enabled at boot
$atboot = &check_firewall_init();

# Get the saved and active rules
$live = &get_live_config();
$rules = &get_config();

if (!-r $config{'ipf_conf'} && @$live) {
	# Offer to save existing rules
	print &text('index_existing', scalar(@$live),
		    "<tt>$config{'ipf_conf'}</tt>"),"<p>\n";
	print &ui_form_start("convert.cgi");
	print "<center>",&ui_submit($text{'index_saveex'}),"<p>\n";
	print &ui_checkbox("atboot", 1, $text{'index_atboot'},
			   $atboot == 2),"\n";
	print "</center>",&ui_form_end(),"<p>\n";

	print "<table border width=100%>\n";
	print "<tr $tb><td><b>$text{'index_headerex'}</b></td></tr>\n";
	print "<tr $cb> <td><pre>";
	foreach $dir ("i", "o") {
		open(OUT, "$config{'ipfstat'} -$dir |");
		while(<OUT>) {
			print &html_escape($_);
			}
		close(OUT);
		}
	print "</pre></td> </tr></table>\n";
	}
elsif (@$rules && !$in{'reset'}) {
	# Show the rules
	print &ui_form_start("edit_rule.cgi");
	local @widths = ( "width=10", "width=5%", "width=10%", undef );
	push(@widths, undef) if ($config{'view_condition'});
	push(@widths, undef) if ($config{'view_comment'});
	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_active'},
				  $text{'index_action'},
				  $text{'index_dir'},
			    	  $config{'view_condition'} ?
					( $text{'index_desc'} ) : ( ),
			    	  $config{'view_comment'} ?
					( $text{'index_cmt'} ) : ( ),
			    	  $text{'index_move'},
			    	  $text{'index_radd'} ], 100, 0,
				\@widths);
	foreach $r (@$rules) {
		local ($mover, $adder);
		if ($r eq $rules->[@$rules-1]) {
			$mover .= "<img src=images/gap.gif>";
			}
		else {
			$mover .= "<a href='move.cgi?idx=$r->{'index'}&".
			      	  "down=1'><img src=".
			      	  "images/down.gif border=0></a>";
			}
		if ($r eq $rules->[0]) {
			$mover .= "<img src=images/gap.gif>";
			}
		else {
			$mover .= "<a href='move.cgi?idx=$r->{'index'}&".
			          "up=1'><img src=images/up.gif ".
			          "border=0></a>";
			}
		$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 $active = $r->{'active'} ? $text{'yes'} :
                                  "<font color=#ff0000>$text{'no'}</font>";
		$active = &ui_link("edit_rule.cgi?idx=$r->{'index'}", $active);
		local $action = $text{'action_'.$r->{'action'}} ||
                                uc($r->{'action'});
		$action = &ui_link("edit_rule.cgi?idx=$r->{'index'}", $action);
		local $dir = $text{'dir_'.$r->{'dir'}};
		$dir = &ui_link("edit_rule.cgi?idx=$r->{'index'}", $dir);

		print &ui_checked_columns_row(
			[ $active,
			  $action,
			  $dir,
			  $config{'view_condition'} ?
				( &describe_rule($r) ) : ( ),
			  $config{'view_comment'} ?
				( $r->{'cmt'} || "<br>" ) : ( ),
			  $mover,
			  $adder ],
			\@widths, "d", $r->{'index'});
		}
	print &ui_columns_end();
	print &ui_links_row(\@links);

	# Buttons to delete and add
	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 NAT rules
	print &ui_hr();
	$natrules = &get_ipnat_config();
	print &ui_form_start("edit_nat.cgi");
	if (@$natrules) {
		local @widths = ( "width=10", "width=5%", "width=10%", undef );
		push(@widths, undef) if ($config{'view_condition'});
		push(@widths, undef) if ($config{'view_comment'});
		push(@widths, "width=5%", "width=5%");
		print &select_all_link("d", 1),"\n";
		print &select_invert_link("d", 1),"<br>\n";
		print &ui_columns_start([ "",
					  $text{'index_active'},
					  $text{'index_nataction'},
					  $config{'view_condition'} ?
						( $text{'index_natfrom'},
						  $text{'index_natto'} ) : ( ),
					  $config{'view_comment'} ?
						( $text{'index_cmt'} ) : ( ),
					  $text{'index_move'} ], 100, 0,
					\@widths);
		foreach $r (@$natrules) {
			local ($mover, $adder);
			if ($r eq $natrules->[@$natrules-1]) {
				$mover .= "<img src=images/gap.gif>";
				}
			else {
				$mover .= "<a href='natmove.cgi?idx=$r->{'index'}&".
					  "down=1'><img src=".
					  "images/down.gif border=0></a>";
				}
			if ($r eq $natrules->[0]) {
				$mover .= "<img src=images/gap.gif>";
				}
			else {
				$mover .= "<a href='natmove.cgi?idx=$r->{'index'}&".
					  "up=1'><img src=images/up.gif ".
					  "border=0></a>";
				}

			local $active = $r->{'active'} ? $text{'yes'} :
                                       "<font color=#ff0000>$text{'no'}</font>";
			$active = &ui_link("edit_nat.cgi?idx=$r->{'index'}",
					   $active);
			local $action = $text{'action_'.$r->{'action'}} ||
				        uc($r->{'action'});
			$action = &ui_link("edit_nat.cgi?idx=$r->{'index'}",
					   $action);

			print &ui_columns_row(
				[ &ui_checkbox("d", $r->{'index'}, "", 0),
				  $active,
				  $action,
				  $config{'view_condition'} ?
					( &describe_from($r), &describe_to($r) ) : ( ),
				  $config{'view_comment'} ?
					( $r->{'cmt'} || "<br>" ) : ( ),
				  $mover ],
				\@widths);
			}
		print &ui_columns_end();
		print &select_all_link("d", 1),"\n";
		print &select_invert_link("d", 1),"<br>\n";
		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_add3'}, "newmap"),"\n",
		      &ui_submit($text{'index_add4'}, "newrdr"),"</td>\n";
		print "</tr></table>\n";
		}
	else {
		print "<b>$text{'index_natnone'}</b><p>\n";
		print "<table width=100%><tr>\n";
		print "<td align=right>",
		      &ui_submit($text{'index_add3'}, "newmap"),"\n",
		      &ui_submit($text{'index_add4'}, "newrdr"),"</td>\n";
		print "</tr></table>\n";
		}
	print &ui_form_end();

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

	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'});
	print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
			      $text{'index_bootdesc'}, undef,
			      &ui_radio("boot", $atboot == 2 ? 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 &ui_form_start("setup.cgi");
	print &ui_hidden("reset", $in{'reset'});
	print "<center><table><tr><td>\n";
	print &ui_oneradio("auto", 0, $text{'index_auto0'}, 1),"<p>\n";
	foreach $a (1 .. 4) {
		print &ui_oneradio("auto", $a, $text{'index_auto'.$a}, 0)," ",
		      &interface_choice("iface".$a, undef, 1),"<p>\n";
		}
	print "</td></tr></table>\n";
	print &ui_submit($text{'index_auto'}),"<p>\n";
	print &ui_checkbox("atboot", 1, $text{'index_atboot'},
			   $atboot == 2),"\n";
	print "</center>",&ui_form_end(),"\n";
	}

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


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 896 B 0644
apply.cgi File 271 B 0755
backup_config.pl File 604 B 0755
bootup.cgi File 252 B 0755
cluster.cgi File 2.01 KB 0755
cluster_add.cgi File 1.78 KB 0755
cluster_delete.cgi File 522 B 0755
config File 155 B 0644
config-freebsd File 149 B 0644
config-solaris-10-ALL File 177 B 0644
config.info File 669 B 0644
config.info.ca File 717 B 0644
config.info.de File 743 B 0644
config.info.nl File 741 B 0644
convert.cgi File 341 B 0755
edit_nat.cgi File 7.83 KB 0755
edit_rule.cgi File 9.81 KB 0755
index.cgi File 8.42 KB 0755
install_check.pl File 337 B 0755
ipfilter-lib.pl File 39.32 KB 0755
log_parser.pl File 928 B 0755
module.info File 198 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 129 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 183 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 180 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 232 B 0644
module.info.ca File 121 B 0644
module.info.cs File 0 B 0644
module.info.cs.auto File 121 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 117 B 0644
module.info.de File 97 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 239 B 0644
module.info.es File 0 B 0644
module.info.es.auto File 118 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 117 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 182 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 123 B 0644
module.info.fr File 0 B 0644
module.info.fr.auto File 132 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 166 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 121 B 0644
module.info.hu File 0 B 0644
module.info.hu.auto File 150 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 130 B 0644
module.info.ja File 0 B 0644
module.info.ja.auto File 179 B 0644
module.info.ko File 0 B 0644
module.info.ko.auto File 140 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 144 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 134 B 0644
module.info.ms File 0 B 0644
module.info.ms.auto File 125 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 123 B 0644
module.info.nl File 26 B 0644
module.info.nl.auto File 109 B 0644
module.info.no File 0 B 0644
module.info.no.auto File 126 B 0644
module.info.pl File 0 B 0644
module.info.pl.auto File 117 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 116 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 122 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 128 B 0644
module.info.ru File 0 B 0644
module.info.ru.auto File 166 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 126 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 125 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 202 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 154 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 186 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 198 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 149 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 110 B 0644
module.info.zh_TW File 0 B 0644
module.info.zh_TW.auto File 116 B 0644
move.cgi File 427 B 0755
natmove.cgi File 432 B 0755
save_nat.cgi File 5.06 KB 0755
save_rule.cgi File 4.88 KB 0755
setup.cgi File 6.12 KB 0755
unapply.cgi File 235 B 0755