[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.144.28.90: ~ $
#!/usr/bin/perl
# stdio_bulk.pl - 8.6.1998, Sampo Kellomaki <sampo@iki.fi>
# Send tons of stuff over SSL connected by STDIO pipe.
# This also demonstrates how you can communicate via arbitrary stream, not
# just a TCP one.
# $Id: stdio_bulk.pl,v 1.3 2003/06/13 21:14:41 sampo Exp $

use Socket;
use Net::SSLeay qw(die_now die_if_ssl_error);
$ENV{RND_SEED} = '1234567890123456789012345678901234567890';
Net::SSLeay::randomize();
Net::SSLeay::load_error_strings();
Net::SSLeay::SSLeay_add_ssl_algorithms();
#$Net::SSLeay::trace = 2;

($cert_pem, $key_pem, $how_much) = @ARGV;      # Read command line

$ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!");
Net::SSLeay::set_server_cert_and_key($ctx, $cert_pem, $key_pem) or die "key";

pipe RS, WC or die "pipe 1 ($!)";
pipe RC, WS or die "pipe 2 ($!)";
select WC; $| = 1;
select WS; $| = 1;
select STDOUT;
$| = 1;

if ($child_pid = fork) {
    print "$$: I'm the server for child $child_pid\n";
    $ssl = Net::SSLeay::new($ctx)     or die_now "$$: new ($ssl) ($!)";
    
    Net::SSLeay::set_rfd($ssl, fileno(RS));
    Net::SSLeay::set_wfd($ssl, fileno(WS));
    
    Net::SSLeay::accept($ssl) and die_if_ssl_error("$$: ssl accept: $!");
    print "$$: Cipher `" . Net::SSLeay::get_cipher($ssl) . "'\n";
    #print "$$: " . Net::SSLeay::dump_peer_certificate($ssl);
    
    $got = Net::SSLeay::ssl_read_all($ssl,$how_much)
	or die "$$: ssl read failed";
    print "$$: got " . length($got) . " bytes\n";
    Net::SSLeay::ssl_write_all($ssl, \$got) or die "$$: ssl write failed";
    $got = '';
    
    Net::SSLeay::free ($ssl);               # Tear down connection
    Net::SSLeay::CTX_free ($ctx);

    wait;  # wait for child to read the stuff

    close WS;
    close RS;
    print "$$: server done ($?).\n"
	. (($? >> 8) ? "ERROR\n" : "OK\n"); 
    exit;
}

print "$$: I'm the child.\n";
sleep 1;  # Give server time to get its act together

$ssl = Net::SSLeay::new($ctx) or die_now("Failed to create SSL $!");
Net::SSLeay::set_rfd($ssl, fileno(RC));
Net::SSLeay::set_wfd($ssl, fileno(WC));
Net::SSLeay::connect($ssl);
die_if_ssl_error("ssl connect");

print "$$: Cipher `" . Net::SSLeay::get_cipher($ssl) . "'\n";
print "$$: " . Net::SSLeay::dump_peer_certificate($ssl);

# Exchange data

$data = 'B' x $how_much;
Net::SSLeay::ssl_write_all($ssl, \$data) or die "$$: ssl write failed";
$got = Net::SSLeay::ssl_read_all($ssl, $how_much)
    or die "$$: ssl read failed";

Net::SSLeay::free ($ssl);               # Tear down connection
Net::SSLeay::CTX_free ($ctx);
close WC;
close RC;
exit ($data ne $got);

__END__

Filemanager

Name Type Size Permission Actions
bio.pl File 1.18 KB 0644
bulk.pl File 1.91 KB 0644
callback.pl File 3.12 KB 0644
cb-testi.pl File 548 B 0644
cli-cert.pl File 3.72 KB 0644
ephemeral.pl File 553 B 0644
get_authenticated_page.pl File 730 B 0644
get_page.pl File 507 B 0644
get_page_cert.pl File 966 B 0644
https-proxy-snif.pl File 4.44 KB 0644
makecert.pl File 1.5 KB 0644
minicli.pl File 1.31 KB 0644
passwd-cb.pl File 809 B 0644
req.conf File 1.2 KB 0644
server_key.pem File 963 B 0644
ssl-inetd-serv.pl File 1.6 KB 0644
ssl_diff.pl File 631 B 0644
sslcat.pl File 526 B 0644
sslecho.pl File 3.07 KB 0644
stdio_bulk.pl File 2.53 KB 0644
tcpcat.pl File 422 B 0644
tcpecho.pl File 1.77 KB 0644
x509_cert_details.pl File 9.88 KB 0644