Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.186
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
webmin /
pap /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
104
B
-rw-r--r--
acl_security.pl
995
B
-rwxr-xr-x
backup_config.pl
793
B
-rwxr-xr-x
config-cobalt-linux
216
B
-rw-r--r--
config-coherent-linux
216
B
-rw-r--r--
config-corel-linux
216
B
-rw-r--r--
config-debian-linux
216
B
-rw-r--r--
config-generic-linux
216
B
-rw-r--r--
config-gentoo-linux
216
B
-rw-r--r--
config-mandrake-linux
216
B
-rw-r--r--
config-msc-linux
216
B
-rw-r--r--
config-open-linux
216
B
-rw-r--r--
config-openSUSE-Linux-15.0-ALL
216
B
-rw-r--r--
config-openmamba-linux
216
B
-rw-r--r--
config-pardus-linux
216
B
-rw-r--r--
config-redhat-linux
216
B
-rw-r--r--
config-slackware-linux
216
B
-rw-r--r--
config-solaris
263
B
-rw-r--r--
config-suse-linux
216
B
-rw-r--r--
config-trustix-linux
216
B
-rw-r--r--
config-turbo-linux
216
B
-rw-r--r--
config-united-linux
216
B
-rw-r--r--
config.info
336
B
-rw-r--r--
config.info.ca
406
B
-rw-r--r--
config.info.cs
371
B
-rw-r--r--
config.info.de
358
B
-rw-r--r--
config.info.es
113
B
-rw-r--r--
config.info.fa
475
B
-rw-r--r--
config.info.fr
103
B
-rw-r--r--
config.info.nl
348
B
-rw-r--r--
config.info.no
339
B
-rw-r--r--
config.info.pl
86
B
-rw-r--r--
config.info.ru
383
B
-rw-r--r--
config.info.sv
106
B
-rw-r--r--
config.info.tr
108
B
-rw-r--r--
config.info.uk
413
B
-rw-r--r--
config.info.zh
92
B
-rw-r--r--
config.info.zh_TW
92
B
-rw-r--r--
defaultacl
65
B
-rw-r--r--
delete_secrets.cgi
516
B
-rwxr-xr-x
edit_dialin.cgi
1.84
KB
-rwxr-xr-x
edit_mgetty.cgi
3.84
KB
-rwxr-xr-x
edit_options.cgi
5.61
KB
-rwxr-xr-x
edit_secret.cgi
3.31
KB
-rwxr-xr-x
index.cgi
695
B
-rwxr-xr-x
install_check.pl
336
B
-rwxr-xr-x
list_dialin.cgi
1.77
KB
-rwxr-xr-x
list_mgetty.cgi
2.39
KB
-rwxr-xr-x
list_secrets.cgi
2.13
KB
-rwxr-xr-x
log_parser.pl
947
B
-rwxr-xr-x
mgetty_apply.cgi
294
B
-rwxr-xr-x
module.info
378
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
96
B
-rw-r--r--
module.info.ar
0
B
-rw-r--r--
module.info.ar.auto
128
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
156
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
133
B
-rw-r--r--
module.info.ca
98
B
-rw-r--r--
module.info.ca.auto
12
B
-rw-r--r--
module.info.cs
26
B
-rw-r--r--
module.info.cs.auto
69
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
106
B
-rw-r--r--
module.info.de
91
B
-rw-r--r--
module.info.de.auto
12
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
180
B
-rw-r--r--
module.info.es
51
B
-rw-r--r--
module.info.es.auto
93
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
111
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
149
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
114
B
-rw-r--r--
module.info.fr
0
B
-rw-r--r--
module.info.fr.auto
118
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
116
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
112
B
-rw-r--r--
module.info.hu
0
B
-rw-r--r--
module.info.hu.auto
133
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
111
B
-rw-r--r--
module.info.ja
0
B
-rw-r--r--
module.info.ja.auto
157
B
-rw-r--r--
module.info.ko
0
B
-rw-r--r--
module.info.ko.auto
132
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
116
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
113
B
-rw-r--r--
module.info.ms
98
B
-rw-r--r--
module.info.ms.auto
12
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
98
B
-rw-r--r--
module.info.nl
25
B
-rw-r--r--
module.info.nl.auto
79
B
-rw-r--r--
module.info.no
31
B
-rw-r--r--
module.info.no.auto
76
B
-rw-r--r--
module.info.pl
0
B
-rw-r--r--
module.info.pl.auto
101
B
-rw-r--r--
module.info.pt
0
B
-rw-r--r--
module.info.pt.auto
112
B
-rw-r--r--
module.info.pt_BR
0
B
-rw-r--r--
module.info.pt_BR.auto
121
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
105
B
-rw-r--r--
module.info.ru
25
B
-rw-r--r--
module.info.ru.auto
98
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
95
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
98
B
-rw-r--r--
module.info.sv
0
B
-rw-r--r--
module.info.sv.auto
96
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
221
B
-rw-r--r--
module.info.tr
0
B
-rw-r--r--
module.info.tr.auto
104
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
160
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
195
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
112
B
-rw-r--r--
module.info.zh
0
B
-rw-r--r--
module.info.zh.auto
106
B
-rw-r--r--
module.info.zh_TW
0
B
-rw-r--r--
module.info.zh_TW.auto
115
B
-rw-r--r--
move.cgi
565
B
-rwxr-xr-x
pap-lib.pl
5.91
KB
-rwxr-xr-x
save_dialin.cgi
1012
B
-rwxr-xr-x
save_mgetty.cgi
2.51
KB
-rwxr-xr-x
save_options.cgi
3.06
KB
-rwxr-xr-x
save_secret.cgi
1.46
KB
-rwxr-xr-x
save_sync.cgi
593
B
-rwxr-xr-x
secrets-lib.pl
1.64
KB
-rwxr-xr-x
useradmin_update.pl
1.44
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : pap-lib.pl
# pap-lib.pl # Functions for managing the mgetty configuration files BEGIN { push(@INC, ".."); }; use WebminCore; &init_config(); %access = &get_module_acl(); do 'secrets-lib.pl'; # mgetty_inittabs() # Returns a list of inittab entries for mgetty, with options parsed sub mgetty_inittabs { local @rv; foreach $i (&inittab::parse_inittab()) { if ($i->{'process'} =~ /^(\S*mgetty)\s*(.*)\s+((\/.*)?(tty|term|cua)\S+)(\s+(\S+))?$/) { $i->{'mgetty'} = $1; $i->{'args'} = $2; $i->{'tty'} = $3; $i->{'ttydefs'} = $7; if ($i->{'args'} =~ s/\s*-s\s+(\d+)//) { $i->{'speed'} = $1; } if ($i->{'args'} =~ s/\s*-r//) { $i->{'direct'} = 1; } if ($i->{'args'} =~ s/\s*-n\s+(\d+)//) { $i->{'rings'} = $1; } if ($i->{'args'} =~ s/\s*-D//) { $i->{'data'} = 1; } if ($i->{'args'} =~ s/\s*-F//) { $i->{'fax'} = 1; } if ($i->{'args'} =~ s/\s*-R\s+(\d+)//) { $i->{'back'} = $1; } if ($i->{'args'} =~ s/\s*-p\s+'([^']+)'// || $i->{'args'} =~ s/\s*-p\s+"([^"]+)"// || $i->{'args'} =~ s/\s*-p\s+(\S+)//) { $i->{'prompt'} = $1; } push(@rv, $i); } elsif ($i->{'process'} =~ /^(\S*vgetty)\s*(.*)\s+((\/.*)?tty\S+)/) { $i->{'vgetty'} = $1; $i->{'args'} = $2; $i->{'tty'} = $3; push(@rv, $i); } } return @rv; } # parse_ppp_options(file) sub parse_ppp_options { local @rv; local $lnum = 0; open(OPTS, "<".$_[0]); while(<OPTS>) { s/\r|\n//g; s/#.*$//g; if (/^([0-9\.]+):([0-9\.]+)/) { push(@rv, { 'local' => $1, 'remote' => $2, 'file' => $_[0], 'line' => $lnum, 'index' => scalar(@rv) }); } elsif (/^(\S+)\s*(.*)/) { push(@rv, { 'name' => $1, 'value' => $2, 'file' => $_[0], 'line' => $lnum, 'index' => scalar(@rv) }); } $lnum++; } close(OPTS); return @rv; } # find(name, &config) sub find { local @rv = grep { lc($_->{'name'}) eq lc($_[0]) } @{$_[1]}; return wantarray ? @rv : $rv[0]; } # save_ppp_option(&config, file, &old|name, &new) sub save_ppp_option { local $ol = ref($_[2]) || !defined($_[2]) ? $_[2] : &find($_[2], $_[0]); local $nw = $_[3]; local $lref = &read_file_lines($_[1]); local $line; if ($nw) { if ($nw->{'local'}) { $line = $nw->{'local'}.":".$nw->{'remote'}; } else { $line = $nw->{'name'}; $line .= " $nw->{'value'}" if ($nw->{'value'} ne ""); } } if ($ol && $nw) { $lref->[$ol->{'line'}] = $line; } elsif ($ol) { splice(@$lref, $ol->{'line'}, 1); local $c; foreach $c (@{$_[0]}) { $c->{'line'}-- if ($c->{'line'} > $ol->{'line'}); } } elsif ($nw) { push(@$lref, $line); } } # parse_login_config() # Parses the mgetty login options file into a list of users sub parse_login_config { local @rv; local $lnum = 0; open(LOGIN, "<".$config{'login_config'}); while(<LOGIN>) { s/\r|\n//g; s/#.*$//g; if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)/) { push(@rv, { 'user' => $1, 'userid' => $2, 'utmp' => $3, 'program' => $4, 'line' => $lnum }); } $lnum++; } close(LOGIN); return @rv; } # delete_login_config(&config, &login) sub delete_login_config { local $lref = &read_file_lines($config{'login_config'}); splice(@$lref, $_[1]->{'line'}, 1); } # create_login_config(&config, &login) sub create_login_config { local ($star) = grep { $_->{'user'} eq '*' } @{$_[0]}; local $line = join("\t", $_[1]->{'user'}, $_[1]->{'userid'}, $_[1]->{'utmp'}, $_[1]->{'program'}); local $lref = &read_file_lines($config{'login_config'}); if ($star) { splice(@$lref, $star->{'line'}, 0, $line); } else { push(@$lref, $line); } } # parse_dialin_config() # Parses the mgetty dialin file sub parse_dialin_config { local @rv; local $lnum = 0; open(DIALIN, "<".$config{'dialin_config'}); while(<DIALIN>) { s/\r|\n//g; s/#.*$//g; s/^\s+//; local $t; foreach $t (split(/[ \t,]+/, $_)) { local ($not) = ($t =~ s/^\!//); push(@rv, { 'number' => $t, 'not' => $not, 'index' => scalar(@rv), 'line' => $lnum }); } $lnum++; } close(DIALIN); return @rv; } # create_dialin(&dialin) sub create_dialin { &open_tempfile(DIALIN, ">>$config{'dialin_config'}"); &print_tempfile(DIALIN, &dialin_line($_[0])."\n"); &close_tempfile(DIALIN); } # delete_dialin(&dialin, &config) sub delete_dialin { local @same = grep { $_->{'line'} == $_[0]->{'line'} && $_ ne $_[0] } @{$_[1]}; if (@same) { &replace_file_line($config{'dialin_config'}, $_[0]->{'line'}, join(" ", map { &dialin_line($_) } @same)."\n"); } else { &replace_file_line($config{'dialin_config'}, $_[0]->{'line'}); } } # modify_dialin(&dialin, &config) sub modify_dialin { local @same = grep { $_->{'line'} == $_[0]->{'line'} } @{$_[1]}; &replace_file_line($config{'dialin_config'}, $_[0]->{'line'}, join(" ", map { &dialin_line($_) } @same)."\n"); } # swap_dialins(&dialin1, &dialin2, &config) sub swap_dialins { local $lref = &read_file_lines($config{'dialin_config'}); local @same1 = grep { $_->{'line'} == $_[0]->{'line'} } @{$_[2]}; local @same2 = grep { $_->{'line'} == $_[1]->{'line'} } @{$_[2]}; local $idx1 = &indexof($_[0], @same1); local $idx2 = &indexof($_[1], @same2); if ($_[0]->{'line'} == $_[1]->{'line'}) { ($same1[$idx1], $same1[$idx2]) = ($same1[$idx2], $same1[$idx1]); &replace_file_line($config{'dialin_config'}, $_[0]->{'line'}, join(" ", map { &dialin_line($_) } @same1)."\n"); } else { ($same1[$idx1], $same2[$idx2]) = ($same2[$idx2], $same1[$idx1]); &replace_file_line($config{'dialin_config'}, $_[0]->{'line'}, join(" ", map { &dialin_line($_) } @same1)."\n"); &replace_file_line($config{'dialin_config'}, $_[1]->{'line'}, join(" ", map { &dialin_line($_) } @same2)."\n"); } } # dialin_line(&dialin) sub dialin_line { return ($_[0]->{'not'} ? "!" : "").$_[0]->{'number'}; } # apply_mgetty() # Apply the current serial port and mgetty configuration, or return an # error message sub apply_mgetty { local %iconfig = &foreign_config("inittab"); local $out = &backquote_logged("$iconfig{'telinit'} q 2>&1 </dev/null"); if ($?) { return "<tt>$out</tt>"; } &kill_byname_logged("mgetty", 'TERM'); return undef; } 1;
Close