shell bypass 403

GrazzMean Shell

: /proc/thread-self/root/bin/ [ dr-xr-xr-x ]
Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.143.17.11
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : yamlpp-parse-emit
#!/usr/bin/perl
use strict;
use warnings;

use YAML::PP;
use YAML::PP::Common qw/ YAML_FLOW_SEQUENCE_STYLE YAML_FLOW_MAPPING_STYLE /;
use YAML::PP::Parser;
use YAML::PP::Emitter;
use YAML::PP::Writer;
use Data::Dumper;
use Encode;
use Getopt::Long;
GetOptions(
    'help|h' => \my $help,
    'indent=i' => \my $indent,
    'module|M=s' => \my $module,
    'verbose' => \my $verbose,
    'flow=s' => \my $flow,
    'width=i' => \my $width,
) or usage(1);

usage(0) if $help;

$module ||= 'YAML::PP';

$flow ||= 'no';

my ($file) = @ARGV;
my $yaml;

if ($file) {
    open my $fh, '<', $file or die $!;
    $yaml = do { local $/; <$fh> };
    close $fh;
}
else {
    $yaml = do { local $/; <STDIN> };
}
$yaml = decode_utf8($yaml);

my @events;
my $parserclass = 'YAML::PP::Parser';
my $emitterclass = 'YAML::PP::Emitter';
if ($module eq 'YAML::PP::LibYAML') {
    eval { require YAML::PP::LibYAML } or die "Module $module not supported: $@";
    $parserclass = 'YAML::PP::LibYAML::Parser';
    $emitterclass = 'YAML::PP::LibYAML::Emitter';
}
my $parser = $parserclass->new(
    receiver => sub {
        my ($self, undef, $event) = @_;
        push @events, $event;
    },
);
eval {
    $parser->parse_string($yaml);
};
if ($@) {
    for (@events) {
        print YAML::PP::Common::event_to_test_suite($_) ."\n";
    }
    warn "Error parsing: $@";
    exit 1;
}
my $writer = YAML::PP::Writer->new;
my $emitter = $emitterclass->new( indent => $indent, width => $width );
$emitter->set_writer($writer);
for my $event (@events) {
    my $type = $event->{name};
    my $str = YAML::PP::Common::event_to_test_suite($event);
    print "$str\n" if $verbose;
    if ($type eq 'sequence_start_event' or $type eq 'mapping_start_event') {
        if ($flow eq 'no') {
            delete $event->{style};
        }
        elsif ($flow eq 'yes') {
            if ($type eq 'sequence_start_event') {
                $event->{style} = YAML_FLOW_SEQUENCE_STYLE;
            }
            else {
                $event->{style} = YAML_FLOW_MAPPING_STYLE;
            }
        }
    }
    $emitter->$type($event);
}
my $out_yaml = $emitter->writer->output;
print encode_utf8 $out_yaml;

sub usage {
    my ($rc) = @_;
    print <<"EOM";
Usage:

    $0 [options] < file
    $0 [options] file

Options:
    --indent=             Number of spaces for indentation
    --width=              Maximum column width (only used in flow style for now)
    --module, -M          YAML::PP or YAML::PP::LibYAML
    --flow                'no' (default, always output block style), 'yes'
                          (always output flow style), 'keep' (output flow
                          style like in the original input)
EOM
    exit $rc;
}
© 2025 GrazzMean