!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/cluster-useradmin/   drwxr-xr-x
Free 28.66 GB of 117.98 GB (24.29%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     user_form.cgi (5.66 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# user_form.cgi
# Display a form for creating a new user

require './cluster-useradmin-lib.pl';
use Time::Local;
&ReadParse();
&foreign_require("useradmin", "user-lib.pl");

&ui_print_header(undef, $text{'uedit_title2'}, "");
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

# build list of used shells and uids
foreach $h (@hosts) {
    foreach $u (@{$h->{'users'}}) {
        push(@shlist, $u->{'shell'}) if ($u->{'shell'});
        $used{$u->{'uid'}}++;
        }
    foreach $g (@{$h->{'groups'}}) {
        push(@glist, $g) if (!$donegroup{$g->{'group'}}++);
        }
    }
open(SHELLS, "</etc/shells");
while(<SHELLS>) {
    s/\r|\n//g;
    s/#.*$//;
    push(@shlist, $_) if (/\S/);
    }
close(SHELLS);

print &ui_form_start("create_user.cgi", "post");
print &ui_table_start($text{'uedit_details'}, "width=100%", 2);

# Username
print &ui_table_row($text{'user'},
    &ui_textbox("user", undef, 40));

# Find the first free UID above the base
$newuid = int($uconfig{'base_uid'});
while($used{$newuid}) {
    $newuid++;
    }
print &ui_table_row($text{'uid'},
    &ui_textbox("uid", $newuid, 10));

# Real name and possibly other fields
if ($uconfig{'extra_real'}) {
        print &ui_table_row($text{'real'},
                &ui_textbox("real", undef, 40));

        print &ui_table_row($text{'office'},
        &ui_textbox("office", undef, 20));

        print &ui_table_row($text{'workph'},
        &ui_textbox("workph", undef, 20));

        print &ui_table_row($text{'homeph'},
        &ui_textbox("homeph", undef, 20));

        print &ui_table_row($text{'extra'},
        &ui_textbox("extra", undef, 20));
    }
else {
    print &ui_table_row($text{'real'},
        &ui_textbox("real", undef, 40));
    }

# Home directory
print &ui_table_row($text{'home'},
    $uconfig{'home_base'} ?
        &ui_radio("home_base", 1,
              [ [ 1, $text{'uedit_auto'} ],
                [ 0, &ui_filebox("home", "", 40) ] ]) :
        &ui_filebox("home", "", 40));

# Login shell
@shlist = &unique(@shlist);
push(@shlist, [ "*", $text{'uedit_other'} ]);
print &ui_table_row($text{'shell'},
    &ui_select("shell", undef, \@shlist)." ".
    &ui_filebox("othersh", undef, 25));

# Password or locked account
$rp = $uconfig{'random_password'} ? &useradmin::generate_random_password() : "";
$pfield = $uconfig{'passwd_stars'} ? &ui_password("pass", $rp, 40)
                   : &ui_textbox("pass", $rp, 40);
print &ui_table_row($text{'pass'},
    &ui_radio_table("passmode", 1,
        [ [ 0, $uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'} ],
          [ 1, $text{'nologin'} ],
          [ 3, $text{'clear'}, $pfield ],
          [ 2, &ui_textbox("encpass", undef, 40) ] ]));

print &ui_table_end();

$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 1 || $pft == 6) {
    # This is a BSD system.. a few extra password options are supported
    print &ui_table_start($text{'uedit_passopts'}, undef, 2);

    print &ui_table_row($text{'change2'},
        &useradmin::date_input("", "", "", 'change')." ".
        &ui_textbox("changeh", "", 3).":".
        &ui_textbox("changemi", "", 3));

    print &ui_table_row($text{'expire2'},
        &useradmin::date_input("", "", "", 'expire')." ".
        &ui_textbox("expireh", "", 3).":".
        &ui_textbox("expiremi", "", 3));

    print &ui_table_row($text{'class'},
        &ui_textbox("class", "", 10));

    print &ui_table_end();
    }
elsif ($pft == 2) {
    # System has a shadow password file as well.. which means it supports
    # password expiry and so on
    print &ui_table_start($text{'uedit_passopts'}, undef, 2);

    print &ui_table_row($text{'expire'},
        &useradmin::date_input($eday, $emon, $eyear, 'expire'));

    print &ui_table_row($text{'min'},
        &ui_textbox("min", undef, 5));

    print &ui_table_row($text{'max'},
        &ui_textbox("max", undef, 5));

    print &ui_table_row($text{'warn'},
        &ui_textbox("warn", undef, 5));

    print &ui_table_row($text{'inactive'},
        &ui_textbox("inactive", undef, 5));

    print &ui_table_end();
    }
elsif ($pft == 4) {
    # This is an AIX system
    print &ui_table_start($text{'uedit_passopts'}, undef, 2);

    print &ui_table_row($text{'expire'},
        &useradmin::date_input("", "", "", 'expire')." ".
        &ui_textbox("expireh", undef, 3).":".
        &ui_textbox("expiremi", undef, 3));

    print &ui_table_row($text{'min_weeks'},
        &ui_textbox("min", undef, 5));

    print &ui_table_row($text{'max_weeks'},
        &ui_textbox("max", undef, 5));

    print &ui_table_row($text{'warn'},
        &ui_textbox("warn", undef, 5));

    print &ui_table_row($text{'flags'},
        &ui_checkbox("flags", "admin", $text{'uedit_admin'})." ".
        &ui_checkbox("flags", "admchg", $text{'uedit_admchg'})." ".
        &ui_checkbox("flags", "nocheck", $text{'uedit_nocheck'}));

    print &ui_table_end();
    }

print &ui_table_start($text{'uedit_gmem'}, "width=100%", 2);

# Primary group
print &ui_table_row($text{'group'},
    &ui_group_textbox("gid", $uconfig{'default_group'}));

# Secondary groups
@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist
    if ($uconfig{'sort_mode'});
print &ui_table_row($text{'uedit_2nd'},
    &ui_select("sgid", undef,
        [ map { [ $_->{'gid'}, $_->{'group'} ] } @glist ],
        5, 1));

print &ui_table_end();

print &ui_table_start($text{'uedit_oncreate'}, "width=100%", 2);

# Create home dir?
print &ui_table_row($text{'uedit_makehome'},
    &ui_yesno_radio("makehome", 1));

# Copy home dir files?
if ($uconfig{'user_files'} =~ /\S/) {
    print &ui_table_row($text{'uedit_copy'},
        &ui_yesno_radio("copy_files", 1));
    }

# Create home dir on all servers?
print &ui_table_row($text{'uedit_servs'},
    &ui_radio("servs", 0, [ [ 1, $text{'uedit_mall'} ],
                 [ 0, $text{'uedit_mthis'} ] ]));

# Show other modules option
print &ui_table_row($text{'uedit_others'},
        &ui_yesno_radio("others", 1));

# Show selector for hosts to create on
print &ui_table_row($text{'uedit_servers'},
    &create_on_input());

print &ui_table_end();
print &ui_form_end([ [ undef, $text{'create'} ] ]);

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


:: 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.0044 ]--