shell bypass 403

UnknownSec Shell

: /bin/ [ dr-xr-xr-x ]

name : lwp-dump
#!/usr/bin/perl

use strict;
use warnings;
use LWP::UserAgent ();
use Getopt::Long qw(GetOptions);
use Encode;
use Encode::Locale;

GetOptions(\my %opt, 'parse-head', 'max-length=n', 'keep-client-headers',
    'method=s', 'agent=s', 'request',)
    || usage();

my $url = shift || usage();
@ARGV && usage();

sub usage {
    (my $progname = $0) =~ s,.*/,,;
    die <<"EOT";
Usage: $progname [options] <url>

Recognized options are:
   --agent <str>
   --keep-client-headers
   --max-length <n>
   --method <str>
   --parse-head
   --request

EOT
}

my $ua = LWP::UserAgent->new(
    parse_head => $opt{'parse-head'} || 0,
    keep_alive => 1,
    env_proxy  => 1,
    agent      => $opt{agent}        || "lwp-dump/$LWP::UserAgent::VERSION ",
);

my $req = HTTP::Request->new($opt{method} || 'GET' => decode(locale => $url));
my $res = $ua->simple_request($req);
$res->remove_header(grep /^Client-/, $res->header_field_names)
    unless $opt{'keep-client-headers'}
    or ($res->header("Client-Warning") || "") eq "Internal response";

if ($opt{request}) {
    $res->request->dump;
    print "\n";
}

$res->dump(maxlength => $opt{'max-length'});

__END__

=head1 NAME

lwp-dump - See what headers and content is returned for a URL

=head1 SYNOPSIS

B<lwp-dump> [ I<options> ] I<URL>

=head1 DESCRIPTION

The B<lwp-dump> program will get the resource identified by the URL and then
dump the response object to STDOUT.  This will display the headers returned and
the initial part of the content, escaped so that it's safe to display even
binary content.  The escapes syntax used is the same as for Perl's double
quoted strings.  If there is no content the string "(no content)" is shown in
its place.

The following options are recognized:

=over

=item B<--agent> I<string>

Override the user agent string passed to the server.

=item B<--keep-client-headers>

LWP internally generate various C<Client-*> headers that are stripped by
B<lwp-dump> in order to show the headers exactly as the server provided them.
This option will suppress this.

=item B<--max-length> I<n>

How much of the content to show.  The default is 512.  Set this
to 0 for unlimited.

If the content is longer then the string is chopped at the
limit and the string "...\n(### more bytes not shown)"
appended.

=item B<--method> I<string>

Use the given method for the request instead of the default "GET".

=item B<--parse-head>

By default B<lwp-dump> will not try to initialize headers by looking at the
head section of HTML documents.  This option enables this.  This corresponds to
L<LWP::UserAgent/"parse_head">.

=item B<--request>

Also dump the request sent.

=back

=head1 SEE ALSO

L<lwp-request>, L<LWP>, L<HTTP::Message/"dump">

© 2025 UnknownSec
Courses | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Courses

17 Courses
Course
Full Stack Web Development

Full Stack Web Development

in Web Development
83:20 Hours
10 Oct 2024
₹28,318.82
Course
Installment and Secure Host

Installment and Secure Host

in Business Strategy
5.00
1:30 Hours
16 Mar 2023
₹118
Course
New Update Features

New Update Features

in Language
4.00
1:30 Hours
21 Jun 2022
Free
Not conducted
Bestseller
New In-App Live System

New In-App Live System

in Communications
5.00
2:30 Hours
1 Mar 2026
₹11.80
Featured
New Learning Page

New Learning Page

in Lifestyle
5.00
3:30 Hours
1 Mar 2022
Free
Finished
How to Travel Around the World

How to Travel Around the World

in Lifestyle
5.00
2:30 Hours
2 Mar 2022
₹29.50

Type

More options