asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PK@e[8 cyberpanel.plnu[#!/usr/bin/perl ############################################################################### # Copyright 2006-2023, Way to the Web Limited # URL: http://www.configserver.com # Email: sales@waytotheweb.com ############################################################################### # start main use strict; use File::Find; use Fcntl qw(:DEFAULT :flock); use Sys::Hostname qw(hostname); use IPC::Open3; use lib '/usr/local/csf/lib'; use ConfigServer::DisplayUI; use ConfigServer::Config; our ($script, $images, $myv, %FORM, %in); my $config = ConfigServer::Config->loadconfig(); my %config = $config->config; open (my $IN, "<", "/etc/csf/version.txt"); $myv = <$IN>; close ($IN); chomp $myv; $script = "/configservercsf/iframe/"; $images = "/static/configservercsf"; my $file = $ARGV[0]; unless (-e $file) {die "Cannot find tempfile [$file]"} my (undef,undef,$uuid,$ugid) = getpwnam("cyberpanel"); my $uid = (stat($file))[4]; my $gid = (stat($file))[5]; if ($uid != $uuid or $gid != $ugid) {die "Invalid tempfile ownership [$file]"} open (my $DATA, "<", $file); my $buffer = <$DATA>; close ($DATA); my @pairs = split(/&/, $buffer); foreach my $pair (@pairs) { my ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } #print "
$ARGV[0]:$ARGV[1]:[[$buffer]]
\n"; #foreach my $key (keys %ENV) { # print "$key = [$ENV{$key}]
\n"; #} my $bootstrapcss = ""; my $jqueryjs = ""; my $bootstrapjs = ""; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < ConfigServer Security & Firewall $bootstrapcss $jqueryjs $bootstrapjs \n"; print <

ConfigServer Security & Firewall - csf v$myv

EOF } #my $templatehtml; #open (my $SCRIPTOUT, '>', \$templatehtml); #select $SCRIPTOUT; ConfigServer::DisplayUI::main(\%FORM, $script, $script, $images, $myv); #close ($SCRIPTOUT); #select STDOUT; #open (OUT, ">/tmp/out.html"); #print OUT $templatehtml; #close (OUT); #print $templatehtml; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < \n"; print "\n"; print "\n"; } 1; PK@e[,ζconfigservercsf/urls.pynu[from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.configservercsf, name='configservercsf'), url(r'^iframe/$', views.configservercsfiframe, name='configservercsfiframe'), ] PK@e[rBconfigservercsf/views.pynu[# -*- coding: utf-8 -*- from __future__ import unicode_literals import os import os.path import sys import django sys.path.append('/usr/local/CyberCP') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") django.setup() import json from plogical.acl import ACLManager import plogical.CyberCPLogFileWriter as logging import subprocess from django.shortcuts import HttpResponse, render from plogical.processUtilities import ProcessUtilities from django.views.decorators.csrf import csrf_exempt import tempfile from django.http import HttpResponse from django.views.decorators.clickjacking import xframe_options_exempt def configservercsf(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() return render(request,'configservercsf/index.html') @csrf_exempt @xframe_options_exempt def configservercsfiframe(request): userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() if request.method == 'GET': qs = request.GET.urlencode() elif request.method == 'POST': qs = request.POST.urlencode() try: tmp = tempfile.NamedTemporaryFile(mode = "w", delete=False) tmp.write(qs) tmp.close() command = "/usr/local/csf/bin/cyberpanel.pl '" + tmp.name + "'" try: output = ProcessUtilities.outputExecutioner(command) except: output = "Output Error from csf UI script" os.unlink(tmp.name) except: output = "Unable to create csf UI temp file" return HttpResponse(output) PK@e[tznn3configservercsf/templates/configservercsf/menu.htmlnu[ ConfigServer Services
  • PK@e[  4configservercsf/templates/configservercsf/index.htmlnu[{% extends "baseTemplate/index.html" %} {% load i18n %} {% block title %}ConfigServer Security and Firewall{% endblock %} {% block content %} {% load static %} {% endblock %} PK@e[]sconfigservercsf/signals.pynu[from django.dispatch import receiver from django.shortcuts import redirect from firewall.signals import preFirewallHome, preCSF @receiver(preFirewallHome) def csfFirewallHome(sender, **kwargs): request = kwargs['request'] return redirect('/configservercsf/') @receiver(preCSF) def csfCSF(sender, **kwargs): request = kwargs['request'] return redirect('/configservercsf/') PK@e[ǹ9}}configservercsf/tests.pynu[# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.test import TestCase # Create your tests here. PK@e[?configservercsf/meta.xmlnu[ ConfigServer Security and Firewall plugin ConfigServer Security and Firewall 1.0 PK@e[&configservercsf/migrations/__init__.pynu[PK@e[#ȿconfigservercsf/apps.pynu[# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.apps import AppConfig class configservercsfConfig(AppConfig): name = 'configservercsf' def ready(self): import signals PK@e[a₀configservercsf/admin.pynu[# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.contrib import admin # Register your models here. PK@e[H{izzconfigservercsf/models.pynu[# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. PK@e[configservercsf/confignu[PK@e[nUDDconfigservercsf/__init__.pynu[#default_app_config = 'configservercsf.apps.configservercsfConfig' PK@e[8 cyberpanel.plnu[PK@e[,ζconfigservercsf/urls.pynu[PK@e[rBconfigservercsf/views.pynu[PK@e[tznn3configservercsf/templates/configservercsf/menu.htmlnu[PK@e[  4#configservercsf/templates/configservercsf/index.htmlnu[PK@e[]sR&configservercsf/signals.pynu[PK@e[ǹ9}}"(configservercsf/tests.pynu[PK@e[?(configservercsf/meta.xmlnu[PK@e[&**configservercsf/migrations/__init__.pynu[PK@e[#ȿ*configservercsf/apps.pynu[PK@e[a₀+configservercsf/admin.pynu[PK@e[H{izze,configservercsf/models.pynu[PK@e[(-configservercsf/confignu[PK@e[nUDDn-configservercsf/__init__.pynu[PK -