!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/webmin/bind8/   drwxr-xr-x
Free 26.32 GB of 117.98 GB (22.31%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     free_chooser.cgi (2 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# Show a list of free IP addresses, within the configured ranges
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%config, %text);

require './bind8-lib.pl';

# Go through all zones to find IPs in use, and networks
my $conf = &get_config();
my @views = &find("view", $conf);
my @zones;
my %view;
foreach my $v (@views) {
    my @vz = &find("zone", $v->{'members'});
    map { $view{$_} = $v } @vz;
    push(@zones, @vz);
    }
push(@zones, &find("zone", $conf));
my %taken;
my %nets;
foreach my $z (@zones) {
    my $type = &find_value("type", $z->{'members'});
    next if ($type ne "master" && $type ne "primary");
    my $file = &find_value("file", $z->{'members'});
    my @recs = &read_zone_file($file, $z->{'value'});
    foreach my $r (@recs) {
        if ($r->{'type'} eq 'A') {
            $taken{$r->{'values'}->[0]}++;
            my $net = $r->{'values'}->[0];
            $net =~ s/\d+$/0/;
            if ($net ne "127.0.0.0") {
                $nets{$net}++;
                }
            }
        elsif ($r->{'type'} eq 'PTR') {
            $taken{&arpa_to_ip($r->{'values'}->[0])}++;
            }
        }
    }

# Use configured networks, if any
my @nets;
if ($config{'free_nets'}) {
    @nets = split(/\s+/, $config{'free_nets'});
    }
else {
    @nets = keys %nets;
    }
@nets = sort { $a cmp $b } @nets;

# display list of free IPs in the nets
&popup_header($text{'free_title'});
print "<script>\n";
print "function select(f)\n";
print "{\n";
print "top.opener.ifield.value = f;\n";
print "top.close();\n";
print "return false;\n";
print "}\n";
print "</script>\n";
print &ui_columns_start([ $text{'free_ip'} ], 100);
foreach my $net (@nets) {
    my @netip = split(/\./, $net);
    my $start;
    my $end;
    if ($netip[3] eq "0") {
        $start = 1;
        $end = 255;
        }
    elsif ($netip[3] =~ /^(\d+)\-(\d+)$/) {
        $start = $1;
        $end = $2;
        }
    else {
        $start = $end = $netip[3];
        }
    for(my $d=$start; $d<=$end; $d++) {
        my $ip = "$netip[0].$netip[1].$netip[2].$d";
        if (!$taken{$ip}) {
            print &ui_columns_row([ &ui_link("", $ip, undef, "onClick='return select(\"$ip\");'") ]);
            }
        }
    }
print &ui_columns_end();
&popup_footer();


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]--