HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //usr/libexec/selinux/remove-leaf-dirs
#!/usr/bin/perl
use strict;

# Takes directories on stdin and puts a list on stdout where any directory
# that has another directory as it's stem is removed
# so if you have /a/b and /a/b/c then /a/b/c is removed

my @arr;

while(<STDIN>)
{
  chomp;
  push(@arr, $_);
}
my @sorted = sort { length($a) <=> length($b) } @arr;

for(my $i = 0; $i < $#sorted; $i++)
{
  print "$sorted[$i]\n";
  for(my $j = $i + 1; $j <= $#sorted; $j++)
  {
    if($sorted[$i] . "/" eq substr($sorted[$j], 0, length($sorted[$i])+1))
    {
      splice(@sorted, $j, 1);
      $j--;
    }
  }
}
print "$sorted[$#sorted]\n";