| Server IP : 217.160.0.95 / Your IP : 216.73.216.125 Web Server : Apache System : Linux infong-uk56 4.4.400-icpu-108 #2 SMP Wed Feb 11 11:51:01 UTC 2026 x86_64 User : u78863098 ( 10368940) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/lib/susshi/exec/ |
Upload File : |
#!/usr/bin/perl
use warnings;
use strict;
use lib '/usr/lib/susshi/exec';
use Susshi;
use Digest::SHA;
my $susshi = Susshi->new( -read_input => 1 );
my $docroot = $susshi->get_directory( 'docroot', -mandatory => 1, -must_exist => 1 );
my $filename = $susshi->{filename} // '';
$filename or error_die "Missing 'filename' value";
$filename =~ /^[-_a-zA-Z0-9.]+$/ or error_die "filename does not pass check: $filename";
$filename =~ /\.\./ and error_die "filename does not pass check: $filename";
my $target_file = "$docroot/wp-content/mu-plugins/$filename";
-e $target_file or error_die "File does not exist: $target_file";
-f $target_file or error_die "Not a regular file: $target_file";
-o $target_file or error_die "Owner of $target_file is not $<";
my $sha = Digest::SHA->new(256);
$sha->addfile($target_file);
my $checksum = $sha->hexdigest;
info("sha256 $target_file: $checksum");
send_json_output({ sha256 => $checksum });