BACKD00R 1337
Server IP : 164.52.202.56  /  Your IP : 216.73.217.7
Web Server : Apache
System : Linux e2e-70-56.ssdcloudindia.net 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64
User : rubyaromatics ( 1052)
PHP Version : 7.2.34
Directory (0755) :  /scripts/

[  Home  ][  Terminal  ][  Upload File  ]

Current File : //scripts/simpleps
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/simpleps                        Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

## no critic qw(TestingAndDebugging::RequireUseStrict) -- not yet strict safe
## no critic qw(TestingAndDebugging::RequireUseWarnings) -- not yet warnings safe
package scripts::simpleps;

use Cpanel::Encoder::Tiny ();

exit( __PACKAGE__->script( \@ARGV ) ) if not caller();

sub script {
    my ( $pkg, $argv ) = @_;
    if ( defined $argv->[0] and $argv->[0] eq q{--html} ) {    # --html doesn't use a FORMAT; in this case get_ps just returns the output; so we print it
        print $pkg->get_ps($argv);
    }
    else {                                                     # writes a FORMAT directly to STDOUT in get_ps when not --html
        $pkg->get_ps();
    }
    return;
}

sub get_ps {
    my ( $pkg, $argv ) = @_;

    my $html   = 0;
    my $output = q{};
    if ( $argv->[0] =~ /html/i ) { $html = 1; }

    my ( $proc, $name, $exe, $cwd, $cmd );

    if ( !$html ) {
        print <<EOM;
Pid     Name            Exe                         Cwd
--------------------------------------------------------------------------------
EOM
        format STDOUT =
@<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<
$proc,  $name,          $exe,                       $cwd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	$cmd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 	$cmd
	^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	$cmd
--------------------------------------------------------------------------------
.
    }

    opendir my $PROC, "/proc";
    my @PIDS = readdir $PROC;
    closedir $PROC;

    foreach $proc (@PIDS) {
        if ( $proc =~ /^\d*$/ ) {
            my $ok = open my $PROCC, q{<}, "/proc/$proc/cmdline";
            chomp( $cmd = <$PROCC> );
            close $PROCC;
            $ok = open $PROCC, q{<}, "/proc/$proc/stat";
            my $procps = <$PROCC>;
            chomp $procps;
            close $PROCC;
            ( undef, $name, undef ) = split( /\s/, $procps );

            if ( -e "/proc/$proc/exe" ) {
                $exe = readlink("/proc/$proc/exe");
            }
            else {
                $exe = readlink("/proc/$proc/file");
            }
            $cwd = readlink("/proc/$proc/cwd");
            if ( !$html ) {
                write STDOUT;
            }
            else {
                $cmd =~ s/\0/ /g;
                $output .= "<tr><td>$proc</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($name) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($exe) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($cwd) . "</td><td>" . Cpanel::Encoder::Tiny::safe_html_encode_str($cmd) . "</td></tr>";
            }
        }
    }
    return $output;
}

1;

security is just an illusion